BerriAI/litellm · error · HTTPException
Key requests MCP toolsets not allowed by team '{team_obj.tea
Error message
Key requests MCP toolsets not allowed by team '{team_obj.team_id}': {sorted(disallowed_toolsets)}. Team allows: {sorted(team_mcp_toolsets)}. What it means
HTTPException(403) from _validate_requested_toolsets: the key request asks for MCP toolsets beyond the team's own allowlist (a non-empty team mcp_toolsets list). The message names the offending toolsets and the team's allowed set so the caller can correct the request.
Source
Thrown at litellm/proxy/management_helpers/object_permission_utils.py:684
return
raise HTTPException(
status_code=status.HTTP_403_FORBIDDEN,
detail={
"error": (
"Key is not in a team. MCP toolsets cannot be assigned to "
"personal keys by non-admin callers. Disallowed toolsets: "
f"{sorted(requested_toolsets)}."
)
},
)
team_op: Final = team_obj.object_permission
team_mcp_toolsets: Final = team_op.mcp_toolsets if team_op is not None else None
if not team_mcp_toolsets:
return
disallowed_toolsets: Final = requested_toolsets - set(team_mcp_toolsets)
if not disallowed_toolsets:
return
raise HTTPException(
status_code=status.HTTP_403_FORBIDDEN,
detail={
"error": (
f"Key requests MCP toolsets not allowed by team '{team_obj.team_id}': "
f"{sorted(disallowed_toolsets)}. "
f"Team allows: {sorted(team_mcp_toolsets)}."
)
},
)
def _extract_requested_vector_stores(
object_permission: ObjectPermissionDict | None,
) -> set[str]:
"""Return vector_store IDs from a key's object_permission dict."""
if not object_permission or not isinstance(object_permission, dict):
return set()
raw: Final = object_permission.get("vector_stores")View on GitHub (pinned to 77b7c6c40c)
Solutions
- Remove the disallowed MCP toolsets from the key request, or ask an admin to allow them for the team.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at litellm/proxy/management_helpers/object_permission_utils.py:684 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/d755a80b31643003.
Report an issue: GitHub.