Purpose
mcp-server-taskwarrior is a Node.js-based server that implements the Model Context Protocol (MCP) to connect local TaskWarrior task management functionality to MCP-enabled clients (such as Claude Desktop). Users can interact with TaskWarrior through natural language without directly entering commands.
Main Capabilities
- View pending tasks: Get a list of all incomplete tasks.
- Filter tasks: Supports optional filtering by project name and tags.
- Add tasks: Can add new tasks, requiring a description; optionally specify a due date (ISO timestamp), priority ("H", "M", "L"), project name (lowercase, dot-separated), and tag array (lowercase).
- Mark as complete: Mark a task as completed by task ID or UUID.
Usage
- Ensure TaskWarrior (the task command) is installed and configured locally.
- Add this server's configuration to the MCP client's (such as Claude Desktop) configuration file claude_desktop_config.json (see the project documentation for the specific configuration method).
- Issue instructions to the client through natural language, for example:
- "What are my current work tasks?" executes task project:work next
- "TODO: Call my sister (high priority)" executes task add priority:H Call my sister
- "OK, I've called my sister" executes task done 1
Applicable Scenarios
Suitable for users who already use TaskWarrior to manage personal tasks and want to view, add, and complete tasks through an MCP client (such as Claude Desktop) using natural language.
Limitations
- Depends on a locally installed and configured TaskWarrior.
- Currently uses task id as the identifier, but TaskWarrior may renumber when new tasks are added or removed, causing the id to be unstable. A future plan is to switch to task UUID to solve this issue.
- Project names are required to be lowercase and dot-separated; tags are required to be lowercase.
- Due dates must use the ISO timestamp format.
- This project uses the MIT license.