Communitygithub.com

cortadel/cortadel

Selbstgehosteter, langfristiger temporal-graphischer Speicher für KI-Agenten – MCP, REST und ein Dashboard in einem Container, mit FalkorDB oder Memgraph.

Was ist cortadel?

Dieses Skill, „Cortadel Doctor“, ist ein Diagnosewerkzeug für die Cortadel-Installation, das umfassende Prüfungen der Konfiguration, Servergesundheit, Authentifizierung und Live-Datenabfrage durchführt. Es hilft Entwicklern und KI-Agenten-Nutzern, Fehler in ihrer selbstgehosteten temporal-graphischen Gedächtnislösung zu identifizieren, die MCP (Model Context Protocol), REST und ein Dashboard in einem einzigen Container integriert. Das Skill unterstützt die Backends FalkorDB und Memgraph und führt vier aufeinanderfolgende Checks aus: Konfigurationsauflösung (base_url, user_id, api_key), unauthentifizierten Server-Health-Check, authentifizierte API-Abfrage und Live-Lesevorgänge sowohl über REST als auch optional über MCP-Tools. Es gibt klare PASS/FAIL/WARN-Status für jeden Check aus und bietet konkrete nächste Schritte bei Fehlschlägen, wie z.B. die Überprüfung von API-Schlüsseln oder Benutzer-IDs. Wichtig: Das Skill verwendet rohe `curl`-Befehle anstelle der `api()`-Helper-Funktion, um echte HTTP-Statuscodes und Fehlerkörper sichtbar zu machen, was für eine genaue Diagnose entscheidend ist.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add cortadel/cortadel

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Cortadel Doctor

End-to-End-Installationsdiagnose. Führen Sie alle untenstehenden Checks aus und berichten Sie über alle – stoppen Sie nicht beim ersten Fehler. Verwenden Sie niemals die api()-Hilfsfunktion aus cortadel-plugin/scripts/lib.mjs für diese Checks: Sie wandelt jeden Fehler (nicht-2xx, Timeout, Netzwerkfehler) in null um, was für eine Diagnose, deren einzige Aufgabe es ist, einen 401 von null Ergebnissen zu unterscheiden, genau falsch ist. Verwenden Sie rohes curl (oder direkt die MCP-Tools), damit echte Statuscodes und Fehlerkörper sichtbar bleiben.

Ausführung

Check 1 – Konfigurationsauflösung

Lösen Sie dieselben erforderlichen Werte auf, die die eigenen Hooks des Plugins auflösen (base_url, user_id, api_key), zuerst die CLAUDE_PLUGIN_OPTION_<KEY>-Ebene, dann die CORTADEL_*-Umgebungsvariable – dies spiegelt die Priorität von cfg()/readOption() in cortadel-plugin/scripts/lib.mjs wider:

for pair in "CLAUDE_PLUGIN_OPTION_BASE_URL:CORTADEL_URL" \
            "CLAUDE_PLUGIN_OPTION_USER_ID:CORTADEL_USER_ID" \
            "CLAUDE_PLUGIN_OPTION_API_KEY:CORTADEL_API_KEY"; do
  opt="${pair%%:*}"; fallback="${pair##*:}"
  val="${!opt:-${!fallback:-}}"
  if [ -n "$val" ]; then echo "$fallback: aufgelöst"; else echo "$fallback: NICHT GESETZT"; fi
done

BESTANDEN, wenn alle drei auf einen nicht-leeren Wert aufgelöst werden; FEHLGESCHLAGEN – und melden Sie die restlichen Checks als „übersprungen, keine Konfiguration“ – wenn einer leer ist. Geben Sie niemals den tatsächlichen Wert des API-Schlüssels aus, sondern nur, ob er aufgelöst wurde.

Hinweis, dem Benutzer falls relevant klar mitgeteilt: CLAUDE_PLUGIN_OPTION_* ist dokumentiert als speziell in die Subprozesse von Hooks injiziert. Ob es auch innerhalb der Shell-Ausführung eines Skills sichtbar ist, wird in diesem Repository nicht bestätigt – prüfen Sie beide Ebenen und berichten Sie, welche tatsächlich jeden Wert aufgelöst hat, anstatt anzunehmen, dass die Marketplace-Ebene hier erreichbar ist.

Check 2 – Servergesundheit (ohne Authentifizierung)

GET /api/health benötigt überhaupt keine Anmeldeinformationen – es ist der richtige erste Netzwerkprobe, unabhängig davon, ob Ihr eigener API-Schlüssel gültig ist:

curl -s "$CORTADEL_URL/api/health"

Melden Sie den status der obersten Ebene (ok oder degraded) und, falls vorhanden, die checks-Map (z.B. checks.memgraph.ok, checks.embeddings.ok). Eine degraded/503-Antwort ist ein normales, nicht-ausnahmeartiges Ergebnis, das zu melden ist – kein Grund, die Ausführung der restlichen Checks zu stoppen.

Check 3 – Authentifizierung

curl -s -o /tmp/cortadel-doctor-auth.json -w "HTTP %{http_code}\n" \
  -H "Authorization: Bearer $CORTADEL_API_KEY" \
  "$CORTADEL_URL/api/v1/memories?user_id=$CORTADEL_USER_ID&size=1"
  • 200 → BESTANDEN.
  • 401 → FEHLGESCHLAGEN – fehlender oder ungültiger API-Schlüssel.
  • 403 → FEHLGESCHLAGEN – der Schlüssel ist gültig, stimmt aber nicht mit user_id überein.
  • alles andere → FEHLGESCHLAGEN – melden Sie den Statuscode und den Antworttext.

Check 4 – Live-Lesen

Wenn Check 3 200 zurückgegeben hat, lesen Sie /tmp/cortadel-doctor-auth.json zurück: Bestätigen Sie, dass es als JSON parst und ein items-Array sowie einen total-Zähler (die Form von MemoryListPagedResponse) enthält. Melden Sie total als Speicheranzahl der Installation – dies ist die einzige aggregierte Kennzahl, die der Server bereitstellt; es gibt keinen separaten Statistik-Endpunkt, daher ist dies das volle Ausmaß der verfügbaren „Statistiken“.

Wenn der cortadel-MCP-Server auch in dieser Sitzung verbunden ist, rufen Sie zusätzlich mcp__cortadel__search_memory({ topK: 1 }) (keine query – Durchsuchen-Modus) als zweiten, unabhängigen Live-Lese-Pfad über die MCP-Oberfläche anstelle von REST auf. Melden Sie ihn separat: Ein REST-Bestand mit einem MCP-Fehler (oder umgekehrt) grenzt ein, welche Hälfte der Installation tatsächlich defekt ist. Überspringen Sie diesen Unter-Check – schlagen Sie ihn nicht fehl – wenn das MCP-Tool in der aktuellen Sitzung nicht verfügbar ist.

Anzeige

Melden Sie alle vier Checks zusammen, PASS/FAIL/WARN pro Check, z.B.:

Config resolution   PASS  base_url, user_id, api_key alle aufgelöst (CORTADEL_* Ebene)
Server health       PASS  status=ok
Auth                PASS  HTTP 200
Live read           PASS  total=142 Erinnerungen; MCP search_memory: PASS

Wenn ein Check fehlschlägt, fügen Sie konkrete nächste Schritte gemäß dem Abschnitt „Fehlerbehebung“ in docs/plugin.md hinzu: 401 → CORTADEL_API_KEY überprüfen; 403 → CORTADEL_USER_ID überprüfen, ob sie mit dem Benutzer des Schlüssels übereinstimmt; beeinträchtigte Gesundheit → auf den fehlgeschlagenen checks.*-Eintrag verweisen.

Verwandte Skills