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

  1. 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.