MCP Covenant
semver para la interfaz de tu servidor MCP
Captura los tools/resources/prompts de un servidor en un lockfile y falla el CI ante cambios incompatibles, con clasificación JSON-Schema consciente de la dirección (estrechar un esquema de entrada vs aflojar uno de salida rompe a distintos clientes) más un linter de higiene de esquema. Binario Rust único, stdio + HTTP, SARIF + GitHub Action. 132 tests, en crates.io, MIT.
Qué problema resuelve
Cuando publicas una biblioteca tipada tienes una API pública y herramientas que gritan en cuanto la rompes. Los servidores MCP no tienen ni lo uno ni lo otro. Sirven lo que la lista de herramientas devuelva hoy. Renombra una herramienta, añade un argumento obligatorio, estrecha un enum, y cada agente construido sobre tu servidor se rompe mientras nada en tu tubería se entera.
Cómo funciona
Toma una instantánea de la interfaz del servidor en un archivo de bloqueo que subes al repositorio, luego compara la interfaz viva contra esa línea base en cada ejecución y clasifica cada diferencia como lo haría una persona: rompedora, menor o de parche. Una herramienta eliminada y una propiedad obligatoria nueva son rompedoras, y lo dice con la ruta exacta, así que la salida se lee más como un comentario de revisión que como un diff. El código de salida hace fallar la CI y te dice qué salto de versión exige realmente el cambio.
Cuándo usarlo
Añádelo en el momento en que alguien que no seas tú llame a tu servidor. A partir de ahí el archivo de bloqueo es el contrato, y un cambio rompedor pasa a ser una decisión consciente con salto de versión en vez de algo de lo que te enteras por un informe de fallo.
Cuándo no usarlo
Vigila la interfaz, no el comportamiento. Una herramienta que conserva su firma exacta y empieza a devolver otra cosa en silencio pasa todas las comprobaciones. Además solo sirve cuando se espera que la interfaz sea estable: en las primeras semanas de un servidor, cuando todo se mueve, el archivo de bloqueo es ruido.
Stars
★ 0
installs
↓ 18
Clones (14d)
⊟ 36
Lenguaje
Rust
Actualizado
2026-08-21
Instalación
cargo install mcp-covenant