Skip to main content

๐Ÿฉบ 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.

CI PyPI Python License Ruff


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

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_checkup-0.0.1.tar.gz (40.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_checkup-0.0.1-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

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

Hashes for mcp_checkup-0.0.1.tar.gz
Algorithm Hash digest
SHA256 a54c767e5034f42244f97342991a39441911e84d9b7be88912814c8e82a9f919
MD5 d705d556d645154ad3e9ed2c38e9e72e
BLAKE2b-256 a97e7663a7212ee2753ec8793cf3e7e5b3807218a52ff824785afb8b91a48f2a

See more details on using hashes here.

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

Hashes for mcp_checkup-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1f82836dd10461511ba3b5d78d3d7ee50c7256839f0afaa89ef3274e863d99c0
MD5 f0bdbf86d17663bccd3c4b0f911d493c
BLAKE2b-256 195c8905056673ac271499f0058bc3fd501728f21205a306e7dec70022b97a66

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page