Skip to main content

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_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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

taskwarrior_mcp-0.2.0.tar.gz (125.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

taskwarrior_mcp-0.2.0-py3-none-any.whl (30.4 kB view details)

Uploaded Python 3

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

Hashes for taskwarrior_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a85fdb0aa43e43c217f24aa44acb76739546c1334d17a915a4946a8bcc7a7cc4
MD5 b8f5979ef8bbf8b022a30e2ccafd9f65
BLAKE2b-256 e344d935f09729bff9df5d6e4694e55030f12250b477570ddd499c1d28beac9e

See more details on using hashes here.

File details

Details for the file taskwarrior_mcp-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for taskwarrior_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 969baeec543baccecad73593881120e678be13bc067853f2d13864cfba099067
MD5 12ef88725437ef2417be156d9a808cf5
BLAKE2b-256 9982f148fd39fc20accf13ca26965d646701808ef3cd53685774e03465c7d687

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page