mcp-proof
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-proofaudit my MCP server for conformance and security"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐งพ mcp-proof
Ship an MCP server with a receipt.
One command audits any MCP server โ tools, resources and prompts, either protocol era, stdio or Streamable HTTP โ and hands your client a fingerprinted, reproducible delivery report plus a CI regression suite they keep.
A real audit of the official MCP filesystem server: 25 conformance checks, MSSS compliance table, 34 regression fixtures โ all green.
โจ What you get
๐ Wire-level protocol checks across every surface and both eras โ mcp-proof speaks raw JSON-RPC to your server and auto-detects its era: 30 checks for the 2026-07-28 modern era (
server/discover,_metaenvelope enforcement,resultType,ttlMs/cacheScopeon every cacheable result,-32022version rejection, HTTP routing-header enforcement) and 25 for the initialize-handshake era โ exact error codes, schema validity, structured output, stdout hygiene, pagination safety, dedicated resources & prompts lanes, and verified negative probes: TOOL-07 sends inputs that provably violate the declared inputSchema and warns when the server answers them normally, quoting the minimal reproducer. Capability-aware in both directions: surfaces a server does not advertise are skipped, surfaces it does advertise must work.๐ก๏ธ Security audit tied to a public standard โ 6 deterministic checks (tool-description poisoning, invisible/bidi characters, leaked credentials, unconstrained injection surfaces, advertised shell execution), each mapped to canonical control IDs of the 24-control MCP Server Security Standard, rendered as a full compliance table in every report.
๐ผ A regression suite your client keeps โ records in either protocol era; golden fixtures with SHA-256 provenance freeze the server's behaviour; replay grades every drift (
BREAKING/VALUE/COSMETIC/LATENCY), understands structured output, preserves stateful call order, and ships with a ready-to-paste GitHub Actions gate.๐ A report for humans and machines โ self-contained HTML with sticky navigation, per-check anchors (
report.html#SEC-03), attention/passed filters and a collapsible MSSS matrix;--pdffor print. The same versioned model ships as--json(schema v1),--junitfor any CI, and--sariffor the GitHub Security tab.๐ Reproducible by design โ zero LLM calls, zero API keys. Every hash is computed from behaviour alone โ timestamps and latency live in a separate, unhashed observation layer โ so identical server behaviour produces an identical report fingerprint and acceptance is verification, not trust.
๐งฏ Annotations-first call planning โ MCP tool annotations outrank the name heuristic in both directions:
readOnlyHintrescues read-only tools the regex would over-block,destructiveHintcatches mutators it would miss; unannotated tools fall back to the conservative heuristic.mcp-proof planshows exactly what auto-baselining would call and on what basis, before anything touches production;--include-destructiveand--edge-casesopt into more.๐ A contract diff for CI โ
mcp-proof inspectfreezes the served surface (capabilities + tools + resources + prompts, fully paginated) into a fingerprinted manifest;mcp-proof diffclassifies every change asBREAKING/ADDITIVE/METADATAand exits non-zero on breaking ones โ schema tightening, enum narrowing, required-flips, removed output fields and weakened safety annotations all count.
Related MCP server: MCProbe
๐ Quick start
pip install git+https://github.com/YuCPbit/mcp-proof
mcp-proof run python my_server.py --fixtures fixtures/ --out report.htmlAuditing a running HTTP server instead? mcp-proof run --url http://localhost:8000/mcp --out report.html
Exit code 0 means: every MUST check passed, zero security findings, zero behavioural drift โ a one-line CI gate.
mcp-proof plan python my_server.py # what would auto-baselining call, and why
mcp-proof record python my_server.py --fixtures fixtures/ # freeze the behavioural contract
mcp-proof replay --fixtures fixtures/ -- python my_server.py # fail on any drift
mcp-proof inspect python my_server.py --out baseline.json # freeze the contract surface
mcp-proof diff baseline.json current.json # BREAKING / ADDITIVE / METADATA, exit 1 on breakingSee the difference in 60 seconds with the built-in demo pair โ a clean server and one with nine planted violations:
mcp-proof run python demo/good_server.py --fixtures demo/fixtures-good --out report-good.html # โ SHIP-READY
mcp-proof run python demo/bad_server.py --out report-bad.html # โ 5 MUST failures, 3 security findings๐ Real audits, real reports
Target | Verdict | Report |
Official MCP filesystem server ( | โ SHIP-READY โ 11/11 MUST checks, 34/34 replays clean, 4 write tools auto-skipped | |
2026-07-28 modern-era server (zero-dep, cross-validated against the official v2 SDK) | โ
SHIP-READY โ era auto-detected via | |
Demo server with 9 planted violations | โ NOT SHIP-READY โ 5 MUST failures + 3 security findings, every one caught with evidence | |
Well-behaved demo server | โ SHIP-READY โ 16/16 MUST, full three-lane pass incl. regression baseline |
๐ฌ The three lanes
Lane | What it proves | How |
Protocol conformance | The server implements MCP correctly on the wire โ era negotiation, JSON-RPC error semantics, tool/resource/prompt surfaces, output schemas, capability consistency, pagination, stdout hygiene | A hand-rolled JSON-RPC probe observes the raw byte stream, so nothing is smoothed over |
Security & hygiene | Tool metadata is clean: no injected instructions, hidden Unicode, leaked secrets, or unconstrained execution surfaces | Deterministic static analysis, every finding carrying its MSSS control ID |
Behaviour regression | The server still does exactly what it did at delivery | Record/replay of provenance-fingerprinted golden fixtures, drift graded by severity |
Every lane feeds one report โ and the report ends with a prioritized fix list, so it doubles as a remediation plan.
๐ก Protocol support
Transports | stdio โ ยท Streamable HTTP โ |
Surfaces | tools โ ยท resources โ ยท prompts โ โ capability-aware in both directions |
Modern era | โ
conformance lane, auto-detected โ |
Legacy era (initialize handshake, | โ all lanes |
Regression lane | โ both eras โ SDK session (legacy) ยท probe-backed session (modern) |
The modern lane is validated against the official v2 SDK in both directions: the official client
adopts mcp-proof's hand-rolled modern test server via server/discover, and mcp-proof runs all
three lanes fully green against official v2 SDK servers on both transports โ stdio and
Streamable HTTP with SSE responses (scripts/crosscheck_modern_server.py).
Works with servers in any language โ mcp-proof talks to the process (or URL), not to your codebase.
โ๏ธ CI in one step
- uses: YuCPbit/mcp-proof@v0.5.0
with:
server-command: python my_server.py
fixtures: fixtures/The job fails unless the server is ship-ready, and leaves mcp-proof-report.html / .json /
.junit.xml / .sarif behind for upload. Prefer raw commands? mcp-proof run โฆ --junit r.xml --sarif r.sarif
plus mcp-proof diff is the same gate.
๐๏ธ Build on the audit-clean template
Building a server rather than auditing one? templates/server-starter/ is a fastmcp server that passes this audit out of the box โ constrained input schemas, proper error semantics, structured output, every practice annotated with the check ID it satisfies. Copy, implement your tools, audit, ship with the report.
๐ฅ๏ธ Platforms
macOS | โ developed & fully validated |
Linux | โ exercised in CI |
Windows | โ exercised in CI |
๐บ๏ธ Roadmap
Release | Focus |
v0.3 | โ Dual-era protocol support, shipped on main โ era auto-detection, 19 modern-era checks, dual-era regression sessions, validated against the official v2 SDK on both transports |
v0.4 | โ
Capability-aware resources & prompts lanes ยท contract manifest |
v0.5 | โ
Versioned JSON report model ยท JUnit & SARIF outputs ยท reusable GitHub Action ( |
v0.6 | โ
Two-phase argument synthesis ( |
Later | Opt-in semantic lane (LLM-graded assertions) โ parked until the deterministic core is complete |
๐ Limitations
mcp-proof proves what can be proven deterministically, and says which is which:
Security checks cover the observable protocol and metadata surface. MSSS controls that need deployment, source or process evidence are always reported as manual review โ never as passed.
Auto-baselining classifies tools by a conservative name/description heuristic. Review the skip list in the fixtures manifest before trusting a baseline recorded against production.
Semantic correctness (does the answer mean the right thing?) is outside the deterministic core by design.
๐ License
MIT โ the taxonomy in the MSSS compliance section follows the MCP Server Security Standard (CC BY-SA 4.0).
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceA stdio MCP server that audits other MCP servers over the live protocol. It connects to any MCP target (stdio or HTTP), lints every tool's schema for agent-usability, then actually calls the tools with deliberately broken inputs to see how the server handles them, and returns a 0โ100 conformance score with a per-dimension breakdown rendered as Markdown.66MIT
- AlicenseAqualityBmaintenanceA stdio MCP server that audits other MCP servers by linting their tool schemas and calling tools with malformed inputs to produce a 0โ100 conformance score and Markdown report.6MIT
- AlicenseNot gradedqualityBmaintenanceAudits any MCP server against the official spec, providing HMAC-signed conformity reports.MIT
- AlicenseNot gradedqualityAmaintenanceAudits MCP server configurations for security risks including capability inventory, SSRF, prompt injection, and drift detection. Works in read-only mode and can also be used as an MCP server to let AI agents audit their own attack surface.4MIT
Related MCP Connectors
MCP Spec Compliance MCP โ audits any MCP server.json against the official Model Context Protocol
Conformance checker for MCP servers. Free, no key, verdicts recomputable and re-measured daily.
MEOK MCP Test MCP โ golden-file + schema-drift + tool-failure tests for any MCP server. Drop-in
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/YuCPbit/mcp-proof'
If you have feedback or need assistance with the MCP directory API, please join our Discord server