Skip to main content
Glama

read_memory

Retrieve a stored memory and its connected key clusters by memory_id, optionally reinforcing the traversed edge via via_key_id to continue associative exploration.

Instructions

Read the full content and validity of one stored memory (selected via read_key). Returns the memory and all connected key clusters so exploration can continue Key → Memory → Key. Pass via_key_id from the selected key: the read records access and only that traversed edge is Hebbian-reinforced. Reading does not change content depth or confirm that the content is current.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
memory_idYes
namespaceNo
via_key_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.29.0
  2. Removedv0.17.1
  3. First observedv0.14.8

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses that reading records access, that only the traversed edge is Hebbian-reinforced, and that reading neither changes content depth nor confirms the content is current. These are non-obvious side effects and non-effects that an agent could not infer from the name or schema.

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 the core action, then the traversal workflow, then the side-effect caveats. Sentences are dense but each adds information; slightly long but no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description does describe the return ('the memory and all connected key clusters'), which is the key missing piece. It omits explanation of the namespace parameter, leaving one gap for a 3-param tool.

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 0%, so the description must compensate. It richly explains via_key_id and its reinforcement behavior, but memory_id (the required param) and namespace are left entirely undocumented in both schema and description, so it only partially covers the semantics gap.

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 ('Read the full content and validity of one stored memory') and immediately clarifies the input selector ('selected via read_key'), which distinguishes it from the read_key sibling. An agent knows this fetches a memory object, not a key.

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?

It tells the agent to obtain the id from read_key and pass via_key_id from the selected key, giving a clear workflow context (Key → Memory → Key). It does not state explicit when-not-to-use conditions or name alternative retrieval tools like recall or related, so it falls short of a 5.

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