BerriAI/litellm · error · HTTPException
Tool {name} is not allowed for server {server.name}. Contact
Error message
Tool {name} is not allowed for server {server.name}. Contact proxy admin to allow this tool. What it means
Raised in the pre-call checks for an MCP tool invocation when the tool name is not in the server's allow-list (allowed_tools config for that MCP server). This is a proxy-side authorization gate that fires before the tool call is forwarded; the end user cannot fix it themselves — the proxy admin must add the tool to the server's allowed list in config.
Source
Thrown at litellm/proxy/_experimental/mcp_server/mcp_server_manager.py:4629
"""
Run pre-call checks and guardrail hooks for an MCP tool call.
Authorization runs unconditionally; only the guardrail hooks, which are
dispatched through ``proxy_logging_obj``, depend on a logger being
present. An absent logger must never be able to turn an authorization
decision into a no-op.
``litellm_logging_obj`` is the request's logger, and it is what lands a
``pre_mcp_call`` evaluation (or a block) on the spend-log row the Guardrails
Monitor counts. It stays optional so callers that do no logging are unchanged.
Returns a dict that may contain:
- "arguments": hook-modified tool arguments (only if changed)
- "extra_headers": headers injected by pre_mcp_call guardrail hooks
"""
## check if the tool is allowed or banned for the given server
if not self.check_allowed_or_banned_tools(name, server):
raise HTTPException(
status_code=403,
detail={
"error": f"Tool {name} is not allowed for server {server.name}. Contact proxy admin to allow this tool."
},
)
## check tool-level permissions from object_permission
await self.check_tool_permission_for_key_team(
tool_name=name,
server=server,
user_api_key_auth=user_api_key_auth,
)
## filter parameters based on allowed_params configuration
self.validate_allowed_params(
tool_name=name,
arguments=arguments,
server=server,View on GitHub (pinned to 77b7c6c40c)
Solutions
- Ask the proxy admin to allow this tool for the server.
Example fix
Contact admin to update the tool allowlist.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at litellm/proxy/_experimental/mcp_server/mcp_server_manager.py:4629 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/abe485e16a7a9479.
Report an issue: GitHub.