BerriAI/litellm · error · HTTPException
stdio MCP servers cannot be submitted via the user registrat
Error message
stdio MCP servers cannot be submitted via the user registration workflow. Ask a proxy admin to add this server via POST /v1/mcp/server or to declare it in config.yaml.
What it means
Error "stdio MCP servers cannot be submitted via the user registration workflow. Ask a proxy admin to add this server via POST /v1/mcp/server or to declare it in config.yaml." thrown in BerriAI/litellm.
Source
Thrown at litellm/proxy/management_endpoints/mcp_management_endpoints.py:1258
status_code=status.HTTP_403_FORBIDDEN,
detail={
"error": "PROXY_ADMIN users should use POST /v1/mcp/server to create servers directly instead of the submission workflow."
},
)
if not user_api_key_dict.team_id:
raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST,
detail={"error": "Registration requires an API key associated with a team. Use a team-scoped key."},
)
# stdio servers spawn a local subprocess on the proxy host with the
# configured command + args, so accepting them from non-admin callers
# would let a team member propose a server config that an admin could
# rubber-stamp into local code execution. Restrict stdio submission to
# the admin POST /v1/mcp/server path or to config.yaml.
if payload.transport == MCPTransport.stdio:
raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST,
detail={
"error": (
"stdio MCP servers cannot be submitted via the user "
"registration workflow. Ask a proxy admin to add this "
"server via POST /v1/mcp/server or to declare it in "
"config.yaml."
)
},
)
prisma_client: Final = get_prisma_client_or_throw("Database not connected. Connect a database to your proxy")
validate_and_normalize_mcp_server_payload(payload)
stamp_omitted_oauth2_flow(payload)
_validate_mcp_required_fields(payload)
payload.approval_status = MCPApprovalStatus.pending_reviewView on GitHub (pinned to 77b7c6c40c)
Solutions
- Ask a proxy admin to add the stdio server via POST /v1/mcp/server or config.yaml.
- Submit only remote (HTTP/SSE) MCP servers through the user registration workflow.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at litellm/proxy/management_endpoints/mcp_management_endpoints.py:1258 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/22bd8bbe342f5cbb.
Report an issue: GitHub.