From e43ab2b2c3a08a4bcd915658a33ee7210d91fb60 Mon Sep 17 00:00:00 2001 From: Stephen Nolan Date: Tue, 20 May 2025 03:24:06 -0500 Subject: [PATCH 1/2] Add support for user_access_token to set Authorization header --- fastapi_mcp/server.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fastapi_mcp/server.py b/fastapi_mcp/server.py index f5c4fc6..f445a3e 100644 --- a/fastapi_mcp/server.py +++ b/fastapi_mcp/server.py @@ -413,6 +413,13 @@ async def _execute_api_tool( elif "authorization" in http_request_info.headers: headers["Authorization"] = http_request_info.headers["authorization"] + # NEW: Check arguments for a user_access_token if Authorization header is still missing + if "Authorization" not in headers and arguments and "user_access_token" in arguments: + token = arguments.pop("user_access_token", None) # Remove it from arguments so it doesn't become body + if token: + headers["Authorization"] = f"Bearer {token}" + logger.debug("Set Authorization header from 'user_access_token' in tool arguments.") + body = arguments if arguments else None try: From fad230165f0b2114ad31a02c7dced8d457fc5256 Mon Sep 17 00:00:00 2001 From: Stephen Nolan Date: Tue, 20 May 2025 03:58:16 -0500 Subject: [PATCH 2/2] Log tool call requests in FastApiMCP for better traceability --- fastapi_mcp/server.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fastapi_mcp/server.py b/fastapi_mcp/server.py index f445a3e..2cb1125 100644 --- a/fastapi_mcp/server.py +++ b/fastapi_mcp/server.py @@ -375,6 +375,8 @@ async def _execute_api_tool( Returns: The result as MCP content types """ + logger.debug(f"FastAPI-MCP: Received call_tool request. Tool: {tool_name}, Arguments: {json.dumps(arguments)}") + if tool_name not in operation_map: raise Exception(f"Unknown tool: {tool_name}")