feat: category assignment in create_task / update_task (v0.4.10)

Verified via FW_DEBUG=1 + systematic param-name probing that the
correct parameter is `taskCategoryId` with value = full metaId from
get_categories (e.g. taskCategory/23431854_200).  Numeric systemCategoryId
alone causes API error; full metaId is accepted and stored.

Changes:
- create_task: add optional category_id parameter → sent as taskCategoryId
- update_task: add optional category_id parameter → sent as taskCategoryId;
  guard now accepts category_id-only updates
- get_tasks: expose category_id field in returned task objects
- get_categories: update docstring (param name now known)
- SPEC.md: document verified taskCategoryId param + clarify categories[]
  vs taskCategoryId field distinction
- scripts/find_category_param.py: discovery script used to find param name

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-16 06:54:10 +02:00
parent 9bc6a54783
commit a76dc0fd51
6 changed files with 262 additions and 26 deletions
+4 -4
View File
@@ -2,21 +2,21 @@
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.9)
## Features (v0.4.10)
### Read
- `get_circles` -- list all family circles
- `get_members` -- list members of a circle (or all circles)
- `get_lists` -- list all task lists (optionally filtered by circle)
- `get_tasks` -- list tasks in a specific list
- `get_tasks` -- list tasks in a specific list (includes `category_id` field)
- `get_categories` -- list categories available for a list (locale-filtered, default: German)
- `get_activities` -- list recent wall activities (author resolved to display name)
### Write (with confirmation prompt)
- `create_task` -- create a new task in a list
- `update_task` -- update the text/description of an existing task
- `create_task` -- create a new task in a list (supports `category_id` for shopping lists)
- `update_task` -- update text, description, and/or category of an existing task
- `toggle_task` -- mark a task complete or reopen it
- `delete_task` -- permanently delete a task
- `like_post` -- like or unlike a wall post/activity