mcp-proof
🧾 mcp-proof
Entrega un servidor MCP con su recibo.
Un solo comando audita cualquier servidor MCP — herramientas, recursos y prompts, de cualquier era de protocolo, stdio o Streamable HTTP — y entrega a tu cliente un informe de entrega con huella digital y reproducible, además de una suite de regresión para CI que se queda en su lado.
Una auditoría real del servidor oficial de filesystem de MCP: 25 comprobaciones de conformidad, tabla de cumplimiento MSSS, 34 fixtures de regresión — todo en verde.
✨ Qué obtienes
🔍 Comprobaciones de protocolo a nivel de cable en cada superficie y en ambas eras — mcp-proof habla JSON-RPC puro con tu servidor y detecta automáticamente su era: 30 comprobaciones para la era moderna 2026-07-28 (
server/discover, aplicación del envoltorio_meta,resultType,ttlMs/cacheScopeen cada resultado cacheable, rechazo de versión-32022, aplicación de cabeceras de enrutado HTTP) y 25 para la era del handshake de initialize — códigos de error exactos, validez de esquema, salida estructurada, higiene de stdout, seguridad de paginación, carriles dedicados de recursos y prompts, y sondas negativas verificadas: TOOL-07 envía entradas que violan de forma demostrable el inputSchema declarado y avisa cuando el servidor las responde con normalidad, citando el reproductor mínimo. Consciente de capacidades en ambas direcciones: las superficies que el servidor no anuncia se omiten; las que anuncia deben funcionar.🛡️ Auditoría de seguridad vinculada a un estándar público — 6 comprobaciones deterministas (envenenamiento de descripciones de herramientas, caracteres invisibles/bidi, credenciales filtradas, superficies de inyección sin restricciones, ejecución de shell anunciada), cada una mapeada a IDs de control canónicos del Estándar de Seguridad de Servidores MCP de 24 controles, presentadas como tabla de cumplimiento completa en cada informe.
📼 Una suite de regresión que tu cliente conserva — graba en cualquier era de protocolo; los fixtures dorados con procedencia SHA-256 congelan el comportamiento del servidor; la reproducción clasifica cada desviación (
BREAKING/VALUE/COSMETIC/LATENCY), entiende la salida estructurada, preserva el orden de llamadas con estado, e incluye un gate de GitHub Actions listo para pegar.📄 Un informe para humanos y máquinas — HTML autocontenido con navegación fija, anclas por comprobación (
report.html#SEC-03), filtros de atención/aprobadas y una matriz MSSS plegable;--pdfpara imprimir. El mismo modelo versionado se entrega como--json(esquema v1),--junitpara cualquier CI, y--sarifpara la pestaña de Seguridad de GitHub.🔁 Reproducible por diseño — cero llamadas a LLM, cero claves de API. Cada hash se calcula solo a partir del comportamiento — las marcas de tiempo y la latencia viven en una capa de observación separada y sin hash — de modo que un comportamiento idéntico del servidor produce un informe con huella idéntica y la aceptación es verificación, no confianza.
🧯 Planificación de llamadas con anotaciones primero — las anotaciones de herramientas MCP superan a la heurística de nombres en ambas direcciones:
readOnlyHintrescata herramientas de solo lectura que la regex bloquearía de más,destructiveHintdetecta mutadores que se le escaparían; las herramientas sin anotar recurren a la heurística conservadora.mcp-proof planmuestra exactamente qué llamaría el auto-baselining y con qué criterio, antes de que nada toque producción;--include-destructivey--edge-casespermiten optar por más.📋 Un diff de contrato para CI —
mcp-proof inspectcongela la superficie servida (capacidades + herramientas + recursos + prompts, totalmente paginada) en un manifiesto con huella;mcp-proof diffclasifica cada cambio comoBREAKING/ADDITIVE/METADATAy sale con código distinto de cero ante cambios rupturistas — endurecimiento de esquemas, estrechamiento de enums, cambios de obligatoriedad, campos de salida eliminados y anotaciones de seguridad debilitadas cuentan.
Related MCP server: MCProbe
🚀 Inicio rápido
pip install git+https://github.com/YuCPbit/mcp-proof
mcp-proof run python my_server.py --fixtures fixtures/ --out report.html¿Auditar un servidor HTTP en ejecución? mcp-proof run --url http://localhost:8000/mcp --out report.html
El código de salida 0 significa: todas las comprobaciones MUST aprobadas, cero hallazgos de seguridad, cero desviaciones de comportamiento — un gate de CI de una línea.
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 breakingMira la diferencia en 60 segundos con el par de demostración integrado — un servidor limpio y otro con nueve violaciones plantadas:
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📊 Auditorías reales, informes reales
Objetivo | Veredicto | Informe |
Servidor oficial de filesystem de MCP ( | ✅ LISTO PARA PRODUCCIÓN — 11/11 comprobaciones MUST, 34/34 reproducciones limpias, 4 herramientas de escritura omitidas automáticamente | |
Servidor de era moderna 2026-07-28 (sin dependencias, validado de forma cruzada contra el SDK v2 oficial) | ✅ LISTO PARA PRODUCCIÓN — era detectada automáticamente vía | |
Servidor de demostración con 9 violaciones plantadas | ❌ NO LISTO PARA PRODUCCIÓN — 5 fallos MUST + 3 hallazgos de seguridad, todos capturados con evidencia | |
Servidor de demostración bien comportado | ✅ LISTO PARA PRODUCCIÓN — 16/16 MUST, paso completo de los tres carriles incl. baseline de regresión |
🔬 Los tres carriles
Carril | Qué demuestra | Cómo |
Conformidad de protocolo | El servidor implementa MCP correctamente en el cable — negociación de era, semántica de errores JSON-RPC, superficies de herramientas/recursos/prompts, esquemas de salida, consistencia de capacidades, paginación, higiene de stdout | Una sonda JSON-RPC artesanal observa el flujo de bytes crudo, así que nada se suaviza |
Seguridad e higiene | Los metadatos de herramientas están limpios: sin instrucciones inyectadas, Unicode oculto, secretos filtrados ni superficies de ejecución sin restricciones | Análisis estático determinista, cada hallazgo con su ID de control MSSS |
Regresión de comportamiento | El servidor sigue haciendo exactamente lo que hacía en la entrega | Grabación/reproducción de fixtures dorados con procedencia por huella, desviaciones clasificadas por severidad |
Cada carril alimenta un único informe — y el informe termina con una lista de correcciones priorizada, de modo que también sirve como plan de remediación.
📡 Soporte de protocolo
Transportes | stdio ✅ · Streamable HTTP ✅ |
Superficies | herramientas ✅ · recursos ✅ · prompts ✅ — consciente de capacidades en ambas direcciones |
Era moderna | ✅ carril de conformidad, detección automática — |
Era legacy (handshake de initialize, | ✅ todos los carriles |
Carril de regresión | ✅ ambas eras — sesión SDK (legacy) · sesión basada en sonda (moderna) |
El carril moderno está validado contra el SDK v2 oficial en ambas direcciones: el cliente oficial
adopta el servidor de pruebas moderno artesanal de mcp-proof vía server/discover, y mcp-proof ejecuta los
tres carriles completamente en verde contra servidores del SDK v2 oficial en ambos transportes — stdio y
Streamable HTTP con respuestas SSE (scripts/crosscheck_modern_server.py).
Funciona con servidores en cualquier lenguaje — mcp-proof habla con el proceso (o la URL), no con tu código.
⚙️ CI en un paso
- uses: YuCPbit/mcp-proof@v0.5.0
with:
server-command: python my_server.py
fixtures: fixtures/El job falla a menos que el servidor esté listo para producción, y deja mcp-proof-report.html / .json /
.junit.xml / .sarif para subir. ¿Prefieres comandos crudos? mcp-proof run … --junit r.xml --sarif r.sarif
más mcp-proof diff es el mismo gate.
🏗️ Construye sobre la plantilla auditada y limpia
¿Estás construyendo un servidor en lugar de auditar uno? templates/server-starter/ es un servidor fastmcp que pasa esta auditoría de serie — esquemas de entrada restringidos, semántica de errores correcta, salida estructurada, cada práctica anotada con el ID de comprobación que satisface. Copia, implementa tus herramientas, audita, entrega con el informe.
🖥️ Plataformas
macOS | ✅ desarrollado y validado por completo |
Linux | ✅ ejercitado en CI |
Windows | ✅ ejercitado en CI |
🗺️ Hoja de ruta
Versión | Enfoque |
v0.3 | ✅ Soporte de protocolo de doble era, publicado en main — detección automática de era, 19 comprobaciones de era moderna, sesiones de regresión de doble era, validado contra el SDK v2 oficial en ambos transportes |
v0.4 | ✅ Carriles de recursos y prompts conscientes de capacidades · manifiesto de contrato |
v0.5 | ✅ Modelo de informe JSON versionado · salidas JUnit y SARIF · GitHub Action reutilizable ( |
v0.6 | ✅ Síntesis de argumentos en dos fases ( |
Más adelante | Carril semántico opcional (aserciones evaluadas por LLM) — aparcado hasta que el núcleo determinista esté completo |
🔍 Limitaciones
mcp-proof demuestra lo que se puede demostrar de forma determinista, y dice cuál es cuál:
Los controles de seguridad cubren la superficie observable del protocolo y los metadatos. Los controles MSSS que requieren evidencia de implementación, fuente o proceso siempre se reportan como revisión manual — nunca como aprobados.
El auto-baselining clasifica las herramientas mediante una heurística conservadora de nombre/descripción. Revisa la lista de exclusión en el manifiesto de fixtures antes de confiar en una línea base registrada contra producción.
La corrección semántica (¿la respuesta significa lo correcto?) queda fuera del núcleo determinista por diseño.
📄 Licencia
MIT — la taxonomía en la sección de cumplimiento MSSS sigue el Estándar de Seguridad del Servidor MCP (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