๐ฉบ A health check for your MCP setup โ measure the context tax and hygiene of your MCP servers
Project description
๐ฉบ mcp-checkup
A health check for your MCP setup.
One command that tells you what your MCP servers cost you โ in context-window tokens and dollars โ and whether they follow basic security hygiene.
The problem
Every MCP server you connect injects its full tool schemas into your model's context window โ on every single request โ before you type a word.
- GitHub's official MCP server alone consumes ~17,600 tokens per request in tool definitions (autopsy).
- Teams have burned 72% of a 200k context window on tool definitions before doing any actual work (MCP spec issue #2808).
- A security audit of publicly exposed MCP servers found 119 out of 119 sampled allowed unauthenticated access to internal tool listings.
You are paying a context tax on every request, and you probably have no idea
how big it is. mcp-checkup measures it.
What it looks like
โ ๏ธ Target UX โ under active development. The output below is the design we are building toward. Today the CLI installs and prints the roadmap.
$ uvx mcp-checkup
๐ฉบ MCP Checkup โ 4 servers, 38 tools
WEIGHT HYGIENE
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
github 17,612 tok $0.053/req โ 2 tools reachable without auth
slack 4,105 tok $0.012/req โ ok
filesystem 2,890 tok $0.009/req โ unrestricted root path
custom-api 9,441 tok $0.028/req โ 3 schemas 8ร over minimal size
Context tax: 34,048 tokens โ 17% of a 200k window, before your first message.
Run `mcp-checkup --fix` to emit compressed schemas.
Run `mcp-checkup --fail-over 20000` in CI to stop the bloat from coming back.
Quickstart
uvx mcp-checkup # or: pip install mcp-checkup
Point it at your client config (.mcp.json, Claude Desktop, Cursor, โฆ) or a
running server. That's the whole interface โ one command, one report.
Roadmap
- Weight โ per-tool token count of every server's schemas (tiktoken + Anthropic token counting)
- Weight โ $ cost per session per model (GPT, Claude, Gemini pricing tables)
- Hygiene โ missing auth, exposed tool listings
- Hygiene โ bloated schemas (vs. minimal equivalent), suspicious / injection-prone tool descriptions
-
--fixโ emit compressed schemas that preserve call structure - CI mode โ
--fail-over <tokens>budget gate for your pipeline - Client config auto-discovery (Claude Desktop / Claude Code / Cursor / Windsurf)
Status
Early days โ the measurement engine is being built in the open. If the context tax bothers you too: โญ star the repo to follow along, open an issue with your worst MCP token bill, or see CONTRIBUTING.md to help build it.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_checkup-0.0.1.tar.gz.
File metadata
- Download URL: mcp_checkup-0.0.1.tar.gz
- Upload date:
- Size: 40.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a54c767e5034f42244f97342991a39441911e84d9b7be88912814c8e82a9f919
|
|
| MD5 |
d705d556d645154ad3e9ed2c38e9e72e
|
|
| BLAKE2b-256 |
a97e7663a7212ee2753ec8793cf3e7e5b3807218a52ff824785afb8b91a48f2a
|
File details
Details for the file mcp_checkup-0.0.1-py3-none-any.whl.
File metadata
- Download URL: mcp_checkup-0.0.1-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f82836dd10461511ba3b5d78d3d7ee50c7256839f0afaa89ef3274e863d99c0
|
|
| MD5 |
f0bdbf86d17663bccd3c4b0f911d493c
|
|
| BLAKE2b-256 |
195c8905056673ac271499f0058bc3fd501728f21205a306e7dec70022b97a66
|