{"record":{"id":"1c6329bea141f515","repo":"BerriAI/litellm","slug":"error-registering-mcp-server-e","errorCode":null,"errorMessage":"Error registering mcp server: {e}","messagePattern":"Error registering mcp server: (.+?)","errorType":"http","errorClass":"HTTPException","httpStatus":500,"severity":"error","filePath":"litellm/proxy/management_endpoints/mcp_management_endpoints.py","lineNumber":1288,"sourceCode":"        prisma_client: Final = get_prisma_client_or_throw(\"Database not connected. Connect a database to your proxy\")\n\n        validate_and_normalize_mcp_server_payload(payload)\n        stamp_omitted_oauth2_flow(payload)\n        _validate_mcp_required_fields(payload)\n\n        payload.approval_status = MCPApprovalStatus.pending_review\n        payload.submitted_by = user_api_key_dict.user_id\n        payload.submitted_at = datetime.now(timezone.utc)\n\n        try:\n            new_mcp_server: Final = await create_mcp_server(\n                prisma_client,\n                payload,\n                touched_by=user_api_key_dict.user_id or user_api_key_dict.team_id,\n            )\n        except Exception as e:\n            verbose_proxy_logger.exception(\"Error registering mcp server: %s\", e)\n            raise HTTPException(\n                status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,\n                detail={\"error\": f\"Error registering mcp server: {e}\"},\n            )\n        # Do NOT add to runtime registry — pending servers are not active\n        return _redact_mcp_credentials(new_mcp_server)\n\n    @router.get(\n        \"/server/submissions\",\n        description=\"Returns all MCP servers submitted by non-admin users (admin review queue). Mirrors GET /guardrails/submissions.\",\n        dependencies=[Depends(user_api_key_auth)],\n        response_model=MCPSubmissionsSummary,\n    )\n    @management_endpoint_wrapper\n    async def get_mcp_server_submissions(\n        user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth),\n    ):\n        \"\"\"\n        Admin-only endpoint to view all user-submitted MCP servers pending review.","sourceCodeStart":1270,"sourceCodeEnd":1306,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/management_endpoints/mcp_management_endpoints.py#L1270-L1306","documentation":"Catch-all wrapper around the create_mcp_server persistence step in the registration workflow. After payload validation and approval_status stamping succeed, any unexpected exception from the DB write is logged and re-raised as this 500, so the original cause must be read from server logs.","triggerScenarios":"Thrown at litellm/proxy/management_endpoints/mcp_management_endpoints.py:1288 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Read the underlying error in the message and fix the indicated configuration problem.","Check proxy logs for the full stack trace, then retry registration."],"exampleFix":null,"handlingStrategy":"try-catch","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"}