From 36448e68e070a8b2928aaeae74edb8e2a5919a77 Mon Sep 17 00:00:00 2001 From: Marcus van Elst Date: Fri, 17 Apr 2026 07:38:38 +0200 Subject: [PATCH] docs: clean up documentation (v0.8.2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Roadmap: v0.8.x mpadditemtolist marked as 'cancelled – Family Wall native' - CLAUDE.md: add recipe.recipeCategoryIdList and scope params to tables; add mpstar/isFavorite limitation section - README.md: v0.8.0 → v0.8.2; get_lists clarification (returns all circles without scope); get_recipe_categories standard categories list - SPEC.md: update recipe categories explanation, taskupdatelist scope param, offene punkte clarification --- CLAUDE.md | 10 ++++++++-- README.md | 6 +++--- SPEC.md | 10 +++++----- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 6f91f90..cce1cc6 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -54,8 +54,8 @@ und wird in Claude Desktop eingebunden. - v0.8.0: Rezept-Kategorien (get_recipe_categories, create_recipe + category_ids, update_recipe + category_ids) ✓ - v0.8.1: Bugfixes (recipe categories) ✓ - v0.8.2: get_lists() ohne scope → alle Kreise ✓ ← aktuell +- v0.8.x: mpadditemtolist (gestrichen – Family Wall kann das nativ) - v0.9.x: Erinnerungen + Wiederholungen (Premium-Account erforderlich) -- v0.8.x: mpadditemtolist (Zutaten → Einkaufsliste) - v2.0: Schreibzugriff auf Wall-Posts (Erstellen, Kommentieren) @@ -146,10 +146,11 @@ Fehler bei falschen Parametern kommen nicht immer auf Top-Level: | `taskcategorydelete` | `id` | metaId der Kategorie | | `taskcreatelist` | `name`, `taskListType`, `sharedToAll`, `color`, `emoji`, `scope` | `scope`: Kreis-metaId für nicht-primäre Kreise | | `taskgettasklists` | `scope` | Kreis-metaId; ohne scope → primärer Kreis | -| `taskupdatelist` | `metaId`, `name`, `color`, `emoji` | `metaId` ⚠️ nicht `id`!; Partial Update | +| `taskupdatelist` | `metaId`, `name`, `color`, `emoji`, `scope` | `metaId` ⚠️ nicht `id`!; `scope`: Kreis-metaId für sekundäre Kreise; Partial Update | | `taskdeletelist` | `id`, `scope` | `scope`: Kreis-metaId für sekundäre Kreise | | `mprecipeput` | `recipe.name`, `recipe.isRecipe="true"`, `recipe.description`, `recipe.ingredients`, `recipe.instructions`, `recipe.prepTime`, `recipe.cookTime`, `recipe.serves`, `recipe.url` | Alle mit `recipe.`-Prefix! | | `mprecipeput` (Update) | zusätzlich `recipe.metaId` | Vorhandene ID → Update statt Create | +| `mprecipeput` (Kategorien) | `recipe.recipeCategoryIdList` | Mehrfach sendbar; leerer String `""` entfernt alle Kategorien | | `metasync` (Rezepte lesen) | `id="recipe"` | liefert `a00.r.r.updatedCreated[]` | | `acccreatefamily` | `name` | liefert numerische Kreis-ID als String in `a00.r.r` | | `accinvite` | `familyId`, `identifier`, `role="Unknown"`, `firstname` | nur für neue FW-Accounts | @@ -163,6 +164,11 @@ Eigene Posts können nicht geliked werden. API antwortet 200, macht aber nichts. Service Worker verschlüsselt den Unlike-Request-Body. Endpoint unbekannt. `like_post(like=False)` gibt Fehlermeldung zurück. +### mpstar / Rezept-Favorit +Service Worker fängt `mpstar` ab. `metamood` funktioniert nur auf +fremde Inhalte (Self-Reaction-Restriction). Eigene Rezepte +können nicht als Favorit markiert werden. Siehe SPEC.md § Offene Punkte. + ## Test-Credentials (nur für Entwicklung) diff --git a/README.md b/README.md index 3aaf48b..e353115 100644 --- a/README.md +++ b/README.md @@ -2,19 +2,19 @@ MCP server for [Family Wall](https://www.familywall.com) -- read and manage your family's circles, lists, tasks, and recipes directly from Claude. -## Features (v0.8.0) +## Features (v0.8.2) ### Read - `get_circles` -- list all family circles - `get_members` -- list members of a circle (or all circles) -- `get_lists` -- list all task lists (includes `emoji`, `color`, `circle_id`; `null` when unset); optional `scope` parameter filters by circle metaId or circle name +- `get_lists` -- list all task lists (includes `emoji`, `color`, `circle_id`; `null` when unset); without scope parameter returns lists from **all circles**; optional `scope` parameter filters by circle metaId or circle name - `get_tasks` -- list tasks in a specific list (includes `category_id`, `due_date`, `assignee_ids`) - `get_categories` -- list categories for a list (locale-filtered; custom categories always included; `custom` flag marks user-created ones) - `get_activities` -- list recent wall activities (author resolved to display name) - `get_recipes` -- list all family recipes (compact summary: id, name, prep/cook time, serves) - `get_recipe` -- get a single recipe in full detail (ingredients, instructions, ingredients_parsed, category_ids, etc.) -- `get_recipe_categories` -- list all available recipe categories (extracts from existing recipes) +- `get_recipe_categories` -- list all available recipe categories (always returns all 5 standard categories: Bei Kindern beliebt, Wirklich einfach, Nachspeisen, Schmeckt toll, Gemüse; plus any additional categories found in existing recipes) ### Write (with confirmation prompt) diff --git a/SPEC.md b/SPEC.md index b33c2dc..4c2e198 100644 --- a/SPEC.md +++ b/SPEC.md @@ -326,6 +326,7 @@ POST https://api.familywall.com/api/taskupdatelist | `name` | nein | Neuer Listen-Name | | `color` | nein | Hex-Farbwert z.B. `"#E53935"` | | `emoji` | nein | Unicode-Emoji z.B. `"🧪"` | +| `scope` | nein | Kreis-metaId für sekundäre Kreise; automatisch aus metaId abgeleitet | **Hinweis:** Nur übergebene Felder werden geändert (Partial Update). Felder die nicht mitgeschickt werden bleiben auf dem Server unverändert. @@ -677,10 +678,9 @@ a00.r.r ``` **Category IDs** have format `category/_`. Categories are family-wide. -Premium accounts have additional categories beyond the 5 available in free tier. - -**Limitation:** Currently no API endpoint to list all available categories. Categories are -discovered by examining existing recipes or hardcoding known IDs. +Standard categories (_2 to _6) are always available and derived from the family's metaId. +No API endpoint needed – IDs are constructed as `category/_`. +Premium accounts may have additional categories beyond the 5 available in free tier. ### `metamood` – Rezept-Reaktion (Stern setzen) POST https://api.familywall.com/api/metamood @@ -734,5 +734,5 @@ bevor er den Server erreicht. Die Transformation ist ohne Service-Worker-Analyse - Erinnerungen (reminder) – nur Premium-Account - Wiederholungen (repeat) – nur Premium-Account - Rezept-Kategorien-Listing-Endpoint (derzeit keine API, müssen aus Rezepten extrahiert werden) -- mpadditemtolist (Zutaten aus Rezept → Einkaufsliste) +- mpadditemtolist (nicht nötig – Family Wall kann das nativ über die Web-App) - Einladung bestehender FamilyWall-Nutzer (accinvite nur für neue Accounts)