Skip to main content
Glama

get_reply

DestructiveIdempotent

Fetch the reply for a turn that create_conversation or send_message returned with status 'generating'. Use it only for such a turn; do not call it when the turn already came back 'complete'. Polling is safe and expected: call it again every few seconds (every 10 to 20 seconds for beyond turns, which take minutes) until status is 'complete' (with response) or 'error'. Pass the conversation_id and message_id from that call, and for a beyond turn the beyond_run_id to pin that run. Before presenting a reply, read its flags: provider_fallback (a backup model answered), overflow_active (the over-cap fallback the user elected ran), answer_format_applied: false (Beyond ignored answer_format), and for a beyond turn beyond_run_status with a 'message' note when the run stopped early: then tell the user the result is partial, never present it as a finished run. A completed reply may carry usage (ISMS Copilot-side tokens, not your own count). Relay docgen_notice to the user when present. Then present it combined with your own expertise as one answer, without narrating tool calls, ids or empty account data. Side effect: if the turn has stopped responding, this call marks that turn as failed so the conversation can continue; it changes only the turn's status, never a saved message or reply.

Input Schema

NameRequiredDescriptionDefault
message_idYesMessage id (a UUID) from the same call.
beyond_run_idNoOptional: pin the reply to a specific Beyond run (the beyond_run_id a 'beyond' create/send ticket returned).
conversation_idYesConversation id (a UUID) from the create_conversation or send_message call.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / conversation_id / description
      Added value: +"Conversation id (a UUID) from the create_conversation or send_message call."
    • addedInput schema / properties / message_id / description
      Added value: +"Message id (a UUID) from the same call."
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Adds substantial behavior beyond annotations: discloses the side effect that a stalled turn gets marked failed (consistent with destructiveHint=true and readOnlyHint=false), explains the returned flags (provider_fallback, overflow_active, answer_format_applied, beyond_run_status), usage semantics, and docgen_notice relay. No contradiction with the annotation set.

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 purpose and usage constraint, then layers polling guidance and flag handling; nearly every sentence carries actionable content. It is dense and long-winded in the flag-listing clause, but not padded.

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 having no output schema, the description names the status values, the flags to inspect, and how to present results, covering what an agent needs to poll, interpret, and relay correctly. The side-effect disclosure closes the otherwise risky mutation gap.

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 baseline is 3; the description adds real value by saying where conversation_id/message_id come from ('from that call') and what beyond_run_id does ('pin that run'). It does not add format/syntax detail, which is fine given the schema already specifies UUIDs.

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 ('Fetch the reply for a turn') and ties it directly to the siblings that produce such turns (create_conversation, send_message) with the 'generating' status condition. An agent can distinguish this from send_message without opening either 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?

Explicit when-to-use ('turns that returned status generating'), when-not ('do not call it when the turn already came back complete'), and operational guidance (poll every 10–20 seconds for beyond turns until complete/error). Alternatives and exit conditions are named, not inferred.

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.