From 13d33996df085f624961467200a56593ad65f40b Mon Sep 17 00:00:00 2001 From: Jeremiah Lowin <153965+jlowin@users.noreply.github.com> Date: Wed, 7 May 2025 09:14:56 -0400 Subject: [PATCH] always apply request context middleware --- src/fastmcp/server/server.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fastmcp/server/server.py b/src/fastmcp/server/server.py index 2c09da879..29556f29a 100644 --- a/src/fastmcp/server/server.py +++ b/src/fastmcp/server/server.py @@ -728,7 +728,7 @@ class FastMCP(Generic[LifespanResultT]): # timeout to make it possible to close immediately. see # https://github.com/jlowin/fastmcp/issues/296 uvicorn_config.setdefault("timeout_graceful_shutdown", 0) - app = RequestContextMiddleware(self.sse_app()) + app = self.sse_app() config = uvicorn.Config( app, @@ -837,6 +837,8 @@ class FastMCP(Generic[LifespanResultT]): # mount these routes last, so they have the lowest route matching precedence routes.extend(self._custom_starlette_routes) + middleware.append(Middleware(RequestContextMiddleware)) + # Create Starlette app with routes and middleware return Starlette( debug=self.settings.debug, routes=routes, middleware=middleware