MCP server for Donetick chores management — 27 tools for chore CRUD, labels, subtasks, timers, and more
Project description
Donetick MCP Server
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_URLcan 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_choreusingadd_label_names,remove_label_names, orset_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
- Donetick — Open source chores management
- PyPI Package
- MCP Protocol
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file donetick_mcp-0.4.2.tar.gz.
File metadata
- Download URL: donetick_mcp-0.4.2.tar.gz
- Upload date:
- Size: 55.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81740c34b51f04b6b09fdc0a2dca9a868cae03d9ac5ec0f6fbc2a206370e7f78
|
|
| MD5 |
e6181b555d86950e6e2d8d832a7b81ca
|
|
| BLAKE2b-256 |
3cbc80a1b5f346b50dd8d5731e37a466b4aeb8bfaaf270f814c4d513311cbe85
|
File details
Details for the file donetick_mcp-0.4.2-py3-none-any.whl.
File metadata
- Download URL: donetick_mcp-0.4.2-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f38416842b91e902c306df228321bf5ed25aef62358670025ae32cd2034da487
|
|
| MD5 |
26f9b251896f19132ad13767b85c1d85
|
|
| BLAKE2b-256 |
91e93a236fd0703408b98a735eb7e8673a7b8f15b5fe01d9e541c296aafb754e
|