BerriAI/litellm · error · HTTPException
Submission is missing required fields: {missing}. Configure
Error message
Submission is missing required fields: {missing}. Configure required fields via general_settings.mcp_required_fields. What it means
Generic guard in _validate_mcp_required_fields: the submitted MCP server payload omits one or more fields listed in general_settings.mcp_required_fields. The check mirrors the UI's FIELD_GROUPS compliance rules, so None, empty string, empty list, and auth_type equal to the 'none' sentinel all count as absent — a payload that superficially looks populated can still fail.
Source
Thrown at litellm/proxy/management_endpoints/mcp_management_endpoints.py:312
# 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 False
if field_name == "auth_type" and value == _AUTH_TYPE_SENTINEL:
return False
return True
missing: Final = [f for f in required_fields if not _field_present(f)]
if missing:
raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST,
detail={
"error": f"Submission is missing required fields: {missing}. "
"Configure required fields via general_settings.mcp_required_fields."
},
)
def _is_public_registry_enabled() -> bool:
from litellm.proxy.proxy_server import (
general_settings as proxy_general_settings,
)
return bool(proxy_general_settings.get("enable_mcp_registry"))
def _build_registry_remote_url(base_url: str, path: str) -> str:
normalized_base: Final = base_url.rstrip("/")
normalized_path: Final = path if path.startswith("/") else f"/{path}"
return f"{normalized_base}{normalized_path}"View on GitHub (pinned to 77b7c6c40c)
Solutions
- Include all required fields listed in the error in your submission.
- Ask the proxy admin to review general_settings.mcp_required_fields if the requirements are wrong.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at litellm/proxy/management_endpoints/mcp_management_endpoints.py:312 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/a393afcead36d287.
Report an issue: GitHub.