Skip to main content

MCP server for Donetick chores management — 27 tools for chore CRUD, labels, subtasks, timers, and more

Project description

Donetick MCP Server

PyPI Python 3.11+ License: MIT

An MCP server for Donetick chores management. Gives Claude and other MCP-compatible AI assistants full control over your Donetick instance — 27 tools covering chores, subtasks, labels, timers, and more.

Quick Start

uvx donetick-mcp

Claude Desktop / Claude Code

Add to your MCP config (.mcp.json, claude_desktop_config.json, etc.):

{
  "mcpServers": {
    "donetick": {
      "command": "uvx",
      "args": ["donetick-mcp"],
      "env": {
        "DONETICK_BASE_URL": "https://your-instance.com",
        "DONETICK_USERNAME": "your_username",
        "DONETICK_PASSWORD": "your_password"
      }
    }
  }
}

Note: DONETICK_BASE_URL can be HTTP for local/private network instances.

Tools (27)

Chore Management

Tool Description
list_chores List chores with optional filters (active, assigned user, brief/full detail)
get_chore Get full chore details including subtasks and labels
create_chore Create a chore — supports usernames, day names, reminders, subtasks. Defaults to assigning to anyone in the circle (round-robin)
update_chore Update any fields: name, description, schedule, assignees (by username), labels (add/remove/set by name), priority, notifications
delete_chore Delete a chore (creator only)
list_archived_chores List archived/hidden chores

Chore Actions

Tool Description
complete_chore Mark a chore as done
skip_chore Skip without completing — schedules next occurrence for recurring chores
archive_chore Soft-delete / hide a chore
unarchive_chore Restore an archived chore
approve_chore Approve a completion that requires approval
reject_chore Reject a completion that requires approval
update_due_date Quick reschedule without a full update

Timer

Tool Description
start_chore_timer Start time tracking
pause_chore_timer Pause time tracking

Subtasks

Tool Description
create_subtask Add a checklist item to a chore
delete_subtask Remove a subtask
update_subtask_completion Mark a subtask complete/incomplete
convert_chore_to_subtask Convert a standalone chore into a subtask of another (deletes the original)

Labels

Tool Description
list_labels List all labels in the circle
create_label Create a new label (name + optional hex color)
update_label Rename or recolor a label
delete_label Delete a label (removes from all chores)

Labels can also be managed directly on chores via update_chore using add_label_names, remove_label_names, or set_label_names.

Users & History

Tool Description
list_circle_members List all members with IDs, roles, and points
get_user_profile Current user's profile, points, and settings
get_chore_history Completion history — for one chore or all (with pagination)
get_chore_details Chore stats: total completions, average duration, recent history

Configuration

Variable Required Default Description
DONETICK_BASE_URL Yes Donetick instance URL
DONETICK_USERNAME Yes Donetick username
DONETICK_PASSWORD Yes Donetick password
LOG_LEVEL No INFO DEBUG, INFO, WARNING, ERROR
RATE_LIMIT_PER_SECOND No 10.0 API rate limit
RATE_LIMIT_BURST No 10 Burst capacity

Create Chore Examples

Simple one-time chore:

{"name": "Fix leaky faucet", "due_date": "2025-11-10", "priority": 3}

Recurring chore on specific days:

{"name": "Take out trash", "days_of_week": ["Mon", "Thu"], "time_of_day": "19:00", "usernames": ["Alice"]}

With subtasks and reminders:

{"name": "Weekly review", "frequency_type": "weekly", "subtask_names": ["Check email", "Update notes"], "remind_minutes_before": 15}

If no usernames provided, the chore is assigned to everyone in the circle with round-robin rotation.

Alternative Installation

Docker

git clone https://github.com/danielrosehill/donetick-mcp.git
cd donetick-mcp
cp .env.example .env  # edit with your credentials
docker-compose up -d

pip

pip install donetick-mcp
donetick-mcp  # requires env vars set

Development

git clone https://github.com/danielrosehill/donetick-mcp.git
cd donetick-mcp
python3 -m venv venv && source venv/bin/activate
pip install -e ".[dev]"
pytest  # 200 tests, requires DONETICK_* env vars

License

MIT

Links

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

donetick_mcp-0.4.1.tar.gz (55.4 kB view details)

Uploaded Source

Built Distribution

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

donetick_mcp-0.4.1-py3-none-any.whl (31.9 kB view details)

Uploaded Python 3

File details

Details for the file donetick_mcp-0.4.1.tar.gz.

File metadata

  • Download URL: donetick_mcp-0.4.1.tar.gz
  • Upload date:
  • Size: 55.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for donetick_mcp-0.4.1.tar.gz
Algorithm Hash digest
SHA256 f95440dede1d7a71acc2106ab2b903218044d8493a544e83159058e9403eb8f8
MD5 24dcbbbe095bd0798439c3337409563f
BLAKE2b-256 93c00b1b3e65fd6c7d601175b1734975cc972f725aa78941213c25b2f922399b

See more details on using hashes here.

File details

Details for the file donetick_mcp-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: donetick_mcp-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 31.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for donetick_mcp-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 86f064cfada68d70b2564300b4bb76ae8b8d0bfc2a2fcc5ef3adda3e92339a8a
MD5 b0653349a26913a946330a03b1d76754
BLAKE2b-256 3e461892fcfc707a7ee4e8b5e15ddb8464a75b2ce7e697dcdd5913d327da2579

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