LabscoMCP early access ↗
GabiUp2MCP SERVER

TaskChampion MCP

Taskwarrior and Timewarrior from an assistant, with a permission role that decides whether it can only read, also create, or also complete and delete.

by GabiUp2 ↗Project & Task ManagementCommunity

LABSCO SUMMARY

The role setting is the reason this is safe to connect.

Giving a model access to your task database is a real decision, and a cumulative role that a server enforces — rather than a prompt asking it to be careful — is the right shape for it. Start at CONTRIBUTOR and move up only when you want to. The schema presets solve the other half: Taskwarrior setups are idiosyncratic, and telling the model what your fields mean is what stops it inventing them.

What it is

An MCP server that wraps the task and timew CLI tools and exposes them as structured tools. Two things distinguish it: a role setting that caps what the LLM may do with your task database, and a schema system that teaches the model your own task structure, including Taskwarrior user-defined attributes.

What you get

  • Read and search: list_tasks, get_task, search_tasks, get_task_report, get_projects, get_tags and get_active_context
  • Change tasks: create_task, create_subtask, batch_create_tasks, modify_task, bulk_modify, annotate_task, complete_task, delete_task and undo_last_action
  • Time tracking through Timewarrior: start_task, stop_task, get_time_status and get_time_summary
  • sync_tasks — push and pull against a TaskChampion sync server
  • Three cumulative roles: CONTRIBUTOR can read and modify, GENERATOR can also create, MANAGER can also complete and delete — set in config.toml and enforced server-side
  • Schema presets that describe your workflow to the model — minimal, gtd, scrum, kanban and a detailed authors_custom_example — selected through use_preset_schema, with get_schema_info and set_active_schema to inspect and change it
  • An onboarding mode on a fresh install: every tool is listed but operational ones return a structured schema_unset error until a role and schema are set, which the LLM can walk you through with get_runtime_capabilities, get_initialization_status and propose_initialization_options
  • Safety mechanics throughout: no shell execution, allowlist validation of inputs, configurable rate limits, an audit log of every call, a dry_run preview on destructive operations, and redaction of fields you mark sensitive

Requirements

Taskwarrior 3.x installed, and Timewarrior if you want time tracking. Python 3.10 or higher; install with uv tool install taskchampion-mcp (version 1.0.4) and point the client at taskchampion-mcp-server over stdio. Configuration lives at ~/.config/taskchampion-mcp/config.toml and needs two keys before operational tools work: role, and either schema or schema_path. reload_configuration picks up changes without a restart. stdio only today; HTTP and SSE are deferred.

Setup effort

One command — uv tool install taskchampion-mcp