Skip to main content
Glama

Resolve annotation

resolve_annotation

Mark an annotation as done after applying the requested change, then reply to the developer with what you changed and where—or why it could not be done.

Instructions

Mark an annotation done after applying the change. Always call this when you have made the change. note is REQUIRED and is not bookkeeping: the developer reads it in their browser as your reply to what they asked for, next to their original note. Say what you actually changed and where — e.g. "Made the field full-width below 640px in Hero.tsx:42 and added the hint text". "Done" or "Fixed" is not an answer. If you could not do it, say that here instead.

Input Schema

NameRequiredDescriptionDefault
idYes
noteYesYour reply to the developer, shown in their browser: what changed and where, or why it could not be done

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden and does disclose the key behavioral trait: the note is rendered in the developer's browser next to their original note, making this a user-facing communication channel rather than internal bookkeeping. It does not state whether the annotation is removed from the pending set, whether the call is idempotent, or what permissions are needed.

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

Conciseness4/5

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

Front-loaded with the action, then the mandatory-call directive, then the note-quality requirement with a concrete example. Every sentence is functional, though the required-note point is restated three times (REQUIRED, "not bookkeeping", example contrast), which is slightly redundant.

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?

For a mutation tool with no annotations and no output schema, the description covers the trigger, the side effect, and the required-parameter contract well enough to call it correctly. Post-call state (does the annotation leave the pending list?), idempotency, and failure behavior beyond "say so in the note" are left unaddressed.

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 50% (the `id` parameter is undocumented in both places), so the description must compensate — and it does for `note`, adding requiredness, its audience, its display location, examples, and explicit anti-examples ("Done" or "Fixed" is not an answer). It adds nothing for `id`, but the gap is minor given how self-evident that parameter is.

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 — "Mark an annotation done after applying the change" — and is readily distinguishable from the read-oriented siblings (get_annotation, list_annotations, wait_for_annotation) and from clear_annotations. An agent knows exactly what state transition this performs without opening the 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?

"Always call this when you have made the change" gives an unambiguous trigger, and "If you could not do it, say that here instead" handles the negative case, which is unusually helpful. It does not explicitly name alternative siblings (e.g. recheck_annotation) or state ordering prerequisites, so it stops short of a 5.

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