marcus 3e021bf01a chore(v1.0.1): opus review findings — docstring confirmation patterns, pyproject.urls, gitignore fix, logging
**Critical:**
- Add IMPORTANT confirmation lines to toggle_task and like_post docstrings
- Add [project.urls] section with Gitea repository link to pyproject.toml

**Medium:**
- Fix .gitignore: test_*.py recursive pattern (remove leading slash)
- Add exception logging to clear_list() for failed deletions
- Update get_categories() docstring: clarify custom vs system category locale behavior
- Add Versioning Policy section to CHANGELOG.md

**Minor:**
- Fix CLI help text (remove "(read-only)" qualifier)
- Add language note to CLAUDE.md (German file, English code)
- Create tests/README.md with integration test documentation
- Update version to 1.0.1 in pyproject.toml

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-17 17:28:22 +02:00

mcp-familywall

MCP server for Family Wall — manage your family's circles, lists, tasks, recipes, and meal plan directly from Claude.

Tools (v1.0.0)

Circles & Members

Tool Description
get_circles List all family circles
get_members List members of a circle (or all circles)
create_circle 🔒 Create a new Family Wall circle
update_circle 🔒 Rename a circle (primary circle protected)
add_member_to_circle 🔒 Invite a person to a circle by e-mail
delete_circle 🔒 Permanently delete a circle and all its content

Lists & Tasks

Tool Description
get_lists List all task lists (emoji, color, circle; optional scope filter)
get_tasks List tasks in a list (category, due date, assignees, recurrency, reminder)
get_categories List categories for a list (locale-filtered; custom categories always shown)
get_activities List recent wall activities (author resolved to display name)
create_list 🔒 Create a task list (SHOPPING_LIST, TODOS, or OTHER; optional emoji, color, circle)
update_list 🔒 Rename a list or change its emoji/color (partial update; system lists protected)
delete_list 🔒 Permanently delete a list and all its tasks (system lists protected)
create_category 🔒 Create a custom category (with optional icon)
delete_category 🔒 Delete a custom category (system categories protected)
create_task 🔒 Create a task (supports category, due date, assignees; use "Äpfel (5x)" for quantities)
update_task 🔒 Update text, category, due date, assignees, or move to a different list
toggle_task 🔒 Mark a task complete or reopen it
delete_task 🔒 Permanently delete a task
clear_list 🔒 Bulk-delete all tasks in a list (optional only_open=True keeps completed tasks)
like_post 🔒 Like a wall post/activity

Recipe Box

Tool Description
get_recipe_categories List all recipe categories
get_recipe_box List real recipes only (excludes free-text meal stubs)
get_recipes List all recipe entries including stubs (compact summary)
get_recipe Get a single recipe in full detail (ingredients, instructions, parsed ingredients)
create_recipe 🔒 Create a new recipe (name, ingredients, instructions, prep/cook time, serves, url, categories)
update_recipe 🔒 Update any field of a recipe (partial update; supports category_ids)
delete_recipe 🔒 Permanently delete a recipe

Meal Planner (Premium)

Tool Description
get_meal_plan Get meal plan entries for a date range (dish + meal entries, sorted by date + slot)
add_recipe_to_meal_plan 🔒 Add a recipe-box recipe to a meal slot (BREAKFAST/LUNCH/SNACK/DINNER)
add_meal_to_meal_plan 🔒 Add a free-text meal entry to a meal slot
add_meal_note 🔒 Add a note and/or serving count to a meal slot
delete_meal_plan_entry 🔒 Delete a meal plan entry (dish/… or meal/…)

🔒 = requires user confirmation before calling

Requirements

  • Python 3.12+
  • uv
  • A Family Wall account

Installation

uv tool install mcp-familywall

Setup

Run the interactive setup wizard once to store your credentials securely in the OS keyring:

mcp-familywall setup

This will:

  1. Prompt for your Family Wall email and password
  2. Verify the credentials against the API
  3. Store them in the OS keyring
  4. Print a Claude Desktop configuration snippet

Claude Desktop configuration

Add the printed snippet to your claude_desktop_config.json:

{
  "mcpServers": {
    "familywall": {
      "command": "uvx",
      "args": ["mcp-familywall", "serve"]
    }
  }
}

Verify

mcp-familywall check

Debug logging

Set FW_DEBUG=1 to log full request/response bodies to stderr (passwords are masked):

FW_DEBUG=1 mcp-familywall check

Credentials

Credentials are resolved in this order:

  1. Environment variables FW_EMAIL and FW_PASSWORD
  2. OS keyring (set by mcp-familywall setup)

License

MIT — © 2026 Marcus van Elst

S
Description
No description provided
Readme MIT 2.1 MiB
Languages
Python 100%