list_tasks
Retrieve and organize all tasks from DeltaTask MCP Server with optional filtering by tags. Ideal for managing and viewing task details systematically.
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-69 (handler)MCP tool handler and registration for 'list_tasks'. The @mcp.tool() decorator registers the tool with the name 'list_tasks' based on the function name. It accepts optional tags filter and delegates to TaskService.get_all_tasks() to fetch the list of tasks.@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)
- Helper method in TaskService that implements the core logic for listing tasks. It queries the repository for tasks matching the tags filter (include_completed=False by default, parent_id=None), then recursively attaches subtasks to top-level tasks before returning.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