from __future__ import annotations from contextlib import asynccontextmanager from starlette.applications import Starlette from starlette.routing import Mount from app.mcp import mcp @asynccontextmanager async def lifespan(_: Starlette): async with mcp.session_manager.run(): yield app = Starlette( routes=[ Mount("/mcp", app=mcp.streamable_http_app()), ], lifespan=lifespan, )