diff --git a/litellm/proxy/_experimental/mcp_server/rest_endpoints.py b/litellm/proxy/_experimental/mcp_server/rest_endpoints.py index aed81afd254..f7745e63f2e 100644 --- a/litellm/proxy/_experimental/mcp_server/rest_endpoints.py +++ b/litellm/proxy/_experimental/mcp_server/rest_endpoints.py @@ -49,7 +49,7 @@ if MCP_AVAILABLE: mcp_server_auth_headers: Optional[Dict[str, Dict[str, str]]], mcp_auth_header: Optional[str], ) -> Optional[Union[Dict[str, str], str]]: - """Helper function to get server-specific auth header with case-insensitive matching.""" + """Auth from request headers first; otherwise use stored credentials""" if mcp_server_auth_headers and server.alias: normalized_server_alias = server.alias.lower() normalized_headers = { @@ -66,7 +66,9 @@ if MCP_AVAILABLE: server_auth = normalized_headers.get(normalized_server_name) if server_auth is not None: return server_auth - return mcp_auth_header + if mcp_auth_header: + return mcp_auth_header + return server.authentication_token def _create_tool_response_objects(tools, server_mcp_info): """Helper function to create tool response objects.""" diff --git a/tests/test_litellm/proxy/_experimental/mcp_server/test_rest_endpoints.py b/tests/test_litellm/proxy/_experimental/mcp_server/test_rest_endpoints.py index 4f93270c162..b4a9d2d57d6 100644 --- a/tests/test_litellm/proxy/_experimental/mcp_server/test_rest_endpoints.py +++ b/tests/test_litellm/proxy/_experimental/mcp_server/test_rest_endpoints.py @@ -478,6 +478,7 @@ class TestListToolsRestAPI: allowed_tools = None mcp_info = {"server_name": "stub"} available_on_public_internet = True + authentication_token = None stub_server = StubServer() @@ -596,6 +597,7 @@ class TestCallToolRestAPI: allowed_tools = None mcp_info = {"server_name": "stub"} available_on_public_internet = True + authentication_token = None stub_server = StubServer()