Node.js server implementing Model Context Protocol (MCP) for TaskWarrior operations.
- View pending tasks
- Filter tasks by project and tags
- Add new tasks with descriptions, due dates, priorities, projects and tags
- Mark tasks as complete
Note: This runs your local task binary, so TaskWarrior needs to be installed and configured!
Warning
This currently uses task id which is an unstable identifier; taskwarrior
sometimes renumbers tasks when new ones are added or removed. In the future
this should be more careful, using task UUID instead.
-
get_next_tasks
- Get a list of all pending tasks
- Optional filters:
project: Filter by project nametags: Filter by one or more tags
-
add_task
- Add a new task to TaskWarrior
- Required:
description: Task description text
- Optional:
due: Due date (ISO timestamp)priority: Priority level ("H", "M", or "L")project: Project name (lowercase with dots)tags: Array of tags (lowercase)
-
mark_task_done
- Mark a task as completed
- Required:
identifier: Task ID or UUID
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"taskwarrior": {
"command": "npx",
"args": [
"-y",
"mcp-server-taskwarrior"
]
}
}
}npm install -g mcp-server-taskwarriorMake sure you have TaskWarrior (task) installed and configured on your system.
- What are my current work tasks?
- Executes:
task project:work next
- Executes:
- TODO: Call my sister (high priority)
- Executes:
task add priority:H Call my sister
- Executes:
- OK, I've called my sister
- Executes:
task done 1
- Executes:
This MCP server is licensed under the MIT License. See the LICENSE file for details.