Skip to main content
Glama

sagrada-mcp

Model Context Protocol (MCP)-Server für Sagrada — Reasoning-Zustand für KI-Systeme verfolgen und verifizieren sowie beglaubigte Repository-Historie lesen.

Sagrada gibt Claude Code (und jedem MCP-fähigen Client) einen dauerhaften, inhaltsadressierten Speicher für Designentscheidungen, Überarbeitungen von Behauptungen, Widersprüche und die kryptografisch verifizierbare Kette von Änderungen, die den aktuellen Wissensstand erzeugt hat.

Was dieses Repository ist

Der Quellcode des Pakets sagrada-mcp auf PyPI, damit du nachlesen kannst, was du installiert hast, statt uns beim Wort zu nehmen.

Das Repository wurde erstellt, nachdem 0.3.0 veröffentlicht wurde. Sein erster Commit ist der Quellcode dieser Version, wortwörtlich, getaggt als v0.3.0 — du kannst also den Code, den du installierst, und den Code, den du liest, gegeneinander prüfen:

pip download sagrada-mcp==0.3.0 --no-binary :all: --no-deps -d /tmp/pypi
tar xzf /tmp/pypi/sagrada_mcp-0.3.0.tar.gz -C /tmp
mkdir -p /tmp/tagged && git archive v0.3.0 | tar x -C /tmp/tagged
diff -r /tmp/tagged /tmp/sagrada_mcp-0.3.0 --exclude PKG-INFO   # no output

CI führt diesen Diff bei jedem Push aus. main ist gegenüber v0.3.0 vorn und enthält unveröffentlichte Arbeit; pip install sagrada-mcp gibt dir den Tag, nicht den Branch.

Was nicht hier ist: die kompilierte sagrada-Engine (Rust), die die 12 Reasoning-Tracker-Tools benötigen. Sie wird von PyPI als sagrada-engine installiert, und ihr Quellcode ist nicht veröffentlicht. Das Preflight-Gate — die Prüfung, die verweigert — befindet sich in diesem Repository, ist reines Python und hängt nicht von der Engine ab.

Related MCP server: @humanaccepted/mcp

Installation

Modus 1: pip install (saubere venv, kein Repository-Checkout)

pip install sagrada-mcp

Dadurch werden der Server und vendored Kopien seiner noch nicht veröffentlichten Abhängigkeiten installiert (siehe _vendor/README.md). Ein Server, 21 Tools:

  • Die 3 Preflight-Gate-Tools (preflight_action, list_beliefs, verify_receipt) prüfen folgenreiche Tool-Aufrufe gegen die typisierten Überzeugungen des Repos und schreiben Ed25519-signierte Aktionsbelege in .sagrada/receipts.jsonl, die jeweils offline unabhängig mit uvx er1-verify verifiziert werden können (1.0.1 oder später — eine nicht gepinnte Installation gegenüber einer Versionsbeschränkung ist eine deklarierte Abdeckungslücke, die der Verifizierer neu berechnet; eine Belegform, die vor 1.0.0 existierte). Deterministisch und ohne Engine — die Verweigerung hängt nicht von der binären Wheel-Datei ab.

    Belege werden mit einem Schlüsselpaar signiert, das für dein Repository bei der ersten Verwendung erzeugt wird: Der private Teil liegt unter .sagrada/operator_key (Modus 0600 auf POSIX, gitignored, verlässt nie deinen Rechner), der öffentliche Teil unter .sagrada/operator_key.pub soll committet werden. verify_receipt prüft den Signierer eines Belegs gegen diesen committeten Schlüssel und gegen die dahinterliegende signierte Nachfolgekette, sodass ein Beleg von einem Schlüssel, der nie diesem Repo gehörte, als foreign zurückkommt, statt stillschweigend durchzugehen. Frühere Versionen erzeugten einen Schlüssel pro Prozess, was jede Signatur unverankerbar machte — „signiert von X“, wobei X nur für einen einzigen Lauf existierte.

    Was das belegt, ist Kontinuität, nicht Identität: Wenn du den Fingerprint dieses Repos out-of-band festgelegt hast und der private Schlüssel den Rechner nie verlassen hat, dann fällt ein Austausch des Signierschlüssels auf. Jede Klausel zählt — eine Signatur beweist den Besitz einer Datei, und Dateien kopieren sich.

    Für Claude Code gibt es zusätzlich eine ENFORCED-Ebene: Das Konsolenskript sagrada-preflight-hook kann als PreToolUse-Hook eingebunden werden und blockiert dann mit HALT beantwortete Aufrufe in-band. Die Installation des Pakets registriert ihn nicht — nichts hier ändert deine Claude-Einstellungen. Du fügst ihn selbst hinzu; preflight_hook.py enthält die genaue einzeilige Zeile zum Einfügen.

  • Die 6 Repo-Record-Tools (Crux) sind voll funktionsfähig, wenn ein .crux-Artefakt (SAGRADA_CRUX) vorliegt. Ohne ein solches liefern sie eine hilfreiche Fehlerzeichenkette zurück.

  • Die 12 Reasoning-Tracker-Tools benötigen zusätzlich das kompilierte sagrada-engine-Wheel (eine harte Abhängigkeit seit 0.3.0; wird auf Plattformen mit Wheels automatisch installiert). Wenn die Engine irgendwie fehlt, geben sie einen klaren JSON-Fehler zurück, der das fehlende Teil benennt — niemals einen Traceback.

Modus 2: aus einem Klon dieses Repositories

git clone https://github.com/Cruxia-Labs/sagrada-mcp && cd sagrada-mcp
pip install -e ".[dev]"
pytest -q

Um den Server selbst auszuführen: Er spricht MCP über stdio und beendet sich nicht — er wartet auf einen Client. Führe ihn also über die Konfiguration deines MCP-Clients aus, statt auf eine Eingabeaufforderung zurück zu warten:

python -m sagrada_mcp.server     # blocks; Ctrl-C to stop

Der Server bevorzugt die echten Pakete sagrada_tracker / sagrada_preflight, wenn sie importierbar sind, und greift andernfalls auf die Kopien in sagrada_mcp/_vendor/ zurück — er verhält sich hier also identisch wie in dem Upstream-Baum, aus dem diese Kopien stammen. In einem Clone sind die vendored Kopien das, was läuft, und die Tests binden dieselben, die auch der Server nutzt (tests/conftest.py gibt im pytest-Kopf aus, welche es sind).

Konfiguration in Claude Code / Claude Desktop

{
  "mcpServers": {
    "sagrada": {
      "command": "sagrada-mcp",
      "env": { "SAGRADA_PROJECT": "/path/to/your/project" }
    }
  }
}

(In einem Repo-Checkout verwende "command": "python", "args": ["-m", "sagrada_mcp.server"].)

Mitgelieferte Tools (21)

Preflight-Gate (3) — deterministisch, keine Engine erforderlich

Tool

Zweck

preflight_action

Prüft einen Tool-Aufruf gegen die typisierten Überzeugungen des Repos; gibt ALLOW oder HALT mit signiertem Beleg zurück

list_beliefs

Was das Gate derzeit erzwingt und welche Überzeugungen HALT-fähig sind

verify_receipt

Verifiziert einen Beleg erneut: Signatur, neu berechnetes Urteil und ob der Signierer der Operator dieses Repos ist

Die Erkennung ist ein endlicher Best-Effort-Vokabular. Das Gate ordnet einen Tool-Aufruf Überzeugungen zu, indem es die Formen liest, die ein Agent tatsächlich ausgibt — Imports, Paketmanager-Installationen, Deploy-Ziele, Umgebungsvariablen-Zuweisungen. Eine Aktion, die in einer Form ausgedrückt ist, die es nicht erkennt, wird nicht zugeordnet, und eine nicht zugeordnete Aktion kollidiert mit nichts, wird also ALLOWed. Behandle HALT stattdessen als durchgesetzte Policy-Prüfung für erkannte Aktionen, nicht als Eindämmung.

Reasoning-Tracker (12) — erfordert die kompilierte sagrada-Engine

Tool

Zweck

track_decision

Erfasst eine einzelne Designentscheidung (automatisch als assert / refine / revise)

track_from_text

Extrahiert und erfasst Entscheidungen aus Freitext

ingest_text

Nimmt Freitext auf — extrahiert automatisch Behauptungen, kennzeichnet Widersprüche pro Behauptung

query_decision

sucht eine erfasste Entscheidung nach Begriff

search_decisions

Sucht Entscheidungen nach Begriff oder Definition

get_decision_history

Verlauf einer Entscheidung (oder aller)

get_reasoning_status

Vollständige Zusammenfassung des Reasoning-Zustands

check_coherence

Meldet Widersprüche und Kohärenz-Score

check_consistency

Nur-Lese-Prüfung, ob neuer Text bestehendes Wissen widerspricht (für NLI wird die optionale ML-Batterie benötigt)

verify_chain

Überprüft die kryptografische Integrität der Reasoning-Kette

retract_decision

Zieht eine zuvor erfasste Entscheidung zurück

what_changed

Prosa-Zusammenfassung der Änderungen seit einem Datensatzindex (kein Diff: jeder Bucket wird auf 5 Namen gekürzt)

Repo-Record / Crux (6) — funktioniert mit einem .crux-Artefakt

Deterministische Lesevorgänge eines transformierten Datensatzes der Repository-Historie — kein Modell, kein Netzwerk, keine Uhr. Jede Antwort trägt die Referenz des Datensatzes (Artefakt, state_root, Beleg) für Offline-Verifikation.

Tool

Zweck

repo_asof

Dafür, welchen Wert ein verfolgter Repo-Schlüssel an einem bestimmten Datum hielt (mit „gültig von/ bis“-Nachweisen)

what_replaced

Welcher Wert einen früheren Wert eines Schlüssels ersetzt hat und wann (markiert zurückgezogene Werte und Wiederkehrungen)

stale_rule_check

Listet die ausgedienten Werte und die gestorben-und-wieder-aufgekommen Werte einer verfolgten Datei auf, mit Nachweisen

crux_status

Der gelesene Datensatz: Artefakt, Quell-HEAD, Anzahl, state_root, Beleg

key_history

Jeden aufgezeichneten Wert eines ver- stimmten Schlüssels, zuerst älteste, mit Datensatzreferenz

key_status

Ob ein verfolgter Schlüssel aktiv, ausgedient oder gestorben-und-wieder-aufgekommen ist

Es gibt noch keinen öffentlichen Builder für .crux-Artefakte. Der Leser ist hier enthalten und ist nur auf der Standardbibliothek, sodass diese sechs Tools vollständig mit einem Artefakt funktionieren, das du bereits hast — aber das Tool, das eines baut, ist weder in diesem Repo noch veröffentlicht. Wenn du kein Artefakt hast, gibt jedes Crux-Tool einen Hinweis zurück, statt zu scheitern; und bis ein Builder erscheint, ist dieser Hinweis für öffentliche Nutzer ehrlich das Ende des Weges.

Bereitgestellte Ressourcen (3)

Ressourcen-URI

Inhalt

sagrada://state/summary

Kompakte Zustandszusammenfassung für den LLM-Kontext

sagrada://state/decisions

Alle erfassten Entscheidungen

sagrada://state/contradictions

Derzeit erkannte Widersprüche

Umgebungsvariablen

Variable

Zweck

SAGRADA_PROJECT

Pfad zum Sagrada-Projektverzeichnis (falls fehlt, automatisch initialisiert)

SAGRADA_NO_ML

Auf true setzen, um die ML-Klassifikations-Batterie zu deaktivieren (stattdessen deterministische Jaccard-Untergrenze)

SAGRADA_BACKEND

Persistenz-Backend: json_file (Standard) oder sqlite

SAGRADA_CRUX

Pfad zum .crux-Artefakt, das die Repo-Record-Tools lesen (fällt zurück auf results/*.rut unter SAGRADA_PROJECT)

Lizenz

Apache-2.0. Veröffentlicht von Cruxia-Labs.

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

Maintenance

Maintainers
Response time
Release cycle
Releases (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
    B
    quality
    A
    maintenance
    An MCP server that enforces fail-closed deterministic checks, independent refute-first review, and tamper-evident hash-chained receipts for AI agent outputs before claiming completion.
    4
    3
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    MCP server that auto-emits tamper-evident receipts for every tool call, enabling EU AI Act Article 12 compliance with signed, chain-linked receipts.
    1
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server that provides human-in-the-loop approval for risky AI agent actions, with durable state and audit logs.
    MIT

View all related MCP servers

Related MCP Connectors

  • AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.

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/Cruxia-Labs/sagrada-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server