BerriAI/litellm · error · HTTPException
mcp_required_fields contains unknown field names: {unknown}.
Error message
mcp_required_fields contains unknown field names: {unknown}. Check general_settings.mcp_required_fields in your proxy config. What it means
Error "mcp_required_fields contains unknown field names: {unknown}. Check general_settings.mcp_required_fields in your proxy config." thrown in BerriAI/litellm.
Source
Thrown at litellm/proxy/management_endpoints/mcp_management_endpoints.py:287
payload.oauth2_flow = "client_credentials" if has_m2m_shape else "authorization_code"
_VALID_MCP_REQUIRED_FIELDS: Final[frozenset] = frozenset(NewMCPServerRequest.model_fields)
def _validate_mcp_required_fields(payload: NewMCPServerRequest) -> None:
"""Validate submission payload against admin-configured mcp_required_fields."""
from litellm.proxy.proxy_server import (
general_settings as proxy_general_settings,
)
required_fields: Final[list[str] | None] = proxy_general_settings.get("mcp_required_fields")
if not required_fields:
return
# Fail fast on unknown field names — a typo in the config would silently
# block every submission with a confusing "missing fields" error.
unknown: Final = [f for f in required_fields if f not in _VALID_MCP_REQUIRED_FIELDS]
if unknown:
raise HTTPException(
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
detail={
"error": f"mcp_required_fields contains unknown field names: {unknown}. "
"Check general_settings.mcp_required_fields in your proxy config."
},
)
# Mirror the UI's compliance checks (MCPStandardsSettings.tsx FIELD_GROUPS):
# auth_type requires a real value — "none" is treated as absent.
_AUTH_TYPE_SENTINEL: Final = "none"
def _field_present(field_name: str) -> bool:
value: Final = getattr(payload, field_name, None)
if value is None:
return False
# Treat empty string and empty list as absent (mirrors UI compliance check)
if isinstance(value, (str, list)) and not value:
return FalseView on GitHub (pinned to 77b7c6c40c)
Solutions
- Remove the unknown field names from general_settings.mcp_required_fields in the proxy config.
- Check the documentation for the supported MCP required field names.
When it happens
Trigger: Thrown at litellm/proxy/management_endpoints/mcp_management_endpoints.py:287 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/71e6047e686d4482.
Report an issue: GitHub.