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>
This commit is contained in:
@@ -21,7 +21,7 @@ from mcp_familywall import __version__
|
||||
@click.version_option(__version__, "-v", "--version", prog_name="mcp-familywall")
|
||||
@click.pass_context
|
||||
def app(ctx: click.Context) -> None:
|
||||
"""mcp-familywall — MCP server for Family Wall (read-only)."""
|
||||
"""mcp-familywall — MCP server for Family Wall."""
|
||||
if ctx.invoked_subcommand is None:
|
||||
click.echo(ctx.get_help())
|
||||
|
||||
|
||||
@@ -510,8 +510,9 @@ def get_categories(list_id: str, locale: str = "de") -> str:
|
||||
"""Return the task categories available for a list as JSON.
|
||||
|
||||
Only shopping lists (taskListType=SHOPPING_LIST) have categories. TODO
|
||||
lists return an empty list. Categories are filtered by locale so only
|
||||
the language-appropriate names are returned (default: German).
|
||||
lists return an empty list. System categories are filtered by locale so only
|
||||
the language-appropriate names are returned (default: German). Custom categories
|
||||
have no locale field and are always displayed regardless of the locale parameter.
|
||||
|
||||
Use the returned ``id`` values as the ``category_id`` parameter in
|
||||
``create_task`` and ``update_task``.
|
||||
@@ -1003,6 +1004,8 @@ def update_task(
|
||||
def toggle_task(task_id: str, complete: bool) -> str:
|
||||
"""Mark a task as complete or incomplete.
|
||||
|
||||
IMPORTANT: Ask the user for confirmation before calling this tool.
|
||||
|
||||
Args:
|
||||
task_id: Task metaId from get_tasks.
|
||||
complete: ``True`` to mark done, ``False`` to reopen.
|
||||
@@ -1110,8 +1113,9 @@ def clear_list(list_id: str, only_open: bool = False) -> str:
|
||||
try:
|
||||
client.call("metadelete", {"id": meta_id})
|
||||
deleted_ids.append(meta_id)
|
||||
except Exception:
|
||||
except Exception as e:
|
||||
failed_ids.append(meta_id)
|
||||
logger.warning(f"Failed to delete {meta_id}: {e}")
|
||||
|
||||
client.logout()
|
||||
except FamilyWallError as exc:
|
||||
@@ -1782,6 +1786,8 @@ def delete_circle(circle_id: str) -> str:
|
||||
def like_post(post_id: str, like: bool = True) -> str:
|
||||
"""Like a wall post/activity with a STAR mood.
|
||||
|
||||
IMPORTANT: Ask the user for confirmation before calling this tool.
|
||||
|
||||
Note: Unlike (like=False) is not yet supported. The Family Wall API offers
|
||||
no discoverable endpoint or parameter to remove a like. Passing like=False
|
||||
returns an error without making any API call.
|
||||
|
||||
Reference in New Issue
Block a user