From ed0931de8e9dc8fbbe7431dc604b592e4656a099 Mon Sep 17 00:00:00 2001 From: akkuman <1075768094@qq.com> Date: Mon, 15 Sep 2025 02:51:57 +0800 Subject: [PATCH] feat: Move the Starlette context middleware to the front (#1812) --- src/fastmcp/server/http.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/fastmcp/server/http.py b/src/fastmcp/server/http.py index 72d64a93e..a842f0248 100644 --- a/src/fastmcp/server/http.py +++ b/src/fastmcp/server/http.py @@ -3,7 +3,7 @@ from __future__ import annotations from collections.abc import AsyncGenerator, Callable, Generator from contextlib import asynccontextmanager, contextmanager from contextvars import ContextVar -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, Union from mcp.server.auth.middleware.bearer_auth import RequireAuthMiddleware from mcp.server.lowlevel.server import LifespanResultT @@ -113,7 +113,7 @@ def create_base_app( A Starlette application """ # Always add RequestContextMiddleware as the outermost middleware - middleware.append(Middleware(RequestContextMiddleware)) + middleware.insert(0, Middleware(RequestContextMiddleware)) return StarletteWithLifespan( routes=routes,