{"record":{"id":"0d9a1ec3bc1d5459","repo":"BerriAI/litellm","slug":"key-requests-mcp-servers-not-allowed-by-team-tea","errorCode":null,"errorMessage":"Key requests MCP servers not allowed by team '{team_id}': {sorted(disallowed_servers)}. Team allows: {sorted(team_allowed_servers)}. Global (allow_all_keys) servers: {sorted(allow_all_keys_servers)}.","messagePattern":"Key requests MCP servers not allowed by team '(.+?)': (.+?)\\. Team allows: (.+?)\\. Global \\(allow_all_keys\\) servers: (.+?)\\.","errorType":"http","errorClass":"HTTPException","httpStatus":403,"severity":"error","filePath":"litellm/proxy/management_helpers/object_permission_utils.py","lineNumber":604,"sourceCode":"            allowed_servers = all_allowed_servers | active_requested_servers\n\n        disallowed_servers: Final = active_requested_servers - allowed_servers\n        if disallowed_servers:\n            if team_obj is not None:\n                team_id = team_obj.team_id\n                detail = (\n                    f\"Key requests MCP servers not allowed by team '{team_id}': \"\n                    f\"{sorted(disallowed_servers)}. \"\n                    f\"Team allows: {sorted(team_allowed_servers)}. \"\n                    f\"Global (allow_all_keys) servers: {sorted(allow_all_keys_servers)}.\"\n                )\n            else:\n                detail = (\n                    f\"Key is not in a team. Only globally available (allow_all_keys) MCP servers \"\n                    f\"can be assigned: {sorted(allow_all_keys_servers)}. \"\n                    f\"Disallowed servers: {sorted(disallowed_servers)}.\"\n                )\n            raise HTTPException(\n                status_code=status.HTTP_403_FORBIDDEN,\n                detail={\"error\": detail},\n            )\n\n    # Validate requested access groups (must be subset of team's access groups)\n    if requested_access_groups:\n        team_access_groups: set[str] = set()\n        if (\n            team_obj is not None\n            and team_obj.object_permission is not None\n            and team_obj.object_permission.mcp_access_groups\n        ):\n            team_access_groups = set(team_obj.object_permission.mcp_access_groups)\n\n        allowed_access_groups = team_access_groups\n        if teamless_admin_assignment:\n            allowed_access_groups = team_access_groups | requested_access_groups\n","sourceCodeStart":586,"sourceCodeEnd":622,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/management_helpers/object_permission_utils.py#L586-L622","documentation":"Error \"Key requests MCP servers not allowed by team '{team_id}': {sorted(disallowed_servers)}. Team allows: {sorted(team_allowed_servers)}. Global (allow_all_keys) servers: {sorted(allow_all_keys_servers)}.\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/management_helpers/object_permission_utils.py:604 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove the disallowed MCP servers listed in the error from the key request, or ask an admin to allow them for the team."],"exampleFix":null,"handlingStrategy":null,"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-14T05:17:10.506Z"}