donetick-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@donetick-mcpList chores assigned to me that are due today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-mcpClaude 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.
Related MCP server: TaskWarrior MCP Server
Tools (27)
Chore Management
Tool | Description |
| List chores with optional filters (active, assigned user, brief/full detail) |
| Get full chore details including subtasks and labels |
| Create a chore — supports usernames, day names, reminders, subtasks. Defaults to assigning to anyone in the circle (round-robin) |
| Update any fields: name, description, schedule, assignees (by username), labels (add/remove/set by name), priority, notifications |
| Delete a chore (creator only) |
| List archived/hidden chores |
Chore Actions
Tool | Description |
| Mark a chore as done |
| Skip without completing — schedules next occurrence for recurring chores |
| Soft-delete / hide a chore |
| Restore an archived chore |
| Approve a completion that requires approval |
| Reject a completion that requires approval |
| Quick reschedule without a full update |
Timer
Tool | Description |
| Start time tracking |
| Pause time tracking |
Subtasks
Tool | Description |
| Add a checklist item to a chore |
| Remove a subtask |
| Mark a subtask complete/incomplete |
| Convert a standalone chore into a subtask of another (deletes the original) |
Labels
Tool | Description |
| List all labels in the circle |
| Create a new label (name + optional hex color) |
| Rename or recolor a 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 all members with IDs, roles, and points |
| Current user's profile, points, and settings |
| Completion history — for one chore or all (with pagination) |
| Chore stats: total completions, average duration, recent history |
Configuration
Variable | Required | Default | Description |
| Yes | — | Donetick instance URL |
| Yes | — | Donetick username |
| Yes | — | Donetick password |
| No |
|
|
| No |
| API rate limit |
| No |
| 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 -dpip
pip install donetick-mcp
donetick-mcp # requires env vars setDevelopment
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 varsLicense
MIT
Links
Donetick — Open source chores management
Available Tools
27 toolsapprove_choreB
Approve a chore completion that requires approval.
| Name | Required | Description | Default |
|---|---|---|---|
| chore_id | Yes | Chore ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only states the action without explaining side effects, state changes, permissions, or reversibility, which is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no extraneous words, effectively front-loading the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is too minimal. It does not explain prerequisites (e.g., how to identify chores needing approval), post-approval effects, or how to verify completion status.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with the parameter 'chore_id' already described as 'Chore ID'. The tool description adds no additional meaning beyond the schema, which is adequate but not enhanced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('approve') and the specific resource ('a chore completion that requires approval'), differentiating it from sibling tools like 'complete_chore' and 'reject_chore'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that approval is only for chores configured to require it, but does not explicitly state when to use this tool versus alternatives like 'complete_chore' or 'reject_chore', leaving room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archive_choreA
Archive a chore (soft-delete / hide). Can be unarchived later.
| Name | Required | Description | Default |
|---|---|---|---|
| chore_id | Yes | Chore ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It explicitly states 'soft-delete / hide' and reversibility, which are key behavioral traits. However, it doesn't detail permissions, side effects, or state changes beyond the basics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The key action and nuance are front-loaded. Every sentence adds value, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description adequately covers the core purpose, behavior, and reversibility. It is complete enough for selection and invocation, though it could mention any prerequisites or side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter 'chore_id' described as 'Chore ID'. The description does not add additional semantics beyond the schema, so the score is at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'archive' and the resource 'chore', adding '(soft-delete / hide)' to clarify the nature. It distinguishes from 'delete_chore' by noting reversibility, effectively differentiating among sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'delete_chore' or other sibling tools. The phrase 'Can be unarchived later' implies a use case but does not provide clear when-to or when-not-to context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complete_choreC
Mark a chore as complete.
| Name | Required | Description | Default |
|---|---|---|---|
| chore_id | Yes | Chore ID | |
| completed_by | No | User ID who completed it (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only states 'mark as complete' without disclosing behavioral traits such as reversibility, side effects, or required permissions. For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no extraneous text. It effectively communicates the core purpose without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and the tool's mutating nature, the description fails to explain return values, effects on chore state, or prerequisites. It is inadequate for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters having clear descriptions. The tool description adds no additional meaning beyond the schema, meeting the baseline for covered parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Mark a chore as complete' clearly states the action and resource. However, it does not differentiate from sibling tools like 'approve_chore' or 'reject_chore' which also modify chore state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool over alternatives. The description does not mention prerequisites or scenarios where completion is appropriate, leaving the agent without decision context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_chore_to_subtaskA
Convert a standalone chore into a subtask of another chore. Deletes the original chore and creates a subtask with its name on the target.
| Name | Required | Description | Default |
|---|---|---|---|
| source_chore_id | Yes | Chore to convert (will be deleted) | |
| target_chore_id | Yes | Chore to add the subtask to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states that the original chore is deleted and a subtask is created, which are key behavioral traits. However, with no annotations provided, it could disclose more: whether the operation is reversible, if permissions are required, or what happens to subtasks of the original chore.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the action and side effects. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers the main operation but lacks details on edge cases (e.g., what if target is the same as source, what happens to existing subtasks of source). It is adequate for a simple operation but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter having a descriptive comment. The description adds minimal extra value beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action: convert a standalone chore into a subtask. It defines the resource (chore), the transformation (subtask), and the side effects (deletes original). This distinguishes it from sibling tools like create_subtask (which doesn't delete) and delete_chore (which only deletes).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as create_subtask or delete_chore. The description does not specify prerequisites (e.g., source must be a standalone chore) or scenarios where this tool is inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_choreA
Create a new chore. Use simple inputs like usernames and day names.
EXAMPLES:
Simple: {name: 'Take out trash', days_of_week: ['Mon','Thu'], time_of_day: '19:00', usernames: ['Alice']}
One-time: {name: 'Fix faucet', due_date: '2025-11-10', priority: 3}
With subtasks: {name: 'Weekly review', subtask_names: ['Check email','Update notes']}
If no usernames provided, chore is assigned to ANYONE in the circle (round-robin).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Chore name (required, 1-200 chars) | |
| points | No | Points awarded on completion | |
| due_date | No | Due date: YYYY-MM-DD or RFC3339 | |
| priority | No | 0=unset, 1=lowest, 2=low, 3=medium, 4=highest | |
| timezone | No | IANA timezone (default: America/New_York) | |
| frequency | No | Multiplier (e.g., 2=biweekly). Default: 1 | |
| usernames | No | Assign by username/display name. First becomes primary assignee. If omitted, assigned to anyone. | |
| is_private | No | Visible only to creator. Default: false | |
| is_rolling | No | Next due based on completion (true) vs fixed schedule (false). Default: false | |
| description | No | Chore description | |
| label_names | No | Labels by name (e.g., ['cleaning','urgent']). Must exist first — use create_label. | |
| time_of_day | No | Time in HH:MM format (e.g., '16:00') | |
| days_of_week | No | Days as short names: ['Mon','Wed','Fri']. Auto-sets frequency_type to days_of_the_week. | |
| subtask_names | No | Checklist items: ['Step 1','Step 2'] | |
| enable_nagging | No | Repeated reminders until completed. Default: false | |
| frequency_type | No | How often it repeats (default: once). Use 'days_of_the_week' with days_of_week param for specific days. | |
| assign_strategy | No | How to rotate assignment. Default: round_robin (when anyone) or least_completed (when specific users) | |
| require_approval | No | Require approval to mark complete. Default: false | |
| remind_at_due_time | No | Remind exactly at due time. Default: false | |
| remind_minutes_before | No | Remind X minutes before due time |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description covers default assignment, primary assignee from usernames, label prerequisite, and mentions default values for frequency, timezone. Does not discuss side effects like timers or approval flows beyond parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and examples. Well-organized but slightly lengthy due to parameter descriptions that are also in schema. Each part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For 20 parameters and no output schema, description covers key behaviors (assignment, rolling, labels, times). Missing explicit explanation of default values like is_private, but schema covers them. Adequate for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds value with examples showing combinations, clarifies behavior for usernames vs. default assignment, and explains label creation prerequisite.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new chore' with a direct verb and resource. Examples and parameter details distinguish it from siblings like update_chore, complete_chore, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides examples and explains when to use which parameters (e.g., label_names must exist, use create_label). Includes behavior for omitted usernames. Lacks explicit when-not or alternatives to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_labelB
Create a new label for categorizing chores.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Label name | |
| color | No | Hex color (e.g., '#FF5733') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not disclose behavioral traits such as uniqueness constraints, ownership requirements, or side effects. Only states the action without additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with verb and resource, efficient. However, might benefit from slight expansion for better completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with few parameters, but no output schema and no explanation of return values or error conditions. Acceptable for minimal viable, but could be improved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both 'name' and 'color'. Description adds no extra meaning beyond what the schema already provides, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Create' and resource 'label' with purpose 'categorizing chores'. Distinguishes from sibling tools like 'update_label' and 'delete_label'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., reusing existing labels). No prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_subtaskB
Add a new subtask/checklist item to an existing chore.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Subtask name | |
| chore_id | Yes | Parent chore ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It indicates creation (mutation) but lacks details on idempotency, side effects, or constraints. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, clear and direct, with no extraneous words. Efficiently communicates purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema or annotations, and the description does not explain return values, effects on parent chore, or error conditions. Incomplete for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds no new information beyond the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add'), the resource ('new subtask/checklist item'), and the context ('to an existing chore'). It distinguishes from siblings like delete_subtask and convert_chore_to_subtask by specifying creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like convert_chore_to_subtask. No prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_choreA
Delete a chore permanently. Only the creator can delete.
| Name | Required | Description | Default |
|---|---|---|---|
| chore_id | Yes | Chore ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. States permanence and creator-only restriction, but does not mention effects on related data (e.g., subtasks, labels) or side effects. Moderately transparent for a delete operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Exceptionally concise: two sentences, front-loaded purpose, no unnecessary words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool with one parameter and no output schema, the description adequately covers purpose, permanence, and authorization. Minor missing detail: effect on subtasks or labels, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline applies. Description adds no parameter-specific details beyond what the schema provides ('Chore ID to delete'). No improvement over schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action ('Delete a chore permanently') and resource. Adds authorization constraint ('Only the creator can delete'), distinguishing it from other chore modification tools. Could be more explicit about differentiation from sibling deletion tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage when a permanent deletion is needed and user is creator, but no explicit guidance on when to use versus alternatives (e.g., archive_chore, complete_chore) or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_labelA
Delete a label. Removes it from all chores.
| Name | Required | Description | Default |
|---|---|---|---|
| label_id | Yes | Label ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It adds the behavioral detail that deletion removes the label from all chores, which is useful. However, it lacks information on permissions, reversibility, or other effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that front-load the primary action. Every word earns its place with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple deletion tool with one parameter and no output schema, the description is adequate. However, it does not mention if the deletion is permanent, any confirmation needed, or the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the parameter. The description adds no extra meaning to the parameter beyond the schema's 'Label ID.' Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Delete a label' and specifies the side effect 'Removes it from all chores.' It uses a specific verb and resource, and distinguishes from sibling tools like create_label, update_label, and list_labels.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There are sibling tools like delete_chore and delete_subtask, but no context on when deleting a label is appropriate or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_subtaskB
Remove a subtask from a chore.
| Name | Required | Description | Default |
|---|---|---|---|
| chore_id | Yes | Parent chore ID | |
| subtask_id | Yes | Subtask ID to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It does not disclose if removal is permanent, reversible, or requires specific permissions, leaving significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, no unnecessary words. Perfectly concise for a simple deletion tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two integer params, no output schema), the description is adequate but could include behavioral notes like 'Permanent deletion' or 'Removes subtask from chore without affecting chore status.'
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The tool description adds no extra meaning beyond the schema, meeting baseline expectations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Remove a subtask from a chore' uses a specific verb and resource, clearly distinguishing it from siblings like delete_chore (removes entire chore) and update_subtask_completion (modifies status).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., delete_chore, convert_chore_to_subtask). The description only states the action without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_choreB
Get full details of a specific chore by ID, including subtasks and labels.
| Name | Required | Description | Default |
|---|---|---|---|
| chore_id | Yes | Chore ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description carries full burden. It indicates read-only behavior ('Get full details') but omits any mention of permissions, rate limits, or whether the operation is safe. Does not contradict annotations as none exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence efficiently conveys the primary purpose and key differentiator (including subtasks and labels). No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one simple parameter, no output schema, and no annotations, the description adequately explains what the tool returns. Missing info like pagination or default behavior would be relevant but not critical for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with description for 'chore_id'. Description adds value by specifying the response includes subtasks and labels, clarifying what 'full details' entails.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it gets full details of a specific chore by ID, including subtasks and labels. The action and scope are specific, but does not distinguish from sibling 'get_chore_details', which could be ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'list_chores' or 'get_chore_details'. No exclusion criteria or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chore_detailsA
Get chore with completion statistics: total count, last completion, average duration, recent history.
| Name | Required | Description | Default |
|---|---|---|---|
| chore_id | Yes | Chore ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states what is returned, omitting whether the operation is read-only, requires permissions, or has side effects. This is insufficient for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that conveys the essential purpose and included statistics without unnecessary words. Every word contributes to understanding the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should fully explain return values. It lists several statistics but does not confirm whether basic chore details are also included or how recent history is structured. Still, it provides a good overview for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description does not add meaning beyond the schema's 'Chore ID' description. Baseline of 3 is appropriate; no extra semantic value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'Get' and the resource 'chore with completion statistics', listing concrete fields: total count, last completion, average duration, recent history. This clearly differentiates it from siblings like get_chore (basic info) and get_chore_history (history only).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when statistical data is needed, but does not explicitly state when to use this tool versus alternatives like get_chore or get_chore_history. No direct guidance on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chore_historyA
Get completion history. If chore_id provided, returns history for that chore. Otherwise returns all chores history with pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max entries (default: 50, max: 200) | |
| offset | No | Skip entries for pagination (default: 0) | |
| chore_id | No | Specific chore ID (optional — omit for all chores) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Implies read-only operation but does not explicitly state safety, auth needs, or side effects. Adequate but lacks explicit behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with key information, no unnecessary words. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 3 params and no output schema, the description adequately explains parameter behavior but does not describe return value structure (fields, format). Could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds value by explaining the behavioral difference between providing chore_id and omitting it. This goes beyond schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Get completion history' and distinguishes two modes: specific chore or all chores with pagination. Differentiates from sibling tools like get_chore, list_chores.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context on when to provide chore_id vs omit for all history. However, does not explicitly mention when not to use this tool or suggest alternatives for other needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_profileA
Get the current user's profile (points, storage, notification config).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It indicates a read-only 'Get' operation with no destructive hints. However, it does not mention authentication requirements or that only the current user's profile is returned, which are assumed but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the verb, and packs all essential information without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema), the description adequately covers what the tool does and what it returns. It could mention authentication or scope, but the context is sufficient for an AI agent to decide when to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100% (vacuously). With no parameters to document, the baseline is 4. The description does not need to add parameter info, but it lists the returned fields, which is relevant context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'current user's profile', and lists the fields (points, storage, notification config). It distinguishes the tool from sibling tools which focus on chores and labels.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives, but sibling tools are in a different domain (chores, labels), so the context implies use for retrieving user profile. However, the lack of any 'when to use' or 'when not to use' statement keeps it from being higher.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_archived_choresA
List all archived (hidden) chores.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It is minimal: 'List all archived chores.' It accurately indicates a read operation with no side effects, but does not disclose any potential limitations, permissions, or whether results are scoped to the user's circle.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, complete sentence with zero wasted words. Every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, no output schema, and a simple listing operation, the description is fully adequate. It clearly states what the tool returns (archived chores) and leaves no obvious gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with zero parameters, and the description adds no unnecessary param info. Baseline for 0 params is 4; no need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List all archived (hidden) chores,' using a specific verb ('List') and resource ('archived chores'). It distinguishes from sibling 'list_chores' by explicitly including 'archived,' which implies that 'list_chores' lists non-archived chores.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need to see hidden chores, but provides no explicit guidance on when to use or not use this tool versus alternatives like 'list_chores' or 'unarchive_chore.' Usage context is implied but not clarified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_choresA
List all chores. Filter by active status or assigned user. Use detail_level='brief' for compact output.
| Name | Required | Description | Default |
|---|---|---|---|
| detail_level | No | 'brief' (id, name, status, assignee, dueDate) or 'full' (all fields). Default: full | |
| filter_active | No | true=active only, false=inactive only, omit=all | |
| assigned_to_user_id | No | Filter by assigned user ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility. It implies a safe read operation (list), but does not explicitly state it is read-only or disclose any behavioral traits beyond the basic list functionality.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. The main action is front-loaded, and every sentence provides value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a list operation with 3 optional parameters and no output schema, the description covers the essentials. It could mention that it returns a list of chores, but the schema partially addresses this via detail_level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds minimal extra meaning. It summarizes filtering and gives a usage tip for 'detail_level', but does not provide new information beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'chores', and distinguishes itself from siblings like 'list_archived_chores' (which lists only archived) and 'get_chore' (single item).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for using the tool: to list chores with optional filters by active status or assigned user, and a tip for compact output. However, it does not explicitly mention when not to use it or alternatives like 'list_archived_chores'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_circle_membersA
List all members in the circle with IDs, usernames, roles, and points. Use this to find user IDs for assignment.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral transparency. It describes the tool as a listing operation, which implies it is read-only, but does not explicitly confirm safety or discuss pagination, ordering, or other behaviors. The description is adequate for a simple list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two sentences that are direct and free of redundancy. The first sentence states the function, and the second provides a practical use case. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (no parameters, no output schema), and the description fully covers its purpose and return values. It provides enough context for an AI agent to correctly select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so schema description coverage is 100% by default. The description adds value by specifying the output fields, even though it does not need to explain parameters. With zero parameters, a baseline of 4 is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List all members in the circle') and specifies the returned fields (IDs, usernames, roles, points). It distinguishes itself from sibling tools (which are mostly chore-related) by focusing on circle membership.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 'Use this to find user IDs for assignment,' providing clear guidance on when to use the tool. However, it does not mention when not to use it or alternative tools for similar purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_labelsA
List all labels in the circle.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It only states the purpose and does not disclose any behavioral traits such as idempotency, auth requirements, or response structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with 5 words, no wasted text. Front-loaded with essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature (no parameters, no output schema), the description is complete enough. Could mention that it returns all labels without filtering, but not necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0 parameters with 100% coverage, so baseline is 3. Description adds no parameter information, but there are none to describe.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'list' and resource 'labels' with scope 'in the circle'. Distinguishes from sibling tools like create_label and delete_label by purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. While it's the only listing tool for labels, the description does not mention exclusions or provide direct comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pause_chore_timerB
Pause the time tracker for a chore.
| Name | Required | Description | Default |
|---|---|---|---|
| chore_id | Yes | Chore ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose behavioral details beyond the bare action. With no annotations, the agent lacks insight into state changes, side effects, or whether the timer can be resumed. The description carries the full burden but fails to provide sufficient transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a single sentence, no redundancy. However, it could be slightly expanded to include vital usage context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description should still explain the effect of pausing (e.g., timer stops, can be resumed) and any preconditions. The current description lacks this context, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description could rely on the schema. However, the description adds no additional meaning to 'chore_id' beyond what the schema already provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Pause') and resource ('time tracker for a chore'), making the tool's purpose unambiguous. It effectively distinguishes from related tools like 'start_chore_timer'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives or prerequisites. The agent is not informed that the timer must be running to pause, nor when to choose pause over stop or complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reject_choreC
Reject a chore completion that requires approval.
| Name | Required | Description | Default |
|---|---|---|---|
| chore_id | Yes | Chore ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description does not disclose any behavioral traits (e.g., side effects, reversibility, or state changes). This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no unnecessary words, directly conveys the tool's action and condition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite low complexity, the description fails to mention prerequisites (e.g., chore state must be completed and pending approval) or any return value. Incomplete for reliable selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear parameter description. Description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Reject' and the resource 'a chore completion that requires approval'. This distinguishes it from sibling tools like approve_chore and complete_chore.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like approve_chore or skip_chore. The description implies usage for completion requiring approval, but lacks exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skip_choreA
Skip a chore without completing. For recurring chores, schedules the next occurrence.
| Name | Required | Description | Default |
|---|---|---|---|
| chore_id | Yes | Chore ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It states the basic behavior (skip without completing) and recurring scheduling, but does not detail what happens to the current instance or any side effects. This is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that captures the essence without any unnecessary words. Every part adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of siblings, the description covers the key aspects. No output schema needed, but could mention return value. Still largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one integer parameter 'chore_id' described as 'Chore ID'. The description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Skip' and resource 'chore', and explicitly distinguishes from completing by saying 'without completing'. It also specifies behavior for recurring chores, which differentiates it from siblings like complete_chore or archive_chore.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: to skip a chore without completing, and for recurring chores it schedules the next occurrence. It does not explicitly list when not to use or mention alternatives, but the context is sufficient given the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_chore_timerB
Start the time tracker for a chore.
| Name | Required | Description | Default |
|---|---|---|---|
| chore_id | Yes | Chore ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the purpose without disclosing side effects (e.g., whether it resets an existing timer, creates a record, or requires a running timer).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no redundancy; every word is necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain return behavior or conditions (e.g., success indication, error cases). It is incomplete for an agent to fully understand the tool's effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter description ('Chore ID') is sufficient; description adds no further meaning, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action ('Start') and the resource ('time tracker for a chore'), distinct from siblings like 'pause_chore_timer' and 'complete_chore'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied (start timing when needed) but lacks explicit when-to-use or alternatives, such as when to use 'pause_chore_timer' instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unarchive_choreA
Restore a previously archived chore.
| Name | Required | Description | Default |
|---|---|---|---|
| chore_id | Yes | Chore ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states 'Restore' without detailing behavioral traits such as required permissions, side effects (e.g., making the chore active), or reversibility. The description carries the full burden but provides minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It is front-loaded and immediately conveys the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no output schema), the description is minimally adequate. However, it lacks information about return values or behavioral outcomes, making it only moderately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter chore_id, with a brief description in the schema. The tool description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Restore a previously archived chore' uses a specific verb and resource, clearly indicating the inverse operation of archive_chore. It distinguishes itself from sibling tools like archive_chore and list_archived_chores.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when needing to unarchive a chore, but it does not explicitly state when to use it versus alternatives, nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_choreB
Update any chore fields. Only provide fields you want to change.
Supports: name, description, schedule/frequency, assignees, priority, labels (add/remove/set by name), notifications, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name | |
| points | No | Points for completion | |
| chore_id | Yes | Chore ID to update | |
| isActive | No | Enable/disable chore | |
| priority | No | Priority: 0=unset, 1=lowest, 4=highest | |
| frequency | No | Frequency multiplier | |
| isPrivate | No | Hide from circle | |
| isRolling | No | Rolling vs fixed schedule | |
| description | No | New description | |
| nextDueDate | No | New due date (ISO 8601) | |
| notification | No | Enable notifications | |
| frequencyType | No | Frequency: once, daily, weekly, days_of_the_week, monthly, yearly, etc. | |
| assignStrategy | No | Assignment rotation strategy | |
| add_label_names | No | Add labels by name (keeps existing) | |
| requireApproval | No | Require approval | |
| set_label_names | No | Replace ALL labels with these (by name) | |
| frequencyMetadata | No | Frequency config (days, time, timezone) | |
| assignee_usernames | No | Reassign by username(s). First becomes primary assignee. | |
| remove_label_names | No | Remove labels by name | |
| notificationMetadata | No | Notification settings |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only states the mutation action without disclosing side effects, authorization needs, reversibility, or constraints like field dependencies. Minimal behavioral insight beyond the operation itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose and partial update hint, second lists supported fields. No superfluous text, efficiently front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 20 parameters, no output schema, and complex fields like label operations and frequency metadata, the description is too brief to guide the agent on expected behavior or return values. Incomplete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are fully described in the schema. The description adds a summary of supported categories, which is helpful but doesn't add significant meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool updates any chore fields and only requires fields to change. Distinguishes itself from sibling tools like update_due_date and update_label as the general update tool for chores.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a useful partial update hint ('Only provide fields you want to change'), but does not explicitly guide when to use this tool vs. more specific sibling tools like update_due_date or update_label. Lacks when-not-to-use or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_due_dateA
Quickly reschedule a chore's due date without a full update.
| Name | Required | Description | Default |
|---|---|---|---|
| chore_id | Yes | Chore ID | |
| due_date | Yes | New due date (YYYY-MM-DD or RFC3339) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'quickly' and 'without full update' but lacks details on side effects, permissions, or reversibility. Minimum viable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, front-loads the core purpose efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with two parameters and no output schema. Description covers the primary function, though additional behavioral notes would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds no additional meaning beyond stating 'new due date' for the due_date parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'reschedule a chore's due date' with a specific verb and resource, and distinguishes from the sibling update_chore by specifying 'without a full update'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for quick due-date resets versus full update, providing clear context on when to use this tool over alternatives like update_chore.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_labelA
Rename a label or change its color.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | New name | |
| color | No | New hex color | |
| label_id | Yes | Label ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden for behavioral disclosure. It indicates mutation but lacks details on side effects, permissions, reversibility, or output, leaving gaps for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with 10 words, highly concise and front-loaded with the core action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (3 parameters, no output schema), the description is minimally adequate. It covers the main use case but omits any mention of behavior when both parameters are provided or return state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions, which already define 'name', 'color', and 'label_id' clearly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('rename' or 'change color') and the resource ('label'), effectively distinguishing it from sibling tools like create_label (create new) and delete_label (delete).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives; the purpose is implied but not stated. Does not mention when not to use it or provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_subtask_completionB
Mark a subtask complete or incomplete.
| Name | Required | Description | Default |
|---|---|---|---|
| chore_id | Yes | Parent chore ID | |
| completed | Yes | true=complete, false=incomplete | |
| subtask_id | Yes | Subtask ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, yet the description only states the action. It fails to disclose behavioral traits like idempotence, permission requirements, or effects of conflicting states (e.g., marking already completed subtask).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence, front-loaded with verb and object. No waste, though could benefit from additional behavioral context without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and multiple sibling tools, the description is too brief. It omits return value, idempotency, and prerequisites, making it insufficient for reliable agent selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; each parameter is already well-described in the schema. The description adds no extra meaning beyond the schema, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Mark a subtask complete or incomplete' uses a specific verb ('Mark') and resource ('a subtask'), clearly differentiating from siblings like 'complete_chore' (for whole chore) and 'create_subtask'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when toggling subtask status, but provides no explicit guidance on when to use vs. alternatives (e.g., 'complete_chore' for full chore), nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
27 tool updates
v0.4.2- First observed
approve_chore - First observed
archive_chore - First observed
complete_chore - First observed
convert_chore_to_subtask - First observed
create_chore - First observed
create_label - First observed
create_subtask - First observed
delete_chore - First observed
delete_label - First observed
delete_subtask - First observed
get_chore - First observed
get_chore_details - First observed
get_chore_history - First observed
get_user_profile - First observed
list_archived_chores - First observed
list_chores - First observed
list_circle_members - First observed
list_labels - First observed
pause_chore_timer - First observed
reject_chore - First observed
skip_chore - First observed
start_chore_timer - First observed
unarchive_chore - First observed
update_chore - First observed
update_due_date - First observed
update_label - First observed
update_subtask_completion
TDQS
Each tool targets a distinct action on a specific resource (chore, label, subtask, user, timer). Overlaps like get_chore, get_chore_details, and get_chore_history are clearly differentiated by the type of data returned. The descriptions provide enough detail to avoid confusion.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., create_chore, list_chores, delete_label). Slight variations like convert_chore_to_subtask or update_subtask_completion still adhere to the pattern, ensuring predictability.
With 27 tools, the set is comprehensive for a chore management domain, covering creation, updates, deletion, completion, approval, archiving, timers, and labels. While slightly on the higher side, each tool serves a clear purpose and none are redundant.
The tool set provides full CRUD for chores, labels, and subtasks, along with lifecycle management (completion, approval, archiving, timers, history). There are no obvious gaps for core operations in a chore management application.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
- mcpOAuthnet.todoist
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
MCP server exposing the Backtest360 engine API as tools for AI agents.
Related MCP Servers
- AlicenseBqualityDmaintenanceA comprehensive MCP server that provides full integration between Claude and Todoist, enabling task, project, section, and label management through 24 different tools with the complete Todoist API.30186MIT
- AlicenseNot gradedqualityAmaintenanceMCP server that wraps TaskWarrior command-line tool. Provides 22 tools for task management, GTD workflow, and habit tracking.179MIT
- AlicenseAqualityDmaintenanceMCP server for Donetick chores management, enabling AI assistants to list, create, complete, update, and delete chores with full API integration and rate limiting.2011MIT
- AlicenseNot gradedqualityFmaintenanceMCP server for TickTick task management. Enables AI assistants to create, update, list, search, and complete tasks via natural language.8028MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/danielrosehill/donetick-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server