Skip to main content

in BoltAI - MCP tool names use single-underscore mcp_ prefix → Anthropic rejects Claude (OAuth) requests with HTTP 400

When a Claude/Anthropic request includes MCP tools, BoltAI names them mcp (single underscore, e.g. mcpsearch_youtube_z50gm8). Anthropic classifies any tool whose name starts with mcp (single underscore) as a third-party MCP

tool and bills it to "extra usage," returning:

400 invalid_request_error: "Third-party apps now draw from your extra usage, not your plan limits…"

On accounts with extra usage disabled, every MCP-tool request fails. Claude Code's own convention is a double underscore — mcp — which Anthropic accepts as first-party.

Verified fix: renaming mcpsearch_youtube_z50gm8 → mcp__search_youtube_z50gm8 (only change: one extra underscore) turns the 400 into a 200. Requests without tools, or with tools that don't use the mcp prefix, already work.

Request: name MCP tools with the mcp__ double-underscore convention.

Tried it with https://github.com/router-for-me/CLIProxyAPI and https://github.com/automazeio/vibeproxy (and used in AI Providers - Anthropic endpoint and pointed it to CLIProxyAPI)

Status: Completed6 comments

Log in to comment and vote

Comments6

  • Daniel Nguyen changed status to Completed
    Team•

    Jul 19

    Pinned

    I’ve fixed this in v2.14. Can you confirm?

    • David

      •

      Jul 19

      just tested it and it works now… awesome! no more custom patches for CLIProxyAPI … now im on head branch and it works!

      thanks

  • Daniel Nguyen

    Team•

    May 30

    Interesting. Thanks. Did you get vibeproxy to work? For some reason I can’t get it to work with codex cli.

    • David

      •

      May 30

      yep i got it working via:

      https://github.com/router-for-me/CLIProxyAPI

      for Claude

      the issue for me was when i had any MCP enabled i got 400 response… when i turned MCP fully off it worked… then i debugged and found that if mcp_* is sent it gets 400 error but if mcp__* is sent then it works.

      So for now i patched CLIProxyAPI to rewrite mcp_* to mcp__* and it works good for me.

      • Daniel Nguyen

        Team•

        May 30

        Nice. I think I will build it as another app, like we’ve discussed. Would be much easier to change etc without affecting the BoltAI release cadence.

        • David

          •

          May 30

          Yeah i think that would make sense…

          did you see how MstyStudio does it?

          they have CLIProxyPlus in Msty that just pulls the proxy code and starts it locally… its a nice simple UI design…