get_todos
Retrieve todos from the Things app, with options to filter by project or include checklist items. Enables efficient task management and project tracking using natural language commands.
Instructions
Get todos from Things, optionally filtered by project
Args: project_uuid: Optional UUID of a specific project to get todos from include_items: Include checklist items
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| include_items | No | ||
| project_uuid | No |
Implementation Reference
- things_server.py:87-105 (handler)The main handler function for the 'get_todos' tool. It is decorated with @mcp.tool, which registers it as an MCP tool. The function retrieves todos from the Things app, optionally filtered by project UUID, includes checklist items if specified, formats them, and returns a string representation.@mcp.tool async def get_todos(project_uuid: str = None, include_items: bool = True) -> str: """Get todos from Things, optionally filtered by project Args: project_uuid: Optional UUID of a specific project to get todos from include_items: Include checklist items """ if project_uuid: project = things.get(project_uuid) if not project or project.get('type') != 'project': return f"Error: Invalid project UUID '{project_uuid}'" todos = things.todos(project=project_uuid, start=None, include_items=include_items) if not todos: return "No todos found" formatted_todos = [format_todo(todo) for todo in todos] return "\n\n---\n\n".join(formatted_todos)