Ein Server. Zwei Wege. Jeder Agent spricht MCP.
COMPASS stellt seine Werkzeuge als Model-Context-Protocol-Server bereit. Die Werkzeugliste steht in der Dokumentation unter docs.compass.athron.io. Derselbe Server, dieselbe Werkzeugliste, egal ob ein Agent lokal läuft oder über das Netz kommt. Darunter liegt eine HTTP-API für eigene Skripte.
Für Agenten auf demselben Rechner
Claude Code und Cursor starten den Server als eigenen Prozess und sprechen über stdin und stdout. Der Schlüssel kommt aus der Umgebung.
Für Cowork, Claude-Apps und jeden HTTP-Client
Ein gemeinsamer Prozess hinter nginx. Jeder Request trägt seinen eigenen Schlüssel; der Server speichert keinen eigenen. Ohne Header antwortet er 401, bevor ein Werkzeug läuft.
# Claude Code claude mcp add --transport http --scope user compass \ https://<eure-instanz>/mcp/ \ --header "X-Compass-Key: <Schlüssel>"
Lesen und Schreiben getrennt
Ein Lese-Schlüssel auf einem Schreib-Werkzeug bekommt 401 mit Klartext, kein 500. Die Rolle prüft das Backend, nicht der Client.
Anmelden statt Schlüssel kleben
Connectoren erkennen die OAuth-Metadaten selbst. Der Browser öffnet die Anmeldung mit dem Firmenkonto; die Rolle bestimmt den Umfang: Admin schreibt, alle anderen lesen.
Lesen, schreiben, vorschlagen
gilt, warum, memory_search, aussage_put, frage_stellen. Die Dokumentation jedes Werkzeugs liegt in COMPASS selbst.
Für eigene Skripte
Unter /api/v1/ liegen dieselben Ressourcen: Sachen, Aussagen, Gedächtnis, Prozesse, Personas. Gelöscht wird nie — eine neue Aussage löst die alte per ersetzt ab, und die alte behält ihre eigene Geltungsspanne.
POST /api/v1/aussagen
X-Compass-Key: <Schreib-Schlüssel>
{ "sache": "zustellung",
"art": "entscheidung",
"text": "Zustellung bis 18 Uhr.",
"herkunft": "entschieden",
"ersetzt": 561 }Fehlt der Signierschlüssel des Servers, antworten die OAuth-Routen 503 mit Ursache. Der Weg über X-Compass-Key bleibt davon unberührt.