Skip to main content
Glama
mgcrea
by mgcrea

A2A: Get Task

a2a_get_task
Read-only

Fetch a task's full state, conversation history, and artifacts by ID. For outbound tasks, set refresh: true to re-read from the peer that owns it.

Instructions

One task in full: its state, the conversation so far, and every artifact's text. Use this once a2a_list_tasks or a2a_wait_for_task has told you which id you care about. For a task you delegated (direction outbound), pass refresh: true to re-read it from the peer that owns it — the local copy is only a mirror and does not update itself.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
refreshNoRe-read the task from the peer that owns it and update the local mirror. Only meaningful for an outbound task; ignored for an inbound one, where this machine already holds the authoritative copy. Defaults to false.
task_idYesA task id as it appears in a2a_list_tasks, e.g. "task-mfk2j1-8ac31b". Ids are generated by whichever side created the task — never composed by hand.
history_lengthNoHow many of the most recent messages to include (0-100). Defaults to 10; a long conversation is trimmed and the response says by how much. 0 omits the history.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

The readOnlyHint annotation already marks this as safe, and the description adds valuable nuance: the local copy is only a mirror, it does not update itself, and refresh re-reads from the owning peer. This is exactly the kind of behavioral context an agent needs to avoid acting on stale data.

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?

Three sentences carry purpose, usage preconditions, and the refresh nuance. Key information is front-loaded, and there is no filler or repetition of the schema.

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?

Despite no output schema, the description tells the agent what the result contains: state, conversation so far, and every artifact's text. Combined with the schema's history_length behavior and the readOnly annotation, the agent has enough to use the tool correctly.

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 parameter meaning is fully documented in structured form. The description restates refresh behavior conceptually but adds little beyond the schema; it is consistent with the schema rather than providing new parameter-level insight.

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 object and scope: 'One task in full' including state, conversation, and artifacts. It clearly distinguishes this from the sibling listing tools, and the title's verb 'get' matches the read-only action.

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: use it after a2a_list_tasks or a2a_wait_for_task has identified the id. It also explains when refresh is appropriate for outbound taskstm. It does not explicitly say 'when not to use' it, but the guidance is strong enough to route the agent correctly.

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