docs: DEVLOG-Eintrag fuer M8
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
0ccb21303d
commit
96e105fe92
+74
-1
@@ -14,7 +14,80 @@ die Übersicht aus `scripts/zeit.sh summe`.
|
||||
| M5 | claude | 420 | 7,00 |
|
||||
| M6 | claude | 733 | 12,22 |
|
||||
| M7 | claude | 886 | 14,77 |
|
||||
| **Gesamt** | | **2452** | **40,87** |
|
||||
| M8 | claude | 69 | 1,15 |
|
||||
| **Gesamt** | | **2521** | **42,02** |
|
||||
|
||||
---
|
||||
|
||||
## 2026-09-13 – M8: MCP
|
||||
|
||||
**Dauer:** 69 Minuten (14:10–15:19), Art `claude`.
|
||||
|
||||
> Der kürzeste Meilenstein — weil das Fundament schon stand. Tokens, Rechte
|
||||
> und Protokoll kamen mit M7, der Kalenderschreibweg mit M4. Übrig blieb das
|
||||
> Zusammenstecken.
|
||||
|
||||
**Ziel der Sitzung:** Ein Sprachmodell soll den Alltag erleichtern können —
|
||||
ohne einen eigenen, weicheren Zugang zu bekommen als jede andere fremde
|
||||
Anwendung.
|
||||
|
||||
### Erledigt
|
||||
|
||||
- MCP-Server unter `/api/mcp` über `@modelcontextprotocol/sdk`
|
||||
- Sechs Werkzeuge: suchen, Woche ansehen, Kalender auflisten, anlegen,
|
||||
abhaken, einplanen
|
||||
- Das Einplanen aus der Serveraktion herausgelöst, damit Oberfläche und MCP
|
||||
dieselbe Stelle benutzen
|
||||
- 6 neue E2E-Tests, Beschreibung in `docs/MCP.md`
|
||||
|
||||
### Entscheidungen mit Begründung
|
||||
|
||||
**Dieselben Tokens, dieselben Rechte wie die Schnittstelle.** Ein
|
||||
Sprachmodell ist aus Sicht des Planers eine fremde Anwendung wie jede andere.
|
||||
Ein eigener Zugangsweg wäre ein zweiter Satz Regeln — und der zweite Satz ist
|
||||
immer der, den man vergisst zu pflegen.
|
||||
|
||||
**Die Werkzeugliste richtet sich nach den Rechten.** Was ein Token nicht
|
||||
darf, taucht gar nicht erst auf. Ein Modell soll nicht gegen eine Tür laufen,
|
||||
die für es verschlossen ist; und eine Fehlermeldung als Antwort auf einen
|
||||
Werkzeugaufruf ist verschwendeter Kontext.
|
||||
|
||||
**Wenige, grob geschnittene Werkzeuge.** Ein Modell, das zwischen zwanzig
|
||||
fast gleichen wählen muss, wählt falsch. Jedes weitere Werkzeug ist zudem
|
||||
eine zusätzliche Möglichkeit, versehentlich etwas zu ändern.
|
||||
|
||||
**Der Server kann nichts löschen.** Abhaken ja, wegräumen nein. Auch keine
|
||||
Bereiche, Projekte oder Einstellungen anfassen. Ein Modell soll den Alltag
|
||||
erleichtern, nicht die Ordnung umbauen.
|
||||
|
||||
**Das Einplanen liegt jetzt an einer gemeinsamen Stelle** — und die liegt
|
||||
bewusst **nicht** in einer Datei mit `'use server'`. Dort wird jede
|
||||
exportierte Funktion zu einem Endpunkt, den der Browser aufrufen kann; eine
|
||||
Funktion, die den Akteur als Parameter nimmt, wäre dann ein offenes Tor.
|
||||
|
||||
**Zustandslos.** Der Planer hat keine langlaufenden Vorgänge, und eine
|
||||
Sitzungsverwaltung wäre Zustand, den mehrere Container nicht teilen könnten.
|
||||
|
||||
### Probleme und Lösungen
|
||||
|
||||
| Problem | Lösung |
|
||||
| --------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Der SDK-Transport erwartet Node-Streams, Next liefert `Request` | Das SDK bringt seit 1.30 `WebStandardStreamableHTTPServerTransport` mit — `handleRequest(Request): Promise<Response>` passt direkt. |
|
||||
| ESLint beanstandete das Auslesen der Formularfelder | `FormData.get` kann auch eine Datei liefern; die würde beim Stringify zu `[object Object]`. Ein Helfer nimmt jetzt nur Text. |
|
||||
|
||||
### Offene Punkte
|
||||
|
||||
- Der Server ist gegen die eigenen Tests geprüft, nicht gegen einen echten
|
||||
Client. Ein Lauf mit Claude Code gegen die laufende Instanz wäre der
|
||||
Beweis, dass Handschlag und Werkzeugbeschreibungen auch dort taugen.
|
||||
- Die Handbuchbilder sind unverändert aus M7 — der MCP-Server hat keine
|
||||
Oberfläche, es gibt nichts abzubilden.
|
||||
|
||||
### Commits
|
||||
|
||||
- 5f45dff refactor: Einplanen aus der Serveraktion herauslösen
|
||||
- bdc4260 feat: MCP-Server über denselben Token wie die API
|
||||
- (docs) MCP beschreiben, Fahrplan abschließen
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -6,3 +6,4 @@ datum;start;ende;minuten;meilenstein;art;notiz
|
||||
2026-09-11;06:35;13:35;420;M5;claude;M5 Benachrichtigungen fertig
|
||||
2026-09-11;20:47;09:00;733;M6;claude;M6 Integrationen fertig
|
||||
2026-09-12;10:15;01:01;886;M7;claude;M7 Schnellerfassung und API fertig
|
||||
2026-09-13;14:10;15:19;69;M8;claude;M8 MCP fertig
|
||||
|
||||
|
Reference in New Issue
Block a user