Taskwarrior MCP

MCP server wrapping the Taskwarrior CLI for structured, project-scoped task management.

OtherRustv0.1.2

task-warrior-mcp

A Model Context Protocol server that wraps the Taskwarrior CLI. Gives Claude (or any MCP client) structured, project-scoped access to your tasks.

Why project-scoped?

Every read and write operation requires a project field. The server automatically prepends project:<name> to all Taskwarrior queries. Without this, a single task next call can dump thousands of unrelated tasks into your LLM's context — slow, expensive, and useless. An explicit all_projects boolean opt-out exists for the rare cases that genuinely need a global view.

Requirements

Installation

From MCP Registry (recommended)

Find task-warrior-mcp on the MCP Registry and follow the installation prompt in your MCP client. No build step required.

From source

Requires Rust (stable).

git clone https://github.com/<you>/task-warrior-mcp
cd task-warrior-mcp
cargo build --release

The binary lands at target/release/task-warrior-mcp.

Configuration

Claude Code (global, all sessions)

If installed via the MCP registry, your client handles configuration automatically. For a local build:

claude mcp add --scope user taskwarrior /path/to/task-warrior-mcp/target/release/task-warrior-mcp

Claude Desktop

Merge the snippet below into your claude_desktop_config.json (replace <INSTALL_DIR> with the absolute path to this repo):

{
  "mcpServers": {
    "taskwarrior": {
      "command": "<INSTALL_DIR>/target/release/task-warrior-mcp",
      "args": []
    }
  }
}

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

Tools

ToolRequiredOptional
add_taskdescription, projectdue, tags, priority, wait, scheduled
list_tasksprojectfilter, report, all_projects
search_taskspattern, projectfilter, all_projects
get_taskid—
modify_taskid, modifications—
complete_taskid—
delete_taskid—
annotate_taskid, note—

Date syntax

today · tomorrow · eow · eom · friday · 2025-06-15 · 2025-06-15T14:30 · today+3d · later

Filter virtual tags

+OVERDUE · +DUE · +TODAY · +READY · +ACTIVE · +BLOCKED · +BLOCKING · +WAITING

Reports

next (default, urgency-sorted) · list · all · completed · waiting · blocked

Priorities

H (high) · M (medium) · L (low)

Development

just build          # cargo build --release
just test           # run all tests (each isolated in a temp taskwarrior DB)
just lint           # clippy + fmt check

Or use cargo directly:

cargo test
cargo clippy
cargo fmt

A pre-push hook runs fmt + clippy + tests automatically — no setup needed after cloning.

CI runs the same checks on every push and PR via GitHub Actions.

Releasing

Requires: just, gh, jq, openssl, and cargo-edit (just setup).

just setup                  # install cargo-edit (one-time)
just release                # bump patch, build, push tag, create GitHub release, update server.json
just release minor          # bump minor version
just release-version 1.2.3  # explicit version
just publish                # push server.json to the MCP registry (after mcp-publisher login)

Setup from the maintainer

This listing does not have a supported local package template. Use the maintainer’s documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.

Package

https://github.com/KaiErikNiermann/taskwarrior-mcp/releases/download/v0.1.2/task-warrior-mcp.mcpbother

Compatible MCP Clients

Taskwarrior MCP works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More