Donetick
FreeNot checkedMCP server for Donetick chores management. Provides 27 tools to control Donetick instance via Claude or other MCP clients.
About
MCP server for Donetick chores management. Provides 27 tools to control Donetick instance via Claude or other MCP clients.
README
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_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
Installing Donetick
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/danielrosehill/donetick-mcpFAQ
Is Donetick MCP free?
Yes, Donetick MCP is free — one-click install via Unyly at no cost.
Does Donetick need an API key?
No, Donetick runs without API keys or environment variables.
Is Donetick hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Donetick in Claude Desktop, Claude Code or Cursor?
Open Donetick on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Donetick with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
