dev/tools
Calculator

MCP context-cost calculator

Estimate how many tokens your MCP servers use before any work begins. Everything runs in this page. Nothing you type is sent anywhere.

Your MCP servers
Server nameToolsAvg. description (characters)UsageActions

Characters per tool that are not the description: name, wrapper and input schema.

Release notes by email, rarely

You get a short email when a new version of either tool ships or a bug fix matters. Expect a few messages a year. Nothing else, and no marketing. We store your address, the page you signed up on and the campaign tags in the link you arrived by.

Next step

This is an estimate. The Profiler measures.

The calculator cannot see your real tool schemas, so it guesses their size. The MCP Context-Cost Profiler reads your actual Claude Code, Cursor and Claude Desktop configs, breaks cost down per tool, flags duplicated tools across servers, and its --verify flag compares its own estimate against Anthropic's tokenizer so you can see the error instead of trusting it.

The Profiler is also free on GitHub in full. $19 is the supporter tier.

Method

How the estimate works, and how wrong it can be

The model

For each tool: tokens = ceil((overhead + description_length) / 4). A server costs tools × tokens per tool. The four-characters-per-token divisor is the same rule of thumb the Profiler uses by default. It was not calibrated against any specific model.

Overhead stands for everything in a tool definition that is not its top-level description: the name, JSON wrapper and input schema. I measured it on the Profiler's built-in demo tools (20 tools, three servers): per-server averages were 232, 332 and 647 characters, and the median tool was 486. Those three numbers are the Compact, Typical and Heavy settings. The range shown under your total uses Compact and Heavy.

The three fixes

  • Defer applies to servers marked "Used rarely". They are replaced by a 150-token stub, 10 tokens per server for an index, and up to 5 fetched tools at average size. Those are the Profiler's assumptions, not measurements of any client. The Profiler defers every server in its simulation; this calculator defers only the ones you mark as rarely used.
  • Disable removes servers marked "Never used".
  • Minify cuts every description to 80 characters. The Profiler also shortens descriptions inside input schemas. This calculator cannot, so it understates that saving.
  • Combined applies disable, then minify, then defer, and is bounded the way the Profiler bounds it: never worse than the best single fix, never more than the three savings added together.

Error characteristics

On the Profiler's demo set (github, filesystem, ripgrep-search) this calculator gives 3,420 tokens in total against the Profiler's 3,451, but that closeness is partly circular: the overhead constant was calibrated on that same set. Per server it is much looser: github is estimated at 2,136 against 2,621 (about 18% low), filesystem at 960 against 582 (about 65% high), and ripgrep-search at 324 against 248 (about 31% high). Expect per-server errors of tens of percent, in either direction, on your own setup.

Other limits: real clients wrap tool definitions in their own formatting; JSON with many short keys and symbols often tokenizes denser than four characters per token; different models tokenize differently; and the Profiler's own figures are also estimates unless you run --verify. Use this page to rank servers and judge whether the problem is worth a closer look, not as a billing figure.