list_tasks
Retrieve all tasks from your task management system, optionally filtered by specific tags to organize and view your workload.
Instructions
List all tasks with optional tags, if you user asks for a tag, please provide it in the request.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No |
Implementation Reference
- server.py:65-68 (handler)MCP tool handler for 'list_tasks'. Decorated with @mcp.tool(), it accepts an optional list of tags and delegates to TaskService.get_all_tasks(tags=tags). The type hints define the input schema (tags: list[str]) and output (list[dict[str, Any]]).@mcp.tool() async def list_tasks(tags: list[str] = None) -> list[dict[str, Any]]: """List all tasks with optional tags, if you user asks for a tag, please provide it in the request.""" return service.get_all_tasks(tags=tags)
- Core helper method in TaskService that implements task listing logic. Called by the list_tasks tool handler. Filters tasks by tags (among other params), retrieves from repository, and recursively adds subtasks for top-level tasks.def get_all_tasks(self, include_completed: bool = False, parent_id: Optional[str] = None, tags: List[str] = None) -> List[Dict[str, Any]]: """Get all tasks with optional filtering and their subtasks.""" # Get tasks from database tasks = self.repository.get_todos(include_completed, parent_id, tags) # Only add subtasks for top-level tasks if parent_id is None: for task in tasks: self._recursively_add_subtasks(task) return tasks