mrkeyoor.com_
Tue 01 Sept 15:07 UTC
Indexopen data51 servers bootedmeasured 19 Aug 2026

MCP Context Tax Index

The median MCP server charges 1,919 tokens of context before it does anything at all. Across the 30 servers we could boot and price, the spread runs from 33 to 19,054 tokens — and 20 of the 51 servers we tried would not start on a clean machine at all.

What Context Tax is

When you connect an MCP server to an agent, the agent asks it for a list of its tools. Every tool comes back with a name, a description and a JSON schema for its arguments, and all of that goes into the model’s context window at the start of the conversation and again on every turn. You pay for it whether the model calls a single tool or none. That standing charge is what we call the Context Tax, and it is the number this index measures.

It is not the same as how useful a server is. A heavy server can be worth its weight; a light one can be useless. But the tax is paid up front, it is paid repeatedly, and almost nobody publishes it — so we started every server we could find and wrote it down.

The headline numbers

Median context tax1,919 tokens
Median tokens per tool263
Boot success rate60.8%
Priced sample30 servers

Sample size matters here, so read it plainly: we attempted 51 servers, 31 started (60.8%), and 30 of those advertised at least one tool and could therefore be priced. That is a small index, not a census of the MCP ecosystem. Installing all 30 priced servers at once would cost 117,168 tokens and 312 tools on every single turn. Median boot time, for the servers that booted, was 8.9s.

Every priced server, heaviest first

ServerVendorToolsContext taxPer toolBoot
NotionNotion24~19,0547948.9s
Desktop Commandercommunity26~15,22658655.1s
CircleCICircleCI13~12,93299517.5s
MongoDBMongoDB31~9,46230552.2s
FirecrawlFirecrawl25~9,07736316.3s
Shopify DevShopify5~6,5901,31860.8s
PineconePinecone9~6,1656858.2s
Kubernetescommunity (Flux159)23~5,96425926.3s
Playwright MCPMicrosoft24~4,6261935.4s
GitHub (archived npm server)Anthropic (archived)26~3,9641526.0s
Filesystem · officialAnthropic (reference)14~3,2432329.0s
NetlifyNetlify9~3,08334333.8s
n8ncommunity (czlonkowski)7~2,94242015.0s
Memory · officialAnthropic (reference)9~2,6882995.1s
TavilyTavily5~1,9243856.7s
Everything (test server) · officialAnthropic (reference)13~1,9131477.5s
Git · officialAnthropic (reference)12~1,4771232.1s
Excelcommunity (negokaz)6~1,4062348.9s
Context7Upstash2~1,2156087.8s
Sequential Thinking · officialAnthropic (reference)1~1,1471,1476.7s
should-i-use (ours)MrKeyoor6~6661117.9s
Puppeteer (archived)Anthropic (archived)7~6128733.5s
ExaExa Labs2~53426713.0s
BrowserbaseBrowserbase6~3936621.7s
Time · officialAnthropic (reference)2~3001502.0s
Fetch · officialAnthropic (reference)1~2762763.1s
MySQLcommunity (benborla29)1~10010017.0s
YouTube Transcriptcommunity1~84847.2s
E2B Code SandboxE2B1~727210.6s
PostgreSQL (archived)Anthropic (archived)1~33336.2s

Tokens per tool separates two different kinds of expensive. A server can be costly because it exposes a lot of tools, or because each tool carries a large schema. The worst per-tool figure here is Shopify Dev at 1,318 tokens for each of its 5.

The servers that would not start

20 of the 51 servers exited before the protocol handshake finished on a machine with no credentials on it. 10 of those had told us, through their own documentation or startup output, that they wanted an API key or a token first, so their failure is expected and is really a note about setup cost rather than quality. The rest simply died. A server that cannot start unattended is worth knowing about before you put it in an agent loop, so we publish the failures in the same table as the successes rather than dropping them.

ServerVendorWanted credentialsWhat happened
Slack (archived)Anthropic (archived)yesexited with code 1 before initialize completed
Google Drive (archived)Anthropic (archived)not declaredexited with code 1 before initialize completed
Google Maps (archived)Anthropic (archived)yesexited with code 1 before initialize completed
Brave Search (archived)Anthropic (archived)yesexited with code 1 before initialize completed
GitLab (archived)Anthropic (archived)yesexited with code 1 before initialize completed
SentrySentryyesexited with code 1 before initialize completed
SupabaseSupabaseyesexited with code 1 before initialize completed
StripeStripeyesexited with code 1 before initialize completed
PayPalPayPalnot declaredexited with code 0 before initialize completed
Azure MCPMicrosoftnot declaredexited with code 1 before initialize completed
ElasticsearchElasticnot declaredexited with code 1 before initialize completed
HerokuHerokunot declaredexited with code 1 before initialize completed
Apify ActorsApifyyesexited with code 1 before initialize completed
ChromaChromanot declaredexited with code 1 before initialize completed
QdrantQdrantnot declaredexited with code 1 before initialize completed
DuckDuckGo Searchcommunitynot declaredexited with code 1 before initialize completed
Blendercommunitynot declaredexited with code 1 before initialize completed
Obsidiancommunityyesexited with code 1 before initialize completed
Figma (Framelink)communitynot declaredboot timeout after 90s (npx install + start)
Airtablecommunity (domdomegg)yesexited with code 1 before initialize completed

How we measured this

Each server is launched over stdio on a clean machine with an empty environment — no API keys, no config file, no prior install. We send the MCP initialize handshake, then tools/list, and record what comes back: the protocol version, the server name and version it reports, the number of tools, the exact byte length of the tools/list response, and the same figure per tool. Boot has 90 seconds; anything slower is recorded as a timeout. We never call a tool, because calling one would do something to somebody else’s account.

Tokens are an estimate, not a count from a tokenizer: we divide the character length of the payload by four, which is the usual rule of thumb for English-and-JSON text. That is accurate enough to compare servers with each other and to size a context budget; it is not accurate enough to reconcile against a bill. Treat every token figure on this page as approximate and comparative. The wider lab procedure is on how we test.

Measured 19 Aug 2026, in one batch. Boot times include fetching the package with npx or uvx on a cold cache, so they are worst-case, and they vary with the network. Servers change: a release that adds three tools moves a row. Cite the date you pulled the data.

Take the data

One row per server, failures included: slug, name, vendor, category, whether it booted, boot milliseconds, tool count, context tax in tokens, tokens per tool, raw tools/list bytes, protocol version and the date we measured it. Free to reuse with attribution (CC BY 4.0) — cite “MrKeyoor MCP Context Tax Index” and link to this page.

CSVdata.csv
JSONdata.json
Rows51
LicenceCC BY 4.0

Our other index measures whether open-source projects install at all: the Install Success Index. Think a number here is wrong? Name the server and we will re-boot it — contact, corrections policy.