BerriAI/litellm · error · ValueError

Invalid config for MCP server '{server_name or server_id}':

Error message

Invalid config for MCP server '{server_name or server_id}': dcr_bridge is only supported for auth_type true_passthrough or oauth_delegate (got {auth_type!r}). The DCR bridge serves gateway-hosted OAuth discovery for the client-forwarded token modes; interactive oauth2 servers already run the gateway authorization-code flow.

What it means

Error "Invalid config for MCP server '{server_name or server_id}': dcr_bridge is only supported for auth_type true_passthrough or oauth_delegate (got {auth_type!r}). The DCR bridge serves gateway-hosted OAuth discovery for the client-forwarded token modes; interactive oauth2 servers already run the gateway authorization-code flow." thrown in BerriAI/litellm.

Source

Thrown at litellm/proxy/_experimental/mcp_server/mcp_server_manager.py:1724

                    f"Invalid config for MCP server '{server_name or server_id}': auth_type oauth2 "
                    f"requires an explicit oauth2_flow (got {config_oauth2_flow!r}). Set "
                    "oauth2_flow: client_credentials for machine-to-machine servers (the proxy mints "
                    "a shared token at token_url using client_id/client_secret, no user interaction) "
                    "or oauth2_flow: authorization_code for interactive servers (per-user tokens via "
                    "browser sign-in, including delegate_auth_to_upstream)."
                )

            config_dcr_bridge = server_config.get("dcr_bridge", None)
            if config_dcr_bridge is not None and not isinstance(config_dcr_bridge, bool):
                raise ValueError(
                    f"Invalid config for MCP server '{server_name or server_id}': dcr_bridge "
                    f"must be a boolean (got {config_dcr_bridge!r})."
                )
            if config_dcr_bridge and auth_type not in (
                MCPAuth.true_passthrough,
                MCPAuth.oauth_delegate,
            ):
                raise ValueError(
                    f"Invalid config for MCP server '{server_name or server_id}': dcr_bridge is only "
                    f"supported for auth_type true_passthrough or oauth_delegate (got {auth_type!r}). "
                    "The DCR bridge serves gateway-hosted OAuth discovery for the client-forwarded "
                    "token modes; interactive oauth2 servers already run the gateway "
                    "authorization-code flow."
                )

            _warn_oauth_endpoints_unresolved(
                server_ref=server_name or server_id,
                server_url=server_url,
                discovery_attempted=should_discover,
                issuer_anchored=use_issuer_anchor,
                metadata=gated_oauth_metadata,
                needs_authorization_url=needs_authorization_url,
                needs_token_url=needs_token_url,
                manual_authorization_url=manual_authorization_url,
                manual_token_url=manual_token_url,
            )

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Only use dcr_bridge with auth_type true_passthrough or oauth_delegate; remove it for other auth types.

Example fix

Remove dcr_bridge or change auth_type to true_passthrough.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/proxy/_experimental/mcp_server/mcp_server_manager.py:1724 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/63e950ddcdb151ab. Report an issue: GitHub.