Skip to main content
Glama
YuCPbit
by YuCPbit

🧾 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.

ci python checks transports license

English · 简体中文

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/cacheScope en 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; --pdf para imprimir. El mismo modelo versionado se entrega como --json (esquema v1), --junit para cualquier CI, y --sarif para 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: readOnlyHint rescata herramientas de solo lectura que la regex bloquearía de más, destructiveHint detecta mutadores que se le escaparían; las herramientas sin anotar recurren a la heurística conservadora. mcp-proof plan muestra exactamente qué llamaría el auto-baselining y con qué criterio, antes de que nada toque producción; --include-destructive y --edge-cases permiten optar por más.

  • 📋 Un diff de contrato para CImcp-proof inspect congela la superficie servida (capacidades + herramientas + recursos + prompts, totalmente paginada) en un manifiesto con huella; mcp-proof diff clasifica cada cambio como BREAKING / ADDITIVE / METADATA y 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 breaking

Mira 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 (@modelcontextprotocol/server-filesystem)

✅ LISTO PARA PRODUCCIÓN — 11/11 comprobaciones MUST, 34/34 reproducciones limpias, 4 herramientas de escritura omitidas automáticamente

HTML · PDF

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 server/discover, 21/21 MUST incl. sondas negativas, 2/2 reproducciones

HTML

Servidor de demostración con 9 violaciones plantadas

❌ NO LISTO PARA PRODUCCIÓN — 5 fallos MUST + 3 hallazgos de seguridad, todos capturados con evidencia

HTML

Servidor de demostración bien comportado

✅ LISTO PARA PRODUCCIÓN — 16/16 MUST, paso completo de los tres carriles incl. baseline de regresión

HTML

🔬 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 2026-07-28 (server/discover, _meta sin estado)

✅ carril de conformidad, detección automática — --era auto|modern|legacy

Era legacy (handshake de initialize, 2024-11-052025-11-25)

✅ 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 inspect / diff con gate de cambios rupturistas · plan de llamadas con anotaciones primero

v0.5

✅ Modelo de informe JSON versionado · salidas JUnit y SARIF · GitHub Action reutilizable (uses: YuCPbit/mcp-proof@v0.5.0) · UI del informe: navegación fija, anclas, filtros

v0.6

✅ Síntesis de argumentos en dos fases ($ref / allOf / const / pattern / format / límites / multipleOf) · sondas negativas verificadas que violan el esquema (TOOL-07) con reproductores mínimos

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).

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
8Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    A
    maintenance
    A 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.
    6
    6
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Audits 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.
    4
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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