Skip to main content
Glama

Set task status

set_task_status
Idempotent

Set a task's status (any team role — a Guest can change nothing). Status values are DEFINED PER WORKSPACE — there is no fixed list. Call list_task_statuses to see this workspace's labels before setting one; a label it does not define is rejected with 400. A new workspace starts with "Open", "InProgress", "Review", "Done", but any of those may have been renamed, reordered, removed or added to. Each status also carries a progress value, and CHANGING A STATUS OVERWRITES percentComplete with it (the workspace's starting status is 0, its finished status 100). To set a status without taking its progress, send status and percentComplete together in one update_task call — except for the finished status, which always forces 100. Reconciliation: the status brings its own progress with it, so this OVERWRITES percentComplete (see list_task_statuses for each status's value). To set a status without taking its progress, use update_task with both status and percentComplete in one call — the workspace's finished status still forces 100. Returns the task after reconciliation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesTask id
statusYesNew status. Status values are DEFINED PER WORKSPACE — there is no fixed list. Call list_task_statuses to see this workspace's labels before setting one; a label it does not define is rejected with 400. A new workspace starts with "Open", "InProgress", "Review", "Done", but any of those may have been renamed, reordered, removed or added to. Each status also carries a progress value, and CHANGING A STATUS OVERWRITES percentComplete with it (the workspace's starting status is 0, its finished status 100). To set a status without taking its progress, send status and percentComplete together in one update_task call — except for the finished status, which always forces 100.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly=false, idempotent=true, destructive=false), and the description goes well beyond them: undefined labels return 400, changing status overwrites percentComplete, the finished status always forces 100, and the task is returned post-reconciliation. That is exactly the side-effect information an agent needs before mutating progress data.

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

Conciseness3/5

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

The critical guidance (call list_task_statuses first, status overwrites percentComplete) is front-loaded, but the closing "Reconciliation:" paragraph restates the overwrite/update_task/finished-status rules almost verbatim from the preceding sentences, wasting space without adding 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?

For a two-parameter mutation with no output schema, the description covers the return value ("Returns the task after reconciliation"), the validation failure mode, the permission boundary, and the progress side-effect — nothing an agent needs in order to call it correctly is missing.

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 coverage is 100% and the status parameter's schema description is a near-verbatim copy of the prose, so the description adds little that the schema does not already carry. Baseline 3 applies when the schema does the heavy lifting and the prose merely mirrors it.

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+resource ("Set a task's status") and immediately scopes it to workspace-defined labels, which distinguishes it from the neighbouring set_task_progress and update_task tools. An agent can identify the operation and its constraints 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 Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells the agent to call list_task_statuses before setting a value, and names update_task as the alternative when the progress side-effect is unwanted. It also states a when-not condition indirectly via the Guest permission note and the 400 rejection rule.

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