MCP Covenant
semver für das Interface deines MCP-Servers
Snapshottet die Tools/Resources/Prompts eines Servers in ein Lockfile und failt CI bei Breaking-Changes, mit richtungsbewusster JSON-Schema-Klassifikation (ein Input-Schema zu verengen vs ein Output-Schema zu lockern bricht verschiedene Caller) plus Schema-Hygiene-Linter. Single Rust-Binary, stdio + HTTP, SARIF + GitHub Action. 132 Tests, auf crates.io, MIT.
Welches Problem es löst
Wenn du eine getypte Bibliothek ausliefert, hast du eine öffentliche Schnittstelle und Werkzeuge, die schreien, sobald du sie brichst. MCP-Server haben beides nicht. Sie liefern aus, was die Werkzeugliste heute zurückgibt. Benenn ein Werkzeug um, füge ein Pflichtargument hinzu, verenge eine Aufzählung, und jeder Agent auf deinem Server geht kaputt, während in deiner Pipeline nichts davon auffällt.
Wie es arbeitet
Es hält die Schnittstelle des Servers in einer Sperrdatei fest, die du eincheckst, vergleicht dann bei jedem Lauf die lebende Schnittstelle gegen diese Grundlinie und ordnet jeden Unterschied so ein, wie ein Mensch es täte: brechend, klein oder Fehlerbehebung. Ein entferntes Werkzeug und eine neue Pflichteigenschaft sind brechend, und es sagt das mit dem genauen Pfad, die Ausgabe liest sich also eher wie eine Anmerkung im Review als wie ein Diff. Der Rückgabewert lässt die CI scheitern, und es sagt dir, welchen Versionssprung die Änderung wirklich verlangt.
Wann du es nimmst
Nimm es in dem Moment dazu, in dem jemand außer dir deinen Server aufruft. Ab da ist die Sperrdatei der Vertrag, und eine brechende Änderung wird zu einer bewussten Entscheidung mit Versionssprung statt zu etwas, das du aus einem Fehlerbericht erfährst.
Wann du es nicht nimmst
Es beobachtet die Schnittstelle, nicht das Verhalten. Ein Werkzeug, das seine Signatur behält und still etwas anderes zurückzugeben beginnt, besteht jede Prüfung. Es nützt außerdem erst, wenn die Schnittstelle stabil sein soll: in den ersten Wochen eines Servers, wenn sich alles bewegt, ist die Sperrdatei Lärm.
Stars
★ 0
installs
↓ 18
Clones (14d)
⊟ 36
Sprache
Rust
Aktualisiert
2026-08-21
Installation
cargo install mcp-covenant