A single GitHub lookup consumed 59,417 input tokens on Claude Sonnet 5.5 when the agent used the GitHub MCP server’s default tools, against 1,421 when it used the gh command-line tool. OpenRouter published the measurements on November 11. Every run answered correctly, so the gap is pure overhead, and an agent pays it again on each request.
MCP, Anthropic’s protocol for tool calling, works by sending the model every tool’s name, description, and schema before it does anything. A CLI asks for far less: a shell tool and one line saying the program exists. A skill, meaning a short instruction file the model reads on demand, sits between the two.
OpenRouter ran one task across Claude Haiku 5.5, Claude Sonnet 5.5, GPT-6 Luna, and Gemini 3.8 Flash: find the latest release of the cli/cli repository and the three newest open issues labeled bug. Each setup ran three times on October 20, and OpenRouter reports medians. On Sonnet 5.5 the skill used 3,315 tokens. MCP scoped to the two tools the task needed used 23,228. The default set of 46 tools used 59,417, and all 91 tools used 101,351.
Money tracks the tokens. On Sonnet 5.5, the default MCP setup cost about $127 per 1,000 tasks, while the CLI cost $7.50. That is 17 times the price for the same answer.
Tool definitions are only half the story. The GitHub server’s release call returned a 42,182 character object, 87 percent of it describing 22 download files, when the agent needed a tag and a date. On Sonnet 5.5 that one result added roughly 20,400 tokens, more than all 46 definitions combined (which came to 19,436 tokens on Claude). Because the object stays in the conversation, it is resent on every later turn.
OpenRouter’s fix for definitions is Tool Search, a beta feature that withholds deferred tools and lets the model find them by regular expression. With all 46 tools deferred, the up-front cost fell to 578 tokens on the Claude models. Over the full task, Sonnet 5.5 dropped from 59,417 tokens to 30,334, and GPT-6 Luna dropped from 116,282 to 25,544.
The results were not uniform. Gemini 3.8 Flash rose slightly, from 35,409 to 37,568. Claude Haiku 5.5 went from 99,319 to 154,623, because it kept asking the issues tool for a field that does not exist and retried with wrongly typed arguments three or four times per run. Tool Search is OpenRouter’s own product, and the company’s benchmark shows it hurting one of its four test models. That is a useful admission, and it limits how far the headline savings travel.
Trimming results mattered as much as trimming tools. Capping MCP results at 4,000 characters took the two-tool setup from 23,228 tokens to 5,357. OpenRouter cautions that the cap held up only by luck of layout: the release object happens to list its tag and date first, so truncation left them intact. Pair the cap with Tool Search and Gemini 3.8 Flash and Haiku 5.5 each got the right answer in just one of three attempts. Requesting only named fields is the safer route, and it cut one issue listing from 8,336 characters to 714.
The evidence is narrow by OpenRouter’s own account: a single server, a single task. Its recommendation is to use a well-known CLI when the agent can run commands, add a skill for your own CLI, and reserve MCP for agents with no shell, scoped to the tools needed and with small results.
As an illustrative calculation at the table’s per-task costs on Sonnet 5.5 ($0.1274 for default MCP, $0.00756 for the CLI), 100,000 tasks would run about $12,740 against $756. Before adding another server, run OpenRouter’s token-counting script against your own model, because the same 46 tools cost 19,436 tokens on Haiku 5.5 and 8,903 on GPT-6 Luna.
Reported by OpenRouter on November 11, 2026.