Skip to main content
Glama

Open one search result and read the signed record

fetch
Idempotent

Dereference an id from search to retrieve the signed one-line reading, exact body, source URL, and metadata, so agents can cite and verify a fact or cell before quoting it.

Instructions

Dereference an id from search. You get the reading in one line, then the signed body, the URL that serves those bytes, and metadata: cell, band, signing time and key. The id can be an emem:fact: citation, a bare fact_cid, or an emem:cell: handle for a full cell. The value is the exact decimal string that the responder signed, never a new format. A fact handle writes nothing. A cell handle, like emem_recall, MATERIALIZES a missing band on a cold cell: it fetches, signs and stores it. The flags follow that path: readOnlyHint false.

When to use: Call this on each result that you will cite, before you quote the number. Quote the one-line reading. The body lets a reader check it, and emem_echo_verify grades what you emit against it. When a body is too large, the answer says so and gives the URL that serves it complete.

Example arguments: {"id":"emem:fact:defi.zb493.xoso.zcb6a:cxjiu7l54ujzrpnekp24n4534yojpue4mprddbvevnqtti3lh5bq"}

Input Schema

NameRequiredDescriptionDefault
idYesAn id from `search`: an `emem:fact:` citation, a bare fact_cid, or an `emem:cell:` handle for every fact at one cell.

Output Schema

NameRequiredDescriptionDefault
idYesEchoed id, in canonical form.
urlYesStable URL serving these bytes.
textYesThe reading in one line, then the signed body it was lifted from. If the body was too large for the wire it says so inline, with the URL that serves it whole.
titleYesWhat this record is.
metadataNocell, band, when it was signed and by which key: the fields a reader needs to judge the citation without re-fetching it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.4.4

TDQS

A4.8/5.0
Behavior5/5

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

The annotations are non-obvious (readOnlyHint false on a tool called 'fetch'), and the description explains exactly why: a cell handle MATERIALIZES a missing band, fetching/signing/storing it, while a fact handle writes nothing. It also discloses value fidelity ('exact decimal string that the responder signed, never a new format') and the large-body fallback (returns a URL). This adds substantial context beyond the annotations rather than restating them.

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?

The lead sentence front-loads what the tool returns, and the usage block is clearly demarcated. It is dense and jargon-heavy with a slightly redundant restatement ('A fact handle writes nothing'), but nearly every sentence carries routing or behavioral 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?

An output schema exists, yet the description still orients the agent on the shape of the result (reading, body, URL, metadata) and on the fallback path when the body is too large. Combined with the flag rationale, nothing needed to invoke this correctly is missing.

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 baseline is 3, but the description goes further by attaching distinct semantics to each id form: fact citations are read-only, cell handles trigger materialization. That behavioral split is not in the schema and directly affects how an agent should choose the id to pass.

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 ('Dereference an id from `search`') and immediately enumerates what comes back: the one-line reading, signed body, serving URL, and metadata. It distinguishes itself from siblings `search`, `emem_recall`, and `emem_echo_verify` by name and role, so an agent can route without opening another 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?

'When to use: Call this on each result that you will cite, before you quote the number' gives an explicit trigger and ordering constraint, and it names the downstream tool (`emem_echo_verify` grades what you emit). It also contrasts behavior with `emem_recall` for cell handles, giving the agent a comparison point for the nearest sibling.

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