From e56ae4604b754ad2c3179f60422204dc80464838 Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 1 Jul 2026 04:29:36 +0000 Subject: [PATCH] fix: add logging for silent None fallback, deduplicate return block Address Greptile review feedback: - Log when upstream returns None (non-2xx) without exception - Remove duplicated fallback return block by letting delegate-auth path fall through to the shared return statement Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../mcp_server/discoverable_endpoints.py | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/litellm/proxy/_experimental/mcp_server/discoverable_endpoints.py b/litellm/proxy/_experimental/mcp_server/discoverable_endpoints.py index 8c2ce9916c6..521a2f65ee6 100644 --- a/litellm/proxy/_experimental/mcp_server/discoverable_endpoints.py +++ b/litellm/proxy/_experimental/mcp_server/discoverable_endpoints.py @@ -1085,18 +1085,18 @@ async def _build_oauth_protected_resource_response( "unavailable, falling back to gateway-served AS metadata", mcp_server.name, ) - return { - "authorization_servers": [ - (f"{request_base_url}/{mcp_server_name}" if mcp_server_name else f"{request_base_url}") - ], - "resource": resource_url, - "scopes_supported": (mcp_server.scopes if mcp_server and mcp_server.scopes else []), - } + elif upstream_metadata is None: + verbose_logger.info( + "delegate-auth MCP server %r: upstream returned no resource " + "metadata (non-2xx or non-dict), falling back to gateway AS", + mcp_server.name, + ) + authorization_servers = [ + (f"{request_base_url}/{mcp_server_name}" if mcp_server_name else f"{request_base_url}") + ] return { - "authorization_servers": [ - (f"{request_base_url}/{mcp_server_name}" if mcp_server_name else f"{request_base_url}") - ], + "authorization_servers": authorization_servers, "resource": resource_url, "scopes_supported": (mcp_server.scopes if mcp_server and mcp_server.scopes else []), }