web package

This commit is contained in:
John Lancaster
2026-06-18 21:15:54 -05:00
parent 4b1a261b2d
commit b6010775ad
11 changed files with 277 additions and 28 deletions
+36
View File
@@ -0,0 +1,36 @@
from fastapi import FastAPI
from personal_mcp.mcp import mcp
from personal_mcp.web.config import Settings, get_settings
from personal_mcp.web.docs_mount import mount_docs_static
from personal_mcp.web.health import router as health_router
def create_app(settings: Settings | None = None) -> FastAPI:
runtime_settings = settings or get_settings()
mcp_app = mcp.http_app(
path=runtime_settings.mcp_route,
json_response=True,
stateless_http=True,
transport="http",
)
app = FastAPI(
debug=runtime_settings.debug,
docs_url=None,
redoc_url=None,
openapi_url=None,
lifespan=mcp_app.lifespan,
)
app.state.settings = runtime_settings
app.include_router(health_router)
mount_docs_static(
app,
docs_route=runtime_settings.docs_route,
site_dir=runtime_settings.site_dir,
)
app.mount("/", mcp_app, name="mcp")
return app
app = create_app()