MCP server for Taskwarrior CLI task management
Project description
Taskwarrior MCP Server
An MCP (Model Context Protocol) server that enables AI assistants to interact with Taskwarrior, the powerful command-line task management tool.
Features
- Full Taskwarrior Integration: List, create, modify, complete, and delete tasks
- Project & Tag Management: Organize tasks with projects and tags
- Annotations: Add notes and context to tasks
- Filtering: Use Taskwarrior's powerful filter expressions
- Multiple Output Formats: Get responses in Markdown or JSON
- Agent Intelligence: Smart suggestions, dependency analysis, triage tools
Prerequisites
- Python 3.10 or higher
- Taskwarrior installed and available in your PATH
Installing Taskwarrior
# macOS
brew install task
# Ubuntu/Debian
sudo apt install taskwarrior
# Fedora
sudo dnf install task
# Arch Linux
sudo pacman -S task
Installation
From PyPI (recommended)
pip install taskwarrior-mcp
From Source
git clone https://github.com/yourusername/taskwarrior-mcp.git
cd taskwarrior-mcp
pip install -e .
Verifying Installation
# Check the version
python -c "from taskwarrior_mcp import __version__; print(__version__)"
# Or run the server directly
taskwarrior-mcp --help
Configuration
See the examples/ directory for complete configuration files.
Claude Desktop
Add to your Claude Desktop configuration file:
| Platform | Location |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
{
"mcpServers": {
"taskwarrior": {
"command": "taskwarrior-mcp"
}
}
}
Claude Code CLI
Add to your ~/.claude/settings.json:
{
"mcpServers": {
"taskwarrior": {
"command": "taskwarrior-mcp"
}
}
}
Using uvx (no installation required)
{
"mcpServers": {
"taskwarrior": {
"command": "uvx",
"args": ["taskwarrior-mcp"]
}
}
}
Advanced Configuration
Use environment variables to customize Taskwarrior behavior:
{
"mcpServers": {
"taskwarrior": {
"command": "taskwarrior-mcp",
"env": {
"TASKRC": "/path/to/custom/.taskrc",
"TASKDATA": "/path/to/custom/.task"
}
}
}
}
See examples/ for more configurations including multiple databases.
Available Tools
Core Task Management
| Tool | Description |
|---|---|
taskwarrior_list |
List tasks with optional filtering |
taskwarrior_add |
Create a new task |
taskwarrior_complete |
Mark a task as completed |
taskwarrior_modify |
Modify task attributes |
taskwarrior_delete |
Delete a task |
taskwarrior_get |
Get detailed info about a task |
taskwarrior_bulk_get |
Get detailed info about multiple tasks at once |
taskwarrior_annotate |
Add a note to a task |
taskwarrior_start |
Start working on a task |
taskwarrior_stop |
Stop working on a task |
taskwarrior_projects |
List all projects |
taskwarrior_project_summary |
Get detailed project summaries with priority breakdown, due dates, and active tasks |
taskwarrior_tags |
List all tags |
taskwarrior_undo |
Undo the last operation |
taskwarrior_summary |
Get task statistics |
Agent Intelligence Tools
| Tool | Description |
|---|---|
taskwarrior_suggest |
Get smart task recommendations with scoring and reasoning |
taskwarrior_ready |
List tasks that are ready to work on (no pending dependencies) |
taskwarrior_blocked |
List tasks that are blocked by dependencies |
taskwarrior_dependencies |
Analyze dependency graphs and find bottlenecks |
taskwarrior_triage |
Find forgotten/stale tasks that need attention |
taskwarrior_context |
Get rich task context with computed insights |
Usage Examples
Once configured, you can interact with Taskwarrior through your AI assistant:
Basic Task Management
- "What tasks do I have?"
- "Add a task to review the quarterly report with high priority"
- "Show me all tasks in the work project"
- "Complete task 5"
- "What's due this week?"
Agent Intelligence
- "What should I work on next?" - Uses
taskwarrior_suggestfor smart recommendations - "What tasks are ready to start?" - Uses
taskwarrior_readyfor unblocked tasks - "What's blocking my progress?" - Uses
taskwarrior_blockedandtaskwarrior_dependencies - "Any tasks I've forgotten about?" - Uses
taskwarrior_triagefor stale/orphaned tasks - "Give me context on task 5" - Uses
taskwarrior_contextfor rich task details
Development
Setup
git clone https://github.com/yourusername/taskwarrior-mcp.git
cd taskwarrior-mcp
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
Running Tests
pytest
Code Quality
# Format code
black .
ruff check --fix .
# Type checking
mypy taskwarrior_mcp.py
License
MIT License - see LICENSE for details.
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines on:
- Development setup
- Commit message conventions (Conventional Commits)
- Pull request process
- Code style requirements
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file taskwarrior_mcp-0.2.0.tar.gz.
File metadata
- Download URL: taskwarrior_mcp-0.2.0.tar.gz
- Upload date:
- Size: 125.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a85fdb0aa43e43c217f24aa44acb76739546c1334d17a915a4946a8bcc7a7cc4
|
|
| MD5 |
b8f5979ef8bbf8b022a30e2ccafd9f65
|
|
| BLAKE2b-256 |
e344d935f09729bff9df5d6e4694e55030f12250b477570ddd499c1d28beac9e
|
File details
Details for the file taskwarrior_mcp-0.2.0-py3-none-any.whl.
File metadata
- Download URL: taskwarrior_mcp-0.2.0-py3-none-any.whl
- Upload date:
- Size: 30.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
969baeec543baccecad73593881120e678be13bc067853f2d13864cfba099067
|
|
| MD5 |
12ef88725437ef2417be156d9a808cf5
|
|
| BLAKE2b-256 |
9982f148fd39fc20accf13ca26965d646701808ef3cd53685774e03465c7d687
|