Files
planer/docs/MCP.md
T
2026-09-13 15:19:30 +02:00

84 lines
2.9 KiB
Markdown

# MCP-Server
Der Planer spricht das Model Context Protocol. Damit kann ein Sprachmodell
Aufgaben suchen, anlegen, abhaken und einplanen — mit denselben Tokens und
denselben Rechten wie die [Schnittstelle](API.md).
Adresse: `<APP_URL>/api/mcp`
## Einrichten
1. In der Anwendung unter **API** einen Token anlegen. Gib ihm nur, was das
Modell wirklich braucht.
2. Den Client auf die Adresse zeigen lassen, mit dem Token als Bearer.
Für Claude Code:
```bash
claude mcp add planer --transport http https://planer.example.de/api/mcp \
--header "Authorization: Bearer planer_…"
```
Für Clients, die nur stdio können, dazwischen `mcp-remote` setzen:
```json
{
"mcpServers": {
"planer": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://planer.example.de/api/mcp",
"--header",
"Authorization: Bearer planer_…"
]
}
}
}
```
## Werkzeuge
Welche ein Modell zu sehen bekommt, hängt am Token. Was nicht erlaubt ist,
taucht gar nicht erst in der Liste auf — ein Modell soll nicht gegen eine Tür
laufen, die für es verschlossen ist.
| Werkzeug | Recht | Was es tut |
| -------------------- | ----------- | ----------------------------------------------- |
| `aufgaben_suchen` | `lesen` | Aufgaben auflisten, optional gefiltert |
| `woche_ansehen` | `lesen` | Zeitblöcke einer Woche mit Summe |
| `kalender_auflisten` | `lesen` | Verbundene Kalender samt Kennung |
| `aufgabe_anlegen` | `erfassen` | Neue Aufgabe in der Inbox |
| `aufgabe_abhaken` | `schreiben` | Aufgabe auf erledigt setzen |
| `zeitblock_anlegen` | `schreiben` | Aufgabe einplanen und in den Kalender schreiben |
Zum Einplanen braucht es die Kennung eines Kalenderkontos — daher erst
`kalender_auflisten`, dann `zeitblock_anlegen`.
`zeitblock_anlegen` geht durch dieselbe Stelle wie das Ziehen in der
Wochenansicht: Rasterprüfung, Kalenderschreibweg, Schleifenschutz, Protokoll.
Ein über MCP angelegter Zeitblock verhält sich also genau wie ein von Hand
gezogener.
## Was der Server bewusst **nicht** kann
- **Löschen.** Weder Aufgaben noch Zeitblöcke. Abhaken ja, wegräumen nein.
- **Bereich oder Projekt setzen.** Was hier entsteht, landet in der Inbox.
- **Bereiche, Projekte oder Kalenderkonten anlegen und ändern.**
- **Einstellungen oder Tokens anfassen.**
Ein Modell soll den Alltag erleichtern, nicht die Ordnung umbauen.
## Protokoll
Jede schreibende Nutzung landet im Protokoll — mit dem Vermerk, dass sie über
MCP kam, und mit dem Token. Ein Modell, das Aufgaben anlegt, muss genauso
nachvollziehbar sein wie ein Mensch. Eher noch mehr.
## Ohne Sitzungen
Der Server ist zustandslos: Jede Anfrage steht für sich. Der Planer hat keine
langlaufenden Vorgänge, und eine Sitzungsverwaltung wäre Zustand, den mehrere
Container nicht teilen könnten.