Skip to main content
Glama

Change a goal

update_goal

Rename a goal, mark it reached or not, star it (important), set its sphere, or add a subgoal. Send only what changes. A goal linked after other goals can be marked reached only once the goals before it are reached, whatever period they are in.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "goal_id": "<goal_id>"
    },
    "name": "update_goal"
  }
}

Input Schema

NameRequiredDescriptionDefault
doneNo
textNo
sphereNoGoals sphere name or id, empty string removes it
goal_idYes
importantNoThe star, like on a task
add_subgoalNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already mark it as a non-read-only, non-destructive, non-idempotent write, so the description just needs added context and it delivers: the linked-goal ordering constraint is a genuine dependency rule not visible anywhere in the schema. It still doesn't say what happens when the constraint is violated (error vs. silently ignored).

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?

Three short sentences, operation list first, partial-update rule second, edge-case constraint last. No filler and no repetition of the schema.

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

Completeness4/5

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

Covers the full operation set, the partial-update contract, and the one non-obvious business rule, which is sufficient for a 6-parameter tool with no output schema. Remaining gaps — failure behavior on the ordering rule and confirmation of what is returned — are minor.

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

Parameters4/5

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

Schema coverage is only 33%, but the description carries the meaning for essentially every parameter: text=rename, done=reached/not, important=star, sphere=set sphere, add_subgoal=add. Only goal_id is left implicit, which is self-evident as the required target.

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?

Names the specific verbs and resource up front: rename, mark reached, star, set sphere, add subgoal, all on a goal. Combined with the 'update_goal' name and the sibling set (add_goal, delete_goal, link_goals), an agent can immediately tell this is the field-level mutator rather than a creator or linker.

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?

'Send only what changes' clearly establishes this as a partial-update tool and tells the agent not to resend full goal state. It also gives a real precondition — marking reached requires preceding linked goals to be reached — but it never states when to prefer this over siblings like add_goal or link_goals.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.