Skip to main content
Glama

Habitica: update a task

habitica_update_task
Idempotent

Change selected fields of an existing Habitica task, such as text, notes, difficulty, due date, schedule, tags, or reward cost, without altering the fields you leave out.

Instructions

Change fields of a task; only the given fields change. To check tasks off use habitica_score_task, and habitica_manage_checklist for checklist items.

Input Schema

NameRequiredDescriptionDefault
costNoRewards only
taskYesTask id (preferred), alias, or its text. Partial text works when it matches exactly one task.
textNo
notesNoNew notes ('' clears)
add_tagsNoTag names (or ids)
due_dateNoTo-dos only: new due date
scheduleNoDailies only: replaces the schedule
difficultyNo
remove_tagsNoTag names (or ids)
clear_due_dateNoTo-dos only: remove the due date
habit_negativeNoHabits only: enable -
habit_positiveNoHabits only: enable +
create_missing_tagsNo

Output Schema

NameRequiredDescriptionDefault
taskNo
statusYes
messageYes
created_tagsNoTags that did not exist and were created

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false; the description adds the genuinely useful behavioral fact that omitted fields are untouched, which is the key safety/idempotency guarantee for a 13-param patch tool. It stays silent on side effects such as create_missing_tags defaulting to true and on schedule being replaced wholesale rather than merged, so it stops short of full disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two clauses, zero filler: the partial-update rule is front-loaded and the alternative-routing sentence follows. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-parameter mutation with a nested schedule object and an output schema, the description covers only the patch semantics and two sibling handoffs. It omits the tag-creation side effect and the replace-vs-merge behavior of schedule, both of which an agent must get right; the presence of an output schema excuses it from explaining return values, but not from these behavioral gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 77%, so the schema already carries most parameter meaning (cost=rewards only, due_date=to-dos only, notes '' clears, schedule replaces the schedule). The description adds nothing parameter-specific, and the undocumented remainder (text, difficulty, create_missing_tags) is left entirely to the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Change fields of a task') and immediately clarifies the partial-update semantics ('only the given fields change'), which is exactly what separates it from create/delete siblings. It also names the siblings that handle adjacent operations (habitica_score_task, habitica_manage_checklist), so an agent can route correctly without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes two common adjacent intents away from this tool: checking a task off goes to habitica_score_task, checklist items go to habitica_manage_checklist. What's missing is guidance on the other obvious boundary (habitica_create_task / habitica_delete_task) and any precondition such as the task needing to exist or the ambiguity of a text match.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.