diff --git a/.gitignore b/.gitignore index e575bfc..c83ac13 100644 --- a/.gitignore +++ b/.gitignore @@ -48,3 +48,4 @@ probe_*.py probe_*.txt p*_err.txt test_*.py +reference/ diff --git a/CLAUDE.md b/CLAUDE.md index 57d44e2..60b890d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -24,7 +24,7 @@ und wird in Claude Desktop eingebunden. ## Aktueller Stand -### Implementierte Tools (v0.11.7) +### Implementierte Tools (v0.11.8) | Kategorie | Tools | |---|---| @@ -70,7 +70,8 @@ und wird in Claude Desktop eingebunden. - v0.11.4: delete_meal_plan_entry (metadelete für dish/ und meal/-Objekte) ✓ - v0.11.5: add_meal_note (mpmealput; Notiz + Portionen; strukturierter Output) ✓ - v0.11.6: clear_list (alle Tasks einer Liste in einer Session löschen; bulk delete) ✓ -- v0.11.7: get_recipe_box (nur echte Rezepte, isRecipe=true) + Parser-Fix ingredients_parsed aus Freitext statt API-List ✓ ← aktuell +- v0.11.7: get_recipe_box (nur echte Rezepte, isRecipe=true) + Parser-Fix ingredients_parsed aus Freitext statt API-List ✓ +- v0.11.8: get_recipe_box isRecipe-Flag-Dokumentation (Freitext-Stubs vs. echte Rezepte) ✓ ← aktuell - v2.0: Schreibzugriff auf Wall-Posts (Erstellen, Kommentieren) diff --git a/README.md b/README.md index 04a5535..40d4936 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ 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.11.7) +## Features (v0.11.8) ### Read diff --git a/SPEC.md b/SPEC.md index b8e0305..0b9c690 100644 --- a/SPEC.md +++ b/SPEC.md @@ -542,8 +542,17 @@ POST https://api.familywall.com/api/metasync ``` a00.r.r.updatedCreated[] → Liste aller Rezepte der Familie → Felder identisch mit mprecipeput-Response (siehe oben) + .isRecipe → "true" oder "false" (wichtig!) ``` +**isRecipe-Flag (v0.11.8):** +- `isRecipe="true"` → Echtes Rezept in der Rezeptbox (`get_recipe_box` gibt es zurück) +- `isRecipe="false"` → Freitext-Stub aus dem Essensplaner ODER altes importiertes Rezept, + das nie korrekt getaggt wurde +- `get_recipe_box` filtert strikt nach `isRecipe="true"` — konsistent mit der Family Wall App +- **Bekanntes Beispiel:** `recipe/16282169_7055369` ("Elsässer Flammkuchen") hat `isRecipe=false` + trotz vorhandener Zutaten und Anleitung. Family Wall behandelt es nicht als Rezeptbox-Eintrag. + **Hinweis:** Der Parameter `id` nimmt einen MetaIdTypeEnum-Wert, kein tatsächliches Objekt. Nur `"recipe"` (lowercase) funktioniert – `"RECIPE"`, `"Recipe"` und andere Schreibweisen liefern `MetaIdTypeEnum`-Fehler. diff --git a/pyproject.toml b/pyproject.toml index 170d59c..ac62851 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "mcp-familywall" -version = "0.11.7" +version = "0.11.8" description = "MCP server for Family Wall — read your family's lists and tasks via Claude" readme = "README.md" requires-python = ">=3.12" diff --git a/src/mcp_familywall/__init__.py b/src/mcp_familywall/__init__.py index eec2a4d..5dae133 100644 --- a/src/mcp_familywall/__init__.py +++ b/src/mcp_familywall/__init__.py @@ -1 +1 @@ -__version__ = "0.11.7" +__version__ = "0.11.8"