Doku: MCP-OAuth (claude.ai-Verbindung)

This commit is contained in:
Claude (Erik)
2026-07-04 09:43:08 +02:00
parent 9233ebe58e
commit 4e81245c32
2 changed files with 16 additions and 0 deletions
+13
View File
@@ -44,3 +44,16 @@ curl -s -X POST https://workflow.flurneuordnung-sachsen.de/mcp \
## Technik
Code unter `0_workflow/mcp/`: `index.php` (Bootstrap + Auth + JSON-RPC-Transport), `McpServer.php` (Protokoll + Registry + Scope-Enforcement), `WorkflowTools.php` (Fachlogik), `McpKeys.php` (Key-Verwaltung, Tabelle `WORKFLOW_MCP_KEY`). nginx: exakte `location = /mcp` noetig (sonst faengt der Scan-Blocker den slash-losen Pfad ab).
## Verbinden mit claude.ai (OAuth)
Der claude.ai-Connector nutzt **OAuth 2.1** (statische Bearer-Keys funktionieren dort nicht). Der Server bildet OAuth auf die MCP-Keys ab.
1. In claude.ai einen **Custom Connector** anlegen, als URL **nur** `https://workflow.flurneuordnung-sachsen.de/mcp` eintragen — KEIN client_id / kein Key in die Connector-Felder.
2. Auf **Verbinden** klicken. Es öffnet sich eine Anmeldeseite des Workflow-MCP.
3. Dort den `wfmcp_…`-Key (aus dem Dashboard) eingeben → Zugriff erlauben. Das erteilte Token trägt die Scopes dieses Keys.
Discovery/Endpunkte (automatisch genutzt): `/.well-known/oauth-protected-resource`, `/.well-known/oauth-authorization-server`, `/register` (DCR), `/authorize`, `/token`.
**Fehler „nur die Startseite erscheint" / „invalid_client":** Der Connector wurde mit dem Key als client_id angelegt (ohne Discovery). Connector entfernen und neu hinzufügen — dann registriert sich claude.ai selbst.