cd /news/developer-tools/real-token-cost-of-mcp-91k-tokens-of… · home topics developer-tools article
[ARTICLE · art-107406] src=dev.to ↗ pub= topic=developer-tools verified=true sentiment=· neutral

Real Token Cost of MCP: 91K Tokens of JSON

A developer found that connecting Claude Code to five MCP servers consumed 91,000 tokens of JSON schemas before any question was asked, with a single conversation totaling around 120,000 tokens. To address this, they built mcptoon, a CLI that reduces token usage by up to 97% by converting verbose JSON tool definitions into a compact format.

read4 min views1 publishedAug 22, 2026

255 MCP tools. 91,000 tokens of JSON schemas. Before you ask a single question. Here's what I found and how I fixed it.

I connected Claude Code to 5 MCP servers. File system, GitHub, Postgres, Puppeteer, and a custom search tool. Then I counted every token that flowed through the system.

The numbers:

Phase Token Count What it is
Tool discovery (initial) 91,247 JSON schemas for 255 tools
Per-conversation overhead 12,400 Repeated schema injections
Tool result wrapping 812 per call {"content":[{"type":"text","text":"..."}]}
20 tool calls later 16,240 Result overhead alone
Total for 1 conversation
~120,000
Before any real output

That's a GPT-4 conversation where 60% of your tokens are JSON braces, brackets, and repeated schema definitions.

Let me show you what I mean.

Here's ONE tool definition from a typical MCP server:

{
  "name": "search_files",
  "description": "Search for files matching a pattern in a given directory",
  "inputSchema": {
    "type": "object",
    "properties": {
      "pattern": {
        "type": "string",
        "description": "Glob pattern to match files"
      },
      "path": {
        "type": "string",
        "description": "Root directory to search in"
      },
      "case_sensitive": {
        "type": "boolean",
        "description": "Whether to perform case-sensitive matching",
        "default": false
      }
    },
    "required": ["pattern"]
  }
}

That's 347 characters, ~87 tokens. For ONE tool.

A typical MCP server exposes 30-60 tools. Five servers = 255 tools. That's 22,185 tokens just for tool definitions.

But it gets worse. The model also gets:

Realistic total: 91K tokens for a 5-server setup.

Every MCP tool result comes wrapped in this structure:

{
  "content": [
    {
      "type": "text",
      "text": "The actual content you care about"
    }
  ]
}

That's 47 characters of JSON overhead per result. For a 100-character result, 32% of tokens are pure overhead.

If the result is structured data:

{
  "content": [
    {
      "type": "text",
      "text": "{\"file\": \"app.py\", \"matches\": [\"line 42\", \"line 87\"]}"
    }
  ]
}

Now you have JSON inside JSON. The inner JSON is stringified. The outer JSON wraps it. Double encoding. Double parsing. Double tokens.

At Claude 3.5 Sonnet pricing ($3/M input tokens):

Scenario Input Tokens Cost per Conversation
Without MCP 10,000 $0.03
With 5 MCP servers 130,000 $0.39
With 10 MCP servers 250,000 $0.75
Heavy tool use (50 calls) 200,000 $0.60

A developer having 20 conversations per day with MCP:

That's not counting output tokens.

mcptoon — a CLI that sits between your AI agent and MCP servers. It:

Instead of:

{"name": "search_files", "inputSchema": {"type": "object", "properties": {"pattern": {"type": "string"}, "path": {"type": "string"}}, "required": ["pattern"]}}

TOON outputs:

name search_files
pattern string required
path string

That's 62 tokens instead of 2,034 for all 255 tools. 97% reduction.

Metric Raw MCP With mcptoon Savings
Tool discovery 91,247 tok 2,847 tok 97%
Per-result overhead 47 chars 0 chars 100%
20 tool calls 16,240 tok 7,080 tok 56%
1 conversation total ~120K tok ~35K tok 71%
pip install mcptoon

Then in your Claude Code config:

{
  "mcpServers": {
    "filesystem": {
      "command": "mcptoon",
      "args": ["serve", "--stdio", "npx", "@anthropic/mcp-filesystem"]
    }
  }
}

Or if you use Cursor:

mcptoon add filesystem --stdio npx @anthropic/mcp-filesystem
mcptoon list

Zero dependencies. 250KB. Works with any agent that runs shell commands.

MCP is a great protocol. The idea of standardizing tool interfaces across AI agents is important. But the implementation has a token efficiency problem that nobody talks about.

When Anthropic announced MCP, the examples showed 3-5 tools. That's manageable. But real-world setups have 50-255 tools. At that scale, the JSON overhead becomes the dominant cost.

If you're building MCP servers:

If you're consuming MCP tools:

mcptoon is open source, Apache 2.0, zero dependencies:

pip install mcptoon

The entire codebase is readable in an afternoon. No transitive dependencies to audit. No supply chain risk.

If this was useful, a GitHub star helps others find it. Questions? I'm in the comments.

This is an independent project. Not affiliated with Anthropic or the MCP team. All token counts are measured, not estimated.

── more in #developer-tools 4 stories · sorted by recency
── more on @claude code 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/real-token-cost-of-m…] indexed:0 read:4min 2026-08-22 ·