diff --git a/litellm/proxy/_experimental/mcp_server/rest_endpoints.py b/litellm/proxy/_experimental/mcp_server/rest_endpoints.py index 5faa0104ac1..ef01f027d6f 100644 --- a/litellm/proxy/_experimental/mcp_server/rest_endpoints.py +++ b/litellm/proxy/_experimental/mcp_server/rest_endpoints.py @@ -910,6 +910,10 @@ if MCP_AVAILABLE: else None ) ) + # client_credentials requires token_url to fetch a token; without it the + # incoming auth header would be dropped with nothing to replace it. + if _oauth2_flow == "client_credentials" and not request.token_url: + _oauth2_flow = None server_model = MCPServer( server_id=request.server_id or "",