Every MCP server you connect ships a set of tool-definition schemas. Those schemas get injected into every single model request for the whole session — before you ask the agent anything. It's a fixed tax on your context window and your bill, and no MCP directory lists it.
So I measured it. I pulled 25 popular Model Context Protocol servers, spawned each one locally, ran the real tools/list handshake, and counted the tokens its tool schemas add per request (chars/4, the same heuristic tokenscope uses — labelled an estimate). 16 of the 25 register their tools without live credentials, so those are measured; the rest need OAuth/remote transport or real keys and are marked not measured, never estimated.
The context-tax, measured (tokens / request)#
- notion-mcp — 24 tools — 19,054
- kubernetes — 23 — 5,964
- github — 26 — 4,242
- memory — 9 — 2,875
- everything — 13 — 2,031
- tavily — 5 — 1,924
- sequential-thinking — 1 — 1,176
- slack — 8 — 822
- google-maps — 7 — 704
- exa — 2 — 535
- brave-search — 2 — 375
- perplexity-ask — 1 — 149
Spread from 35 to 19,054 tokens per request — a 544× range. Connect notion + kubernetes + github and you've spent ~29k tokens of every request on tool schemas before typing a word. On a busy agent loop that's a line item you never see itemized.
Why it matters#
That tax is paid on every turn, multiplied by every step of an agent loop. A directory that lists MCP servers by stars tells you nothing about what each one costs you per request. The only way to know is to measure the handshake — which is exactly what tokenscope does for your own agent's calls.
Measure your own agent's token cost: npx @wartzar-bee/tokenscope — https://www.npmjs.com/package/@wartzar-bee/tokenscope
Full scorecard + method: github.com/wartzar-bee
Comments
No comments yet. Start the conversation.