diff --git a/README.md b/README.md index be2c483..662651b 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, and tasks directly from Claude. -## Features (v0.4.2) +## Features (v0.4.3) ### Read diff --git a/SPEC.md b/SPEC.md index a30faaf..3b04d16 100644 --- a/SPEC.md +++ b/SPEC.md @@ -270,15 +270,18 @@ kritisch. POST https://api.familywall.com/api/wallmood Content-Type: application/x-www-form-urlencoded -**Body-Parameter (zu verifizieren):** +**Body-Parameter:** | Parameter | Pflicht | Wert | |---|---|---| -| `wallId` | ja | Post-ID aus `get_activities` (Format `wall/23431854_31119189`) | +| `wall_message_id` | ja (verifiziert) | Post-ID aus `get_activities` (Format `wall/23431854_31119189`) | | `moodType` | vermutlich ja | `"LIKE"` zum Liken, `"NONE"` zum Unliken (zu verifizieren) | -**Verhalten:** Gleicher Endpoint für Like und Unlike. Mechanismus (Toggle vs. explizit) -und genaue Parameter-Namen sind noch zu verifizieren via `FW_DEBUG=1`. +**Hinweis:** Parameter-Name `wall_message_id` wurde durch API-Fehlermeldung +(`"missing value in: wall_message_id"`) verifiziert. Vorheriger Wert `wallId` war falsch. + +**Verhalten:** Gleicher Endpoint für Like und Unlike. `moodType`-Werte und +Response-Struktur noch zu verifizieren via `FW_DEBUG=1`. Ein Like erzeugt serverseitig einen neuen Wall-Eintrag (Nebeneffekt). @@ -298,4 +301,5 @@ Ein Like erzeugt serverseitig einen neuen Wall-Eintrag (Nebeneffekt). - ~~`taskupdate2`: ob `taskListId` Pflichtfeld ist~~ → **nein**, nicht erforderlich (verifiziert) - ~~`taskmark`: korrekter Parameter-Name~~ → **`taskId`** (nicht `metaId`!) (verifiziert) - ~~`metadelete`: korrekter Parameter-Name + Response-Struktur~~ → **`id`**, Response `"true"` (verifiziert) -- `wallmood`: Parameter-Namen (`wallId`?, `moodType`?), Toggle vs. explizit, Response-Struktur \ No newline at end of file +- ~~`wallmood`: Parameter-Name `wallId`~~ → **`wall_message_id`** (verifiziert via API-Fehlermeldung) +- `wallmood`: `moodType`-Werte (`"LIKE"` / `"NONE"`?), Toggle vs. explizit, Response-Struktur \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index de5e79d..edd8212 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "mcp-familywall" -version = "0.4.2" +version = "0.4.3" 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/server.py b/src/mcp_familywall/server.py index f0203a9..09ae099 100644 --- a/src/mcp_familywall/server.py +++ b/src/mcp_familywall/server.py @@ -490,9 +490,11 @@ def like_post(post_id: str, like: bool = True) -> str: # wallmood is a toggle endpoint — same endpoint for like and unlike. # The 'like' parameter controls the intended state; since the endpoint # toggles server-side state, it is sent as 'moodType' to allow the server - # to differentiate. Exact parameter names to be verified via FW_DEBUG=1. + # to differentiate. + # Verified: correct parameter name is 'wall_message_id' (API error message confirmed). + # 'moodType' values ("LIKE" / "NONE") still to be confirmed via FW_DEBUG=1. params: dict[str, Any] = { - "wallId": post_id, + "wall_message_id": post_id, "moodType": "LIKE" if like else "NONE", }