Skip to main content

A deterministic, offline quality grader for MCP (Model Context Protocol) servers.

Project description

mcpgauge

Grade an MCP server's tool definitions in seconds — deterministic, offline, no account.

CI License: MIT

An agent only uses an MCP server well if its tool definitions are clear — good names, real descriptions, documented parameters. mcpgauge launches a server, reads its tools, and scores their definition quality against a published, deterministic rubric. No LLM, no network beyond the server you point it at, no sign-up.

Quickstart

pipx install mcpgauge          # or: uvx mcpgauge ...
mcpgauge "uvx ollama-handoff"
Grade A  (4.18/5)  —  8 tools
mean 4.31 · min 3.72 · methodology v0

  [B] summarize_local  3.72/5
      purpose █████  params █████  behavior █████  schema █████  naming █████  concise ████·
  [A] query  4.80/5
      ...
  • --json — machine-readable output for tooling.
  • --min B — exit non-zero if the server grades below B (drop it in CI).
  • --quiet — print only the final grade line.

Why it exists

Most MCP servers are thin wrappers with vague tool descriptions, and agents pick the wrong tool as a result. The only comparable quality score is closed and requires registering your server on a third-party site. mcpgauge is the opposite: open methodology, offline, reproducible, and CI-runnable. You can read exactly how every point is awarded in docs/METHODOLOGY.md and argue with it.

How scoring works (short version)

Each tool is scored 0–5 on six dimensions — Purpose Clarity, Parameter Semantics, Behavioral Transparency, Schema Validity, Naming, Conciseness. The server score is 0.6 · mean + 0.4 · min across tools, so one badly-described tool drags the whole server down (which is exactly how agents fail). Full rubric: docs/METHODOLOGY.md.

Status

Early and honest: v0 of the rubric, stdio servers, deterministic checks only. An optional LLM "would an agent pick the right tool?" pass and remote-HTTP support are on the roadmap. Issues and rubric critiques welcome.

Development

uv pip install -e ".[dev]"
pytest
ruff check src tests

License

MIT — see LICENSE.

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

mcpgauge-0.1.0.tar.gz (71.4 kB view details)

Uploaded Source

Built Distribution

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

mcpgauge-0.1.0-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file mcpgauge-0.1.0.tar.gz.

File metadata

  • Download URL: mcpgauge-0.1.0.tar.gz
  • Upload date:
  • Size: 71.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mcpgauge-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e018e4788645f35169acee1fb19b8eac16bb8613d35f7f5d6b6ef54c0e567fed
MD5 93dc7a57aa6e543869be781999de45de
BLAKE2b-256 52741b5f23e62f8c952b6b09067c55b328b34c3e25c7bf9548bd01c67dcfd6b6

See more details on using hashes here.

File details

Details for the file mcpgauge-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mcpgauge-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mcpgauge-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c47c9434f94cfdf5c8f43c0a0a5827dbe3aa642d9f17719bd931095c87ca0e6e
MD5 0f62491582be0d5ca65b6c8631440240
BLAKE2b-256 a2868013ccbb10d2398508674d01c10ca3dd8c9d43b158ac060c96dc8cf4fda6

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