Skip to main content
Glama

record_memory

Save a rule, preference, decision, correction, or plan to project-local or account-global memory. Use it for statements meant to persist beyond the current reply.

Instructions

Records one statement in this account's or this project's memory.

Call it for something meant to hold beyond this reply: a rule, a principle, a decision, a correction, a preference, a path. Not for a request that is finished when it is answered.

Recall first, with words covering the same thing. If a statement comes back that says the same, record nothing. If one comes back that contradicts it, forget that one first.

scope decides where it goes. "local" is this project, inside the repository. "global" is across projects, in the account's memory. Choose it from what the user means and how far it reaches — a fact about this code, a path, a convention here is local; a preference about how they want to be spoken to, or a rule about their own work rather than this repository, is global. Prompts rarely say so, so judge the substance and not the wording.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoThe kind to file it under, chosen from what the statement means. RULE for an instruction or a standing fact, PLAN for what the project is meant to be or achieve, PREFERENCE for what the user likes, CORRECTION for something to stop doing, and any other word in block letters if the statement fits one better. The same word for the same kind of thing, because a recall filtered by kind returns everything filed under it. If nothing fits, ITEM: it is a kind like any other, and a statement filed under it is found by asking for it. Nothing here interprets the word.ITEM
scopeNoWhere the statement belongs. "local" is this project, inside the repository, and is the default. "global" is across projects: the account's memory, shared by every project on this machine. Read it off what the user means and how far it reaches rather than off the wording, because most prompts carry no marker of where a statement should go.local
contentYesThe one statement to remember, in the user's own words where it is theirs. A line or a short paragraph.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.8.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the agent already knows this is a non-idempotent write. The description goes beyond that by explaining the deduplication discipline (recall before record, skip duplicates, forget contradictory entries first) and by spelling out the scope semantics (local = this project/repository, global = the account's memory across projects). It does not disclose storage limits, rate limits, or failure modes, so it earns a 4 rather than a 5.

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 description is well-structured with front-loaded purpose, then eligibility, then workflow, then scope disambiguation. It is somewhat repetitive in its insistence that prompts rarely mark scope ('Prompts rarely say so, so judge the substance and not the wording') and the scope sentences are longer than needed. Still, nearly every sentence carries distinct operational guidance.

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?

For a 3-parameter mutation tool with full schema coverage, annotations covering the safety profile, and an output schema (so return values need not be explained), the description supplies exactly the missing pieces: when to write, the recall-first workflow, and how to resolve scope ambiguity. Nothing an agent needs to invoke it correctly is absent.

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 description coverage is 100%, with the schema itself carrying detailed semantics for kind, scope, and content. The description reinforces scope ('local is this project, inside the repository; global is across projects, in the account's memory') and gives guidance on choosing it from substance rather than wording, which adds meaningful interpretation beyond the raw schema. That interpretation is the valuable addition; the kind parameter's semantics are left entirely to the schema, so this lands at a 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Records one statement in this account's or this project's memory') and clearly distinguishes what qualifies ('something meant to hold beyond this reply' vs 'a request that is finished when it is answered'). It does not directly name the sibling tools (recall_memory, forget_memory), so an agent must infer the relationship from the described workflow.

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?

Explicit when-not guidance ('Not for a request that is finished when it is answered') and a prescriptive prerequisite workflow: 'Recall first, with words covering the same thing. If a statement comes back that says the same, record nothing. If one comes back that contradicts it, forget that one first.' This names the alternatives (recall, forget) and the conditions that route to them, leaving little to inference.

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