Skip to main content
Glama

memory.read

Retrieve a memory by its unique identifier from canonical storage, giving AI agents access to durable project knowledge on demand.

Instructions

Read a memory from canonical storage by its identifier.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
memory_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
scopeYes
titleYes
statusYes
contentYes
memory_typeYes
sensitivityYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden. It communicates a read/non-mutating operation and names the storage source, but it does not disclose behavior for missing or invalid identifiers, or any caveats around 'canonical storage'. For a simple read tool this is adequate but minimal.

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?

The description is a single sentence with no filler or repetition. The action and identifier mechanism are front-loaded, and every word contributes to the operational purpose.

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?

Given one required parameter, an output schema, and a simple read operation, the description covers the core context. It omits minor details such as what happens on a missing ID or how to route to search, but those do not block safe invocation of the tool.

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?

The schema provides only name, type, and UUID format with zero description coverage. The description adds meaningful semantics by identifying memory_id as the 'identifier' that selects the canonical memory, which is the essential role of the only parameter. More detail about obtaining the identifier would be useful but is not necessary for a single obvious parameter.

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 states a specific verb ('Read'), resource ('memory'), source ('canonical storage'), and selection mechanism ('by its identifier'). This clearly distinguishes the tool from siblings like memory.search, which is query-driven, and memory.archive, which changes state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by its identifier' implies the intended use case: call this when you already have a memory_id. However, it does not explicitly route the agent to memory.search when the ID is unknown, nor does it state when memory.read is the wrong choice.

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