taskwarrior-mcp 0.2.0
MCP server for Taskwarrior CLI task management
Requires Python: >=3.10
Keywords: ai, llm, mcp, task-management, taskwarrior

# Taskwarrior MCP Server

An MCP (Model Context Protocol) server that enables AI assistants to interact with [Taskwarrior](https://taskwarrior.org/), 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](https://taskwarrior.org/) installed and available in your PATH

### Installing Taskwarrior

```bash
# 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)

```bash
pip install taskwarrior-mcp
```

### From Source

```bash
git clone https://github.com/yourusername/taskwarrior-mcp.git
cd taskwarrior-mcp
pip install -e .
```

### Verifying Installation

```bash
# Check the version
python -c "from taskwarrior_mcp import __version__; print(__version__)"

# Or run the server directly
taskwarrior-mcp --help
```

## Configuration

See the [examples/](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` |

```json
{
  "mcpServers": {
    "taskwarrior": {
      "command": "taskwarrior-mcp"
    }
  }
}
```

### Claude Code CLI

Add to your `~/.claude/settings.json`:

```json
{
  "mcpServers": {
    "taskwarrior": {
      "command": "taskwarrior-mcp"
    }
  }
}
```

### Using uvx (no installation required)

```json
{
  "mcpServers": {
    "taskwarrior": {
      "command": "uvx",
      "args": ["taskwarrior-mcp"]
    }
  }
}
```

### Advanced Configuration

Use environment variables to customize Taskwarrior behavior:

```json
{
  "mcpServers": {
    "taskwarrior": {
      "command": "taskwarrior-mcp",
      "env": {
        "TASKRC": "/path/to/custom/.taskrc",
        "TASKDATA": "/path/to/custom/.task"
      }
    }
  }
}
```

See [examples/](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

```bash
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

```bash
pytest
```

### Code Quality

```bash
# Format code
black .
ruff check --fix .

# Type checking
mypy taskwarrior_mcp.py
```

## License

MIT License - see [LICENSE](LICENSE) for details.

## Contributing

Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on:

- Development setup
- Commit message conventions (Conventional Commits)
- Pull request process
- Code style requirements