Skip to main content
Glama
M-T-D-N

agentmemory-codex-windows

memory_save

Persist a verified insight, decision, or preference to an exact project for later recall. Requires project and content; supports source observation links and optional agent scoping.

Instructions

Persist a verified insight, decision or preference in an exact project; '*' is rejected for writes. Optional sourceObservationIds must resolve to official observations in that project. Similar content may supersede an existing memory, so repeated calls can create new versions. Returns the saved memory and, when present, an advisory similarTo match. Use memory_lesson_save for reusable lessons with confidence and reinforcement.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNoMemory type: pattern, preference, architecture, bug, workflow, or fact
filesNoComma-separated relevant file paths
agentIdNoAgent identity to scope this memory to. When set, agent-scoped recall and search only surface it for the same agentId. Omit for shared memory.
contentYesThe insight or decision to remember
projectYesStable canonical project identifier this memory belongs to (e.g. a slug, UUID, or registry key). Must match the value used when the session was started. Do not use filesystem paths or ad-hoc display names — those change across machines and will silently break project scoping.
conceptsNoComma-separated key concepts
sourceObservationIdsNoOfficial observation IDs in the exact project supporting this memory

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0-preview.14-glama.1

TDQS

A4.7/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 validation rules ('*' rejected, sourceObservationIds must resolve to official observations), supersession/versioning behavior (repeated calls can create new versions), and the return payload including the advisory similarTo match.

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?

Dense and front-loaded — persistence scope and the write constraint come first, then validation, supersession, return shape, and the sibling routing. Every sentence conveys distinct actionable 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?

Despite no output schema, the description states what is returned (the saved memory plus advisory similarTo). Combined with the rich input schema and disclosed mutation semantics, an agent has everything needed to call it correctly.

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; the description adds value by stating the resolution constraint on sourceObservationIds and the project '*' rejection, which are behavioral rules the schema only partially conveys.

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 precise verb+resource ('Persist a verified insight, decision or preference') and scopes it to an exact project. It names and differentiates from the sibling memory_lesson_save, so an agent can route correctly 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 Guidelines4/5

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

Explicitly routes reusable lessons-with-confidence to memory_lesson_save, giving a concrete condition for the alternative. It also notes '*' is rejected for writes, but does not enumerate the full set of write-alternative siblings in the landscape.

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