Skip to main content
Glama

Complete agent task

complete_agent_task

Report the outcome of a plan step obtained from get_agent_tasks or get_pending_work.

Marks the step done (or failed), adds progress_delta to the goal's
progress (capped at 1.0), marks the plan completed or failed once all its
steps are finished, and stores the result as an episode in memory. It
then re-evaluates the goal. If its success criterion is met the goal is
marked achieved, and the evaluation may recalculate progress; the
response reports the stored progress and any recalculation. Fails if the
step is not waiting for an agent.

Args:
    step_id: The step UUID from get_agent_tasks or get_pending_work.
    result: What was done and what the outcome was.
    success: True if the step succeeded, False if it failed.
    progress_delta: How much this advances the goal, 0.0-1.0
        (e.g. 0.05 = 5%). 0 leaves goal progress unchanged before
        re-evaluation.

Input Schema

NameRequiredDescriptionDefault
resultYes
step_idYes
successNo
progress_deltaNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond annotations, enumerating the full side-effect chain: marks the step done/failed, adds progress_delta capped at 1.0, finalizes the plan, stores the result as an episode in memory, re-evaluates the goal, and may mark the goal achieved. This also corroborates idempotentHint=false and destructiveHint=false with concrete mutation semantics.

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-loads the core action in the first sentence and clearly separates behavior from an Args block, so structure is strong. The behavioral paragraph is dense and long, but nearly every clause conveys distinct, load-bearing consequence information rather than filler.

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?

For a mutation tool with no output schema, it still tells the agent what the response contains ('reports the stored progress and any recalculation') and describes preconditions and cascading effects. Nothing material needed to invoke it correctly is missing.

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

Parameters5/5

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

With 0% schema description coverage, the description fully compensates by documenting all four parameters: step_id (step UUID source), result (what was done/outcome), success (pass/fail), and progress_delta (0.0-1.0 with the 0 = unchanged behavior spelled out). The progress_delta semantics in particular add meaning the bare schema lacks.

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 ('Report the outcome of a plan step') and pins the source of the step to get_agent_tasks or get_pending_work, distinguishing it from read/list siblings. An agent can tell immediately what this tool consumes and what it accomplishes.

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?

Gives clear context for invocation: the step_id must come from get_agent_tasks or get_pending_work, and it 'Fails if the step is not waiting for an agent,' which is an implicit precondition. However, it never contrasts itself with the similarly named sibling complete_task, so the agent must infer which completion tool applies.

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