Skip to main content
Glama

complete_items

Idempotent

Marks picked items as done. Ask the user for confirmation BEFORE calling this. Only call after the user confirms the work is done. Requires idempotency_key. Pass item_numbers of the picked items. Show the display field to the user verbatim in a code block.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contextNoOptional Project History note — context worth the next agent knowing about this project: decisions made, discoveries, direction. NOT a report of what you did. Only stored if the user enabled Project History. Never store secrets, tokens, or credentials.
item_idsNoAlternative to item_numbers — UUIDs from structuredContent. Most agents should use item_numbers instead.
item_textsNoDisplay only — the text of each item being completed, for human-readable permission prompts. Ignored by the server.
item_numbersYesThe item NUMBERS to mark as done, as shown in the display from get_items. This is what the user means when they say "complete item 3".
idempotency_keyYesA unique string for this complete request. Reusing the same key with the same items returns the same result (idempotent).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
displayYesPre-formatted confirmation. Show this to the user verbatim in a code block.
completedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / display
      Added value: +{
      +  "description": "Pre-formatted confirmation. Show this to the user verbatim in a code block.",
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "completed"
      -]New value: +[
      +  "completed",
      +  "display"
      +]
  2. Changed2 schema fields changed
    • removedOutput schema / properties / display
      Removed value: -{
      -  "description": "Pre-formatted display text for this response.",
      -  "type": "string"
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "completed",
      -  "display"
      -]New value: +[
      +  "completed"
      +]
  3. Changed1 schema field changed
    • changedOutput schema / properties / display / description
      Previous value: -"Pre-formatted confirmation. Show this to the user verbatim in a code block."New value: +"Pre-formatted display text for this response."
  4. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover readOnly=false, idempotentHint=true, and destructiveHint=false. The description adds important behavioral context beyond that: the user-confirmation requirement and the instruction to show the `display` field verbatim in a code block. These are not visible in the annotations or schema and meaningfully shape how the agent uses the tool.

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?

Four short, purposeful sentences with the main action first, followed by the key precondition, required parameter, and display instruction. Every sentence earns its place and there is no filler or redundancy.

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

Completeness5/5

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

The description, combined with full schema coverage and annotations, gives the agent everything needed to call the tool correctly: what it does, when it is allowed (after confirmation), what to pass, and what to show the user. The output schema handles return-value details, so no further explanation is required.

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 100%, so the baseline is 3. The description emphasizes item_numbers and idempotency_key, but this largely repeats what the required fields already communicate. It does not add meaningful parameter semantics beyond the schema's already clear field descriptions.

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?

The description opens with a specific verb and resource: 'Marks picked items as done.' This clearly differentiates the tool from siblings like get_items (listing), cherry_pick/cherry_unpick (selecting/unselecting), and project-level tools. The phrase 'picked items' ties it to a prior get_items workflow.

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?

The description gives an explicit precondition: ask for user confirmation before calling and only call after the user confirms the work is done. It also directs the agent to pass item_numbers and require idempotency_key. It does not explicitly name alternatives or exclusion cases, but the confirmation rule is clear and actionable.

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.

Resources