Skip to main content
Glama

task_done

Destructive

Finishes the work on a taken task (shared team data): outcome, result, message and usage in one call. Outcomes: done (the work is done or accepted and the task moves on), return (sent back with a required message, including bugs in work returning to testing), wait (the part is done, the task waits in the queue), close. The server makes the transition, closes the worklog and calculates the cost of the work from the difference of the start and end snapshots.

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": {
      "outcome": "<outcome>",
      "run": "<run>"
    },
    "name": "task_done"
  }
}

Input Schema

NameRequiredDescriptionDefault
IDNoTask ID; preferred over key.
keyNoTask number without #, if the ID is unknown.
runYesSession counters accumulated since its start, as at the start of the work, at the end of the same session; limits - subscription limits at the end (window to utilization 0-1 and resetsAt in ISO 8601), accuracy 0-1 - counters accuracy, 1 by default.
gistNoGist: one or two plain-text sentences "problem → solution", up to 300 characters, without Markdown, links or task keys, in the language of the workspace data; updated if the solution changed.
resultNoResult: in work - the whole result field (Markdown in the language of the workspace data, HTML is rejected; replaces the whole field), the tester's "QA verification" block is kept by the server; in testing - only that block, placed by the server at the end of the field; not accepted at approval and review.
messageNoMessage to the task chat: required for a return (what to fix); otherwise only what people need to know.
outcomeYesOne of the outcomes returned when the task was taken.
moduleIDsNoFull new list of modules actually touched.
attachmentsNoFile IDs (fid) of uploaded files, up to 5, attached to the message.
closeReasonNoClosing reason, required for close: resolved, notDoing, notReproducible, notBug or duplicate; the explanation goes in the message.
componentIDsNoFull new list of components actually touched.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / result / description
      Previous value: -"Result: in work - the whole result field (Markdown in the language of the workspace data, HTML is rejected; replaces the whole field); in testing - only the \"QA verification\" block placed at the end of the field; not accepted at approval and review."New value: +"Result: in work - the whole result field (Markdown in the language of the workspace data, HTML is rejected; replaces the whole field), the tester's \"QA verification\" block is kept by the server; in testing - only that block, placed by the server at the end of the field; not accepted at approval and review."
  2. Added

TDQS

A4.5/5.0
Behavior4/5

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

Beyond the annotations, the description discloses important side effects: the server makes the transition, closes the worklog, and calculates cost from start and end snapshots. It also notes that a return requires a message. It does not detail permission requirements or reversibility, but the existing destructiveHint already covers the mutation risk.

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?

The description is front-loaded with the tool's purpose, then compactly explains outcomes and server-side behavior. Despite covering multiple outcomes and side effects, every sentence contributes useful information.

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?

Given the complex nested schema and full parameter description coverage, the description supplies the missing behavioral context: outcome semantics, required return message, worklog closure, and cost calculation. No output schema is present, but the description need not explain return values in detail.

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 100%, so the schema already documents all parameters. The description adds meaning beyond the schema by explaining each outcome value and the required message condition for return, though it does not explain every nested run field.

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 states a specific verb and resource: "Finishes the work on a taken task." It also scopes the tool to shared team data and a taken task, which distinguishes it from sibling task creation, update, and take operations.

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 clear context for usage by requiring a taken task and explaining each outcome: done, return, wait, and close. It does not explicitly name alternative sibling tools or when not to use this one, so it falls short of full alternative routing guidance.

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