diff --git a/docs/tp49-cf-access-startauftrag.md b/docs/tp49-cf-access-startauftrag.md index 72c74f3..29a7e9d 100644 --- a/docs/tp49-cf-access-startauftrag.md +++ b/docs/tp49-cf-access-startauftrag.md @@ -31,6 +31,29 @@ Entfernen : include {"login_method":{"id":"72c1291b-a38d-4bc7-af97-5dee04a4f8 Behalten : include {"login_method":{"id":"9024c7a6-2d1f-4432-9f48-51593acd1361"}} (type=onetimepin) ``` +## 🔴 ZUERST: MCP-Verfügbarkeit prüfen — und anhalten, wenn er fehlt + +Christoph-Direktive für diese Session: **zu Sessionbeginn prüfen, ob der Cloudflare-MCP läuft. +Wenn nicht: anhalten und melden, nicht improvisieren.** + +Der MCP ist in `~/.claude/settings.json` aktiviert (`enabledMcpjsonServers`) und in `.mcp.json` +definiert als **Remote-Server** `https://mcp.cloudflare.com/mcp` (OAuth-Login, nicht der lokale +`.env`-Token). Prüfschritt: + +``` +ToolSearch("cloudflare access apps") → erscheinen mcp__cloudflare__* Tools? +``` + +**Wenn nein:** stoppen, dem User melden. Nicht auf `curl` ausweichen, ohne das zu sagen — +der Wechsel ist eine Entscheidung, keine Nebensache. + +### ⚠️ Der MCP ist READ-ONLY — er kann den Fix nicht ausführen + +`docs/cf-tunnel-mapping.md:321`: der `cloudflare`-MCP (OAuth) ist **read-only**; ein +Create/Write-Versuch endet mit `10000 Authentication error`. **Der gesamte Bestandsaufnahme-Teil +(Schritte 1–2) läuft über den MCP. Die Änderung (Schritt 3) braucht `curl` + `CF_API_TOKEN`.** +Diese Trennung nicht verwischen — sonst sucht die Session den Fehler an der falschen Stelle. + ## 🔴 Gotchas — sonst läuft die Session in bekannte Fallen 1. **App-IDs sind 32 Hex.** Die Kurzform `16aaec78` liefert `12045 invalid_application_id`.