{"slug": "mcp-was-a-mistake-here-are-200000-tokens-that-prove-it", "title": "MCP Was a Mistake. Here Are 200,000 Tokens That Prove It.", "summary": "A developer measured the token overhead of connecting 10 popular MCP servers and found that 111,713 tokens of JSON schemas are injected into the context window before any user message, costing over $1,700 per year at Claude 3.5 Sonnet pricing. The developer built a CLI proxy called mcptoon that reduces token usage to 3,247 tokens per conversation, and cites examples from Anthropic and Cloudflare showing that avoiding tool schema injection can cut token consumption by up to 98.7%.", "body_md": "\"mcp were a mistake. bash is better.\" — Peter Steinberger, OpenClaw founder\n\nI didn't want to believe it either. MCP was supposed to be the USB-C of AI — one protocol to connect everything. Anthropic, OpenAI, Google all backed it. 97 million monthly downloads. 17,000 servers.\n\nBut then I measured what MCP actually does to your context window.\n\nI connected 10 popular MCP servers to a token counter. Here's what happened before I typed a single word:\n\n| Server | Tools | Tokens Injected |\n|---|---|---|\n| Filesystem | 11 | 3,847 |\n| Brave Search | 8 | 2,103 |\n| Sequential Thinking | 3 | 890 |\n| Memory | 9 | 2,567 |\n| Puppeteer | 15 | 5,890 |\n| Postgres | 19 | 8,231 |\n| Notion | 24 | 13,780 |\n| GitHub | 28 | 12,440 |\n| Slack | 22 | 14,672 |\nGoogle Drive |\n31 |\n47,293 |\nTotal |\n170 |\n111,713 |\n\n**111,713 tokens. Before your first message.**\n\nThat's not a typo. Connecting 10 MCP servers to Claude means over 100K tokens of JSON schemas get injected into your context window. You haven't asked a question yet. You haven't made a tool call. The schemas are just... sitting there.\n\nAt Claude 3.5 Sonnet pricing ($3/M input tokens):\n\nThat's more than a Claude Pro subscription. You're paying $1,764/year to read JSON braces describing tools you might never use.\n\nThe 111K is just the schema injection. When you actually **call** a tool, MCP wraps the result:\n\n```\n{\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"{\\\"file\\\": \\\"app.py\\\", \\\"size\\\": 1024}\"\n    }\n  ]\n}\n```\n\nThe actual content is 38 characters. The wrapping is 47 characters. **55% of your result tokens are JSON overhead.**\n\nWith 20 tool calls per conversation:\n\nYour $0.54 conversation now has 130K tokens that serve zero purpose.\n\nWhen YC's CEO said \"MCP sucks honestly,\" he was talking about exactly this. The protocol design has a fundamental flaw: **it assumes context is free**.\n\nIn 2024, when Anthropic designed MCP, context windows were 200K tokens. Loading 100K of schemas seemed fine — you still had 100K left. But now we're building complex agent workflows. Multi-turn reasoning chains. Tool call sequences that span hundreds of messages.\n\nWhen you're 30 messages deep into debugging a production issue and your context is already at 150K tokens, those 111K of MCP schema injection aren't just wasteful — they're **the reason your conversation falls off a cliff**.\n\nAnthropic's own engineers published a blog showing token consumption could drop from 150,000 to 2,000 — a 98.7% reduction. Their solution? Stop loading tool schemas into context. Instead, let the model write code that calls tools at runtime.\n\nIn other words: **the fix for MCP is to not use MCP the way it was designed.**\n\nCloudflare took this further. Their 2,500-endpoint API originally required 1.17M tokens of schema. They compressed it to 1K tokens by exposing just two functions: `search`\n\nand `execute`\n\n.\n\n1.17M → 1K. That's not optimization. That's admitting the architecture was wrong.\n\nYes. And jQuery has billions of page loads. Popularity doesn't mean the design is correct. It means it was first, it was backed by a major player, and the alternatives weren't ready.\n\nThe real question is: of those 97 million downloads, how many are actively used in production agent systems? A developer on HN tested 15 MCP servers for three months and kept only 6. The top comment said: \"GitHub MCP is a waste of tokens — Claude Code has `gh`\n\nCLI built in. Same for Playwright.\"\n\nWhen the CLI equivalent exists, MCP loses every time. The only servers that survived were ones with no CLI alternative.\n\nI'm not just complaining. I built [mcptoon](https://github.com/activeing123/mcptoon) — a CLI proxy that sits between your agent and MCP servers:\n\n`{\"content\":[{\"type\":\"text\",\"text\":\"...\"}]}`\n\n```\nBefore:  111,713 tokens → $0.33/conversation\nAfter:     3,247 tokens → $0.01/conversation\nSavings: $1,760/year\npip install mcptoon\n```\n\n250KB binary. Zero dependencies. 486 tests. Apache 2.0.\n\nMCP's protocol design is not the problem. Standardized tool interfaces *do* matter. The problem is the **implementation pattern**: loading every tool schema into the model's context at startup.\n\nThis is like forcing a carpenter to read every tool manual before picking up a hammer. The manuals don't go away. They just sit on the workbench, taking up space, while the carpenter tries to work around them.\n\nThe fix isn't a new protocol. It's a smarter proxy layer that loads schemas on demand, strips JSON wrapping, and lets the model focus on the actual task.\n\n**MCP wasn't a mistake. But the way we use it is.**\n\n*All token counts are measured with tiktoken (cl100k_base), not estimated. Measurement scripts and raw data: GitHub repo. Independent project, not affiliated with Anthropic.*", "url": "https://wpnews.pro/news/mcp-was-a-mistake-here-are-200000-tokens-that-prove-it", "canonical_source": "https://dev.to/mcptokensaver/mcp-was-a-mistake-here-are-200000-tokens-that-prove-it-3b8n", "published_at": "2026-08-23 09:19:14+00:00", "updated_at": "2026-08-23 09:43:10.125604+00:00", "lang": "en", "topics": ["developer-tools", "ai-infrastructure", "large-language-models"], "entities": ["Anthropic", "OpenAI", "Google", "Claude", "Cloudflare", "mcptoon", "Peter Steinberger", "YC"], "alternates": {"html": "https://wpnews.pro/news/mcp-was-a-mistake-here-are-200000-tokens-that-prove-it", "markdown": "https://wpnews.pro/news/mcp-was-a-mistake-here-are-200000-tokens-that-prove-it.md", "text": "https://wpnews.pro/news/mcp-was-a-mistake-here-are-200000-tokens-that-prove-it.txt", "jsonld": "https://wpnews.pro/news/mcp-was-a-mistake-here-are-200000-tokens-that-prove-it.jsonld"}}