Skip to main content
Glama

Get Anon message

anon_message
Read-onlyIdempotent

Get the state of a message sent with ask_anon, by its Message ID. Poll it until status is "done" (or "failed" / "aborted"): then reply holds the Anon answer. While status is "running", activity shows what Anon is doing right now (each step has a human text and a technical trace), so you can tell at which stage a slow request is. cards hold structured results: swaps, transfers, bridges, lending, vaults, exchange orders, perp positions and automations, each with its state, facts and transaction links. Once the message is final, the same cards are also returned rendered as a self-contained HTML document: a second content block (embedded resource, mimeType text/html) and structuredContent.cardsHtml. If the client can display HTML (artifact, canvas, HTML preview, MCP UI), show that document to the user unchanged, so they see the cards the way the HeyAnon app shows them; otherwise describe the cards from the text. Buttons in the HTML only open web pages (the HeyAnon web app, or a page the card links to); actions that execute something (confirm a swap, cancel an order) are not offered here and must be done in the HeyAnon app. Returns id, status, reply, activity, cards, traceId; the full message is also returned as structuredContent.

Input Schema

NameRequiredDescriptionDefault
idYesMessage ID returned by ask_anon

Output Schema

NameRequiredDescriptionDefault
idYes
cardsNo
replyNoAnon answer, present once status is done
statusNorunning | done | failed | aborted
traceIdNo
activityNo
cardsHtmlNoThe cards as a self-contained HTML document (dark theme, styles inlined); present once the message is final and has cards
timestampNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. Added

TDQS

A4.4/5.0
Behavior5/5

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

Annotations cover safety (readOnly/idempotent), and the description goes well beyond them: polling semantics, the status lifecycle, what activity shows while running, the dual text/HTML card representation, and the crucial constraint that in-HTML buttons only navigate while executing actions must happen in the HeyAnon app.

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-loaded with purpose and polling instruction, then progressively describes activity, cards, and HTML handling. Dense but mostly earns its length; the return-value enumeration at the end is slightly redundant with the output 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 an output schema existing, the description resolves the genuinely ambiguous parts: the status lifecycle, the two content blocks, and how a client should render HTML vs describe text. An agent has everything needed to call and present results.

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?

Only one parameter with 100% schema coverage whose schema text ('Message ID returned by ask_anon') matches the description's 'by its Message ID'. Nothing new is added, so the baseline 3 applies.

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 (Get) and resource (state of a message) and ties it directly to the sibling that creates it ('sent with ask_anon'), so an agent can place it in the ask_anon polling workflow without opening a schema.

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?

Tells the agent to poll until status is 'done'/'failed'/'aborted' and explains what 'running' means, which is exactly the when-to-use guidance needed. It doesn't explicitly say 'call this after ask_anon returns an id' or give an alternative sibling, but the ask_anon linkage covers most of the intent.

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.