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 mituser_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.