feat: add Task CRUD tools – create, update, toggle, delete (v0.4.0)
Implements four new MCP write tools via taskcreate2, taskupdate2, taskmark, and metadelete endpoints. Confirmation prompts noted in docstrings for destructive/mutating operations. Body parameters documented in SPEC.md as pending verification via FW_DEBUG=1. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -185,6 +185,66 @@ offener Punkte (z.B. `type`-Parameter beim Login, Kreis-Felder in Response).
|
||||
|
||||
**Wichtig:** Keine Secrets in Debug-Ausgaben (Passwort maskieren).
|
||||
|
||||
### `taskcreate2` – Task erstellen
|
||||
POST https://api.familywall.com/api/taskcreate2
|
||||
Content-Type: application/x-www-form-urlencoded
|
||||
|
||||
**Body-Parameter (aus API-Pattern abgeleitet, zu verifizieren):**
|
||||
|
||||
| Parameter | Pflicht | Wert |
|
||||
|---|---|---|
|
||||
| `taskListId` | ja | Listen-ID aus `get_lists` (z.B. `taskList/123_456`) |
|
||||
| `text` | ja | Aufgabentitel |
|
||||
| `description` | nein | Optionale Beschreibung |
|
||||
|
||||
**Response-Struktur (zu verifizieren):**
|
||||
```
|
||||
a00.r.r.metaId → metaId der neu erstellten Task
|
||||
```
|
||||
|
||||
### `taskupdate2` – Task aktualisieren
|
||||
POST https://api.familywall.com/api/taskupdate2
|
||||
Content-Type: application/x-www-form-urlencoded
|
||||
|
||||
**Body-Parameter (aus API-Pattern abgeleitet, zu verifizieren):**
|
||||
|
||||
| Parameter | Pflicht | Wert |
|
||||
|---|---|---|
|
||||
| `metaId` | ja | Task-ID aus `get_tasks` |
|
||||
| `text` | nein | Neuer Titel (mindestens `text` oder `description` erforderlich) |
|
||||
| `description` | nein | Neue Beschreibung |
|
||||
| `taskListId` | unklar | Evtl. erforderlich – zu verifizieren |
|
||||
|
||||
**Response-Struktur:** kein spezifischer Rückgabewert erwartet (Erfolg = kein `ex`/`un`-Key)
|
||||
|
||||
### `taskmark` – Task als erledigt/offen markieren
|
||||
POST https://api.familywall.com/api/taskmark
|
||||
Content-Type: application/x-www-form-urlencoded
|
||||
|
||||
**Body-Parameter (aus API-Pattern abgeleitet, zu verifizieren):**
|
||||
|
||||
| Parameter | Pflicht | Wert |
|
||||
|---|---|---|
|
||||
| `metaId` | ja | Task-ID aus `get_tasks` |
|
||||
| `complete` | ja | `"true"` oder `"false"` (String, nicht Boolean!) |
|
||||
|
||||
**Response-Struktur:** kein spezifischer Rückgabewert erwartet (Erfolg = kein `ex`/`un`-Key)
|
||||
|
||||
### `metadelete` – Objekt löschen (Task)
|
||||
POST https://api.familywall.com/api/metadelete
|
||||
Content-Type: application/x-www-form-urlencoded
|
||||
|
||||
**Body-Parameter (aus API-Pattern abgeleitet, zu verifizieren):**
|
||||
|
||||
| Parameter | Pflicht | Wert |
|
||||
|---|---|---|
|
||||
| `metaId` | ja | Task-ID aus `get_tasks` |
|
||||
|
||||
Hinweis: `metadelete` ist ein generischer Lösch-Endpoint. Er löscht jedes Objekt
|
||||
mit der angegebenen `metaId` – nicht nur Tasks. Entsprechend vorsichtig verwenden.
|
||||
|
||||
**Response-Struktur:** kein spezifischer Rückgabewert erwartet (Erfolg = kein `ex`/`un`-Key)
|
||||
|
||||
## Noch zu verifizieren
|
||||
|
||||
- ~~Exakter Wert für `type`-Parameter beim Login~~ → nicht senden (verifiziert per JS-Analyse)
|
||||
@@ -194,4 +254,8 @@ offener Punkte (z.B. `type`-Parameter beim Login, Kreis-Felder in Response).
|
||||
- Listen-Namen und Zähler (remainingTaskNumber, totalTaskNumber) → noch unbekannt
|
||||
- Kreis-Zuordnung in `accgetallfamily`-Response → noch offen
|
||||
- ~~Ob `partnerScope` / `withStateBean` benötigt werden~~ → nein (verifiziert)
|
||||
- Session-Lebensdauer (irrelevant da kein Caching)
|
||||
- Session-Lebensdauer (irrelevant da kein Caching)
|
||||
- `taskcreate2`: genaue Response-Struktur (metaId-Pfad), ob weitere Pflichtfelder existieren
|
||||
- `taskupdate2`: ob `taskListId` Pflichtfeld ist; Response-Struktur
|
||||
- `taskmark`: Response-Struktur
|
||||
- `metadelete`: Response-Struktur, welche Objekt-Typen unterstützt werden
|
||||
Reference in New Issue
Block a user