Skip to main content

mcp-quality

The CI quality suite for MCP server builders

Lint, contract-test, benchmark, and load-test your MCP server before you ship it. The pytest + lighthouse for the servers agents depend on.

▶ See the live demo — the token tax and the disambiguation matrix, captured from real runs. Or the leaderboard: mcp-quality run against real public MCP servers.

$ mcp-quality run "python my_server.py" --legibility
Legibility  F   archive_record⇄delete_record confused 100% of the time   ← caught before you ship
Cost        D   8,792 toolset tokens — paid on every turn, before anything works

Status: v0.1 implemented — all five families, CLI, CI, badge. See the roadmap.


Why

Security scanners already answer "is this server malicious?" (mcp-scan, Cisco's mcp-scanner, and others own that lane). The quality question — "is this server any good?" — now has point tools too: mcp-xray scores token tax and tool confusion into a single grade, and Cisco's mcp-scanner added readiness heuristics. But those are things you run by hand. There is still no lighthouse/pytest for MCP: no CI-native suite that unifies the quality dimensions (contract, legibility, cost, performance, light security) into one graded gate, catches quality regressions across commits, prints a badge, and hands off to a full behavioral simulation.

mcp-xray is an X-ray you run by hand; mcp-quality is the pytest in .github/workflows that blocks the merge. It is a quality-and-reliability suite — it treats security as one check, defers deep security to the specialists (integrate, don't reinvent), and unifies the quality point tools rather than competing with them (credit where due — they prove the demand).

Quickstart

pip install mcp-quality
mcp-quality run "python my_server.py"        # graded A–F report + MCP Quality Score
mcp-quality run "python my_server.py" --json --fail-under B   # CI gate
mcp-quality static ./server.mcp.json         # offline / air-gapped CI

Use it in CI

# .github/workflows/mcp-quality.yml
name: MCP Quality
on: [push, pull_request]
jobs:
  mcp-quality:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with: { python-version: "3.12" }
      - run: pip install mcp-quality
      - run: mcp-quality run "python my_server.py" --fail-under B --no-regressions

The zero-LLM fast path (Contract + Cost) runs deterministically with no model and no network beyond your server. Add --all for the full five families, --legibility --model ollama:qwen2.5-3b for the agent-comprehension score, or --deep-security to fold in mcp-scan / Cisco findings. Commit a baseline with mcp-quality snapshot "…" so --no-regressions can catch a silently-broken tool in the PR.

The five check families

Contract (LLM-free): spec conformance, schema validity, determinism probe, snapshot regression. · Legibility (the differentiator): agent-comprehension score, the disambiguation matrix (delete vs archive confusion rate), description lints with proposed rewrites. · Cost: token weight of your whole toolset, per-tool bloat, $-per-task estimates. · Performance: concurrent-agent load with real MCP semantics (not naive HTTP), p50/p95/p99, connection-leak detection. · Security-lite: OWASP MCP Top 10 basics, with --deep-security shelling out to mcp-scan / Cisco.

Outputs a terminal report, JSON for CI, and an mcp-quality: A badge for your README. See SPEC.md and ROADMAP.md.

Part of the Swarm Proof toolkit

Trust infrastructure for the agent economy — seven projects, one thesis.

Project What it does
stampede Point a herd of realistic agents at your system before real ones arrive
mockworld A synthetic internet for agents — fake Stripe, Gmail, exchange, instantly
mcp-qualityyou are here The CI quality suite for MCP servers — lint, contract-test, benchmark, load
costbomb Denial-of-wallet fuzzing — find the inputs that make your agent spend $500
exactly-once Idempotency middleware so agent side-effects fire once
agent-postmortems A structured incident database + post-mortem standard for agent failures
awesome-agent-reliability The curated map of the field

License

Apache-2.0. Zero-LLM fast path for Contract/Cost/Performance; legibility checks are provider-agnostic and Ollama-friendly. Citable via CITATION.cff.

Download files

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

Source Distribution

mcp_quality-0.1.0.tar.gz (148.5 kB view details)

Uploaded Source

Built Distribution

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

mcp_quality-0.1.0-py3-none-any.whl (89.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mcp_quality-0.1.0.tar.gz
  • Upload date:
  • Size: 148.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mcp_quality-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b0b36c92877235c6498a157722b7fc7df83cde998a7871c6aeeaf039feb209ee
MD5 5036e1c4311e8c648b397201b09da11c
BLAKE2b-256 bac84119f4b54f3f465dcf030ace8c71d9d5412b7e436b703915ac18012fda53

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_quality-0.1.0.tar.gz:

Publisher: release.yml on swarmproof/mcp-probe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: mcp_quality-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 89.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mcp_quality-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7a9fcb899d97663a8bec301f9d17484392176ee5d6da9d9f95c4e6717eef743c
MD5 50f5647d793cd7aba6b7168587dd1696
BLAKE2b-256 6e8d3678132e37a160bc88de9ae4f165beefcc9137e83909469ce45d54df3540

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_quality-0.1.0-py3-none-any.whl:

Publisher: release.yml on swarmproof/mcp-probe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.3.0

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page