Skip to main content

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

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_suggest for smart recommendations
  • "What tasks are ready to start?" - Uses taskwarrior_ready for unblocked tasks
  • "What's blocking my progress?" - Uses taskwarrior_blocked and taskwarrior_dependencies
  • "Any tasks I've forgotten about?" - Uses taskwarrior_triage for stale/orphaned tasks
  • "Give me context on task 5" - Uses taskwarrior_context for 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

Metadata

Release files for taskwarrior-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for taskwarrior-mcp 0.2.0
File Size Uploaded Provenance
taskwarrior_mcp-0.2.0.tar.gz 125.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for taskwarrior-mcp 0.2.0
File Interpreter ABI Platform
taskwarrior_mcp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 155.4 kB

Release files / taskwarrior_mcp-0.2.0.tar.gz

Download URL taskwarrior_mcp-0.2.0.tar.gz
Size 125.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a85fdb0aa43e43c217f24aa44acb76739546c1334d17a915a4946a8bcc7a7cc4
BLAKE2b-256 checksum
How to use checksums
e344d935f09729bff9df5d6e4694e55030f12250b477570ddd499c1d28beac9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / taskwarrior_mcp-0.2.0-py3-none-any.whl

Download URL taskwarrior_mcp-0.2.0-py3-none-any.whl
Size 30.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
969baeec543baccecad73593881120e678be13bc067853f2d13864cfba099067
BLAKE2b-256 checksum
How to use checksums
9982f148fd39fc20accf13ca26965d646701808ef3cd53685774e03465c7d687
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Security for taskwarrior-mcp 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page