{"record":{"id":"e59727c323334659","repo":"BerriAI/litellm","slug":"mcp-server-endpoint-label-is-not-configured-end","errorCode":null,"errorMessage":"MCP server {endpoint_label} is not configured. Endpoint discovery anchored on the configured Issuer (RFC 8414) failed or its metadata did not include this endpoint; check the proxy logs for 'MCP OAuth' warnings from server load, verify the Issuer, or {manual_remedy}.","messagePattern":"MCP server (.+?) is not configured\\. Endpoint discovery anchored on the configured Issuer \\(RFC 8414\\) failed or its metadata did not include this endpoint; check the proxy logs for 'MCP OAuth' warnings from server load, verify the Issuer, or (.+?)\\.","errorType":"http","errorClass":"HTTPException","httpStatus":400,"severity":"error","filePath":"litellm/proxy/_experimental/mcp_server/discoverable_endpoints.py","lineNumber":759,"sourceCode":"    merged_params: Final = {**dict(parse_qsl(parsed_auth_url.query)), **passthrough_params}\n    return RedirectResponse(urlunparse(parsed_auth_url._replace(query=urlencode(merged_params))))\n\n\nasync def authorize_with_server(\n    request: Request,\n    mcp_server: MCPServer,\n    client_id: str,\n    redirect_uri: str,\n    state: str = \"\",\n    code_challenge: str | None = None,\n    code_challenge_method: str | None = None,\n    response_type: str | None = None,\n    scope: str | None = None,\n    ephemeral_dcr_client: \"EphemeralDcrClient | None\" = None,\n):\n    _raise_if_not_oauth2(mcp_server)\n    if mcp_server.authorization_url is None:\n        raise HTTPException(\n            status_code=400,\n            detail=_endpoint_not_configured_detail(\n                mcp_server,\n                \"authorization url\",\n                \"set Authorization URL and Token URL manually\",\n                \"set Issuer to discover them from the identity provider (RFC 8414)\",\n            ),\n        )\n\n    if mcp_server.is_dcr_bridge:\n        # Enforce S256 PKCE on both bridge arms. The relay arm forwards the validated,\n        # now-non-optional pair to the upstream authorize; the short-circuit arm keeps\n        # calling this for its enforcement side effect, then falls through to the gateway\n        # /callback flow below, which reads the original code_challenge names.\n        bridge_challenge, bridge_method = _require_s256_pkce(code_challenge, code_challenge_method)\n        # A gateway-minted ephemeral client is registered against {base}/callback, so its\n        # flow must run the short-circuit arm; the relay arm is only for clients that\n        # registered themselves through the front door and hold their own redirect binding.","sourceCodeStart":741,"sourceCodeEnd":777,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/_experimental/mcp_server/discoverable_endpoints.py#L741-L777","documentation":"Error \"MCP server {endpoint_label} is not configured. Endpoint discovery anchored on the configured Issuer (RFC 8414) failed or its metadata did not include this endpoint; check the proxy logs for 'MCP OAuth' warnings from server load, verify the Issuer, or {manual_remedy}.\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/_experimental/mcp_server/discoverable_endpoints.py:759 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check proxy logs for 'MCP OAuth' warnings from server load.","Verify the configured Issuer; or set the endpoint manually as the message's manual_remedy suggests."],"exampleFix":"Set Authorization URL and Token URL manually in server config.","handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}