Donetick MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging level (e.g. DEBUG, INFO, WARNING, ERROR). | INFO |
| FASTMCP_HOST | No | Host address for HTTP transport. | 127.0.0.1 |
| FASTMCP_PORT | No | Port for HTTP transport. | 8000 |
| RATE_LIMIT_BURST | No | Maximum burst size for rate limiting. | 10 |
| DONETICK_BASE_URL | Yes | The base URL of your Donetick instance (e.g. https://donetick.example.com). Required. | |
| FASTMCP_TRANSPORT | No | FastMCP transport type (e.g. stdio, streamable-http). | stdio |
| DONETICK_API_TOKEN | Yes | Your Donetick API access token (from Settings > Advanced > API). Required. | |
| RATE_LIMIT_PER_SECOND | No | Maximum number of requests per second. | 10 |
| FASTMCP_STREAMABLE_HTTP_PATH | No | Path for streamable HTTP transport. | /mcp |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_choresB | List all chores from Donetick. |
| get_choreB | Get details of a specific chore by its ID. |
| create_choreB | Create a new chore in Donetick. |
| complete_choreB | Mark a chore as complete. |
| update_choreA | Update an existing chore with new values. Only provide fields you want to change - other fields remain unchanged. |
| delete_choreA | Delete a chore permanently. Only the chore creator can delete a chore. |
| update_chore_priorityA | Update a chore's priority level (0-4). |
| update_chore_assigneeA | Reassign a chore to a different circle member. |
| skip_choreA | Skip a chore without marking it complete. |
| update_subtask_completionB | Mark a subtask as complete or incomplete within a chore. |
| get_circle_membersA | Get all members in the circle (household/team). |
| list_circlesA | List circles the user belongs to. |
| get_join_requestsA | List pending join requests for the circle. |
| accept_join_requestC | Accept a pending circle join request. |
| join_circleA | Join a circle with an invite code. |
| leave_circleB | Leave the current circle. |
| change_member_roleB | Change a circle member's role (admin, member, or manager). |
| delete_circle_memberB | Remove a member from the circle. |
| redeem_pointsC | Redeem reward points for a member. |
| get_chore_historyB | Get completion history for a specific chore. |
| get_all_chores_historyA | Get completion history for all chores with pagination. |
| get_chore_detailsA | Get detailed chore information including completion statistics. |
| list_thingsA | List all things (trackable values). |
| get_thingB | Get a thing by its ID. |
| get_thing_stateC | Get the current state of a thing. |
| change_thing_stateA | Change a thing's state. Provide set_value to set it directly, or op as a signed integer to add to a numeric state. |
| update_thingB | Update a thing's name, type, and optional state. |
| delete_thingA | Delete a thing permanently. |
| get_thing_historyB | Get a thing's state-change history. |
| archive_choreB | Archive a chore (moves it out of the active list). |
| unarchive_choreA | Unarchive a chore (back to active). |
| undo_choreB | Undo the last completion of a chore. |
| approve_choreB | Approve a pending chore completion (requires approval). |
| reject_choreA | Reject a pending chore completion (requires approval). |
| start_choreB | Start a chore timer (mark as in progress). |
| pause_choreA | Pause a running chore timer. |
| list_projectsA | List all projects. |
| create_projectB | Create a new project. |
| update_projectA | Update a project's name, description, color, or icon. |
| delete_projectB | Delete a project permanently. |
| create_thingA | Create a new thing (trackable value). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 41 tools
Most tools have distinct purposes, but a few overlap: get_chore and get_chore_details both retrieve a single chore (the latter with stats), and get_chore_history vs get_all_chores_history could be confused. However, descriptions generally clarify scope, so agents can usually pick correctly.
The majority follow a consistent verb_noun snake_case pattern (e.g., list_chores, create_chore, update_chore, delete_chore). Minor deviations include change_thing_state and redeem_points, but they are readable and do not break the overall pattern.
With 41 tools, the server far exceeds the typical well-scoped range. While the domain spans chores, circles, things, projects, and history, the sheer number makes the surface heavy and harder to navigate, and many tools could potentially be consolidated.
The tool set covers CRUD for chores, things, and projects, plus circle management, history, timers, approval flows, and rewards. A few potential gaps exist (e.g., no create_circle or delete_circle), but the core workflows appear well-supported without obvious dead ends.