Skip to main content
Glama

Remember a fact

remember

Record durable facts in shared memory as dated bullets with stable IDs, and supersede outdated facts so agents retain accurate context across sessions.

Instructions

Record a durable fact in the shared memory (memory/*.md) as a dated bullet with a stable ^id. If it replaces an earlier fact, pass supersedes (the old fact's ^id, or a distinctive substring of it) — the old fact stays visible with strikethrough and a pointer to the new one. Use search_notes to find existing facts first.

Input Schema

NameRequiredDescriptionDefault
factYesThe fact, stated so it makes sense without conversation context
topicNoOptional topic — facts go to memory/<topic>.md instead of memory/facts.md
supersedesNo^id or distinctive substring of the fact this replaces

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does well: it explains persistence, dated bullet formatting, stable ^id behavior, and the non-destructive supersede semantics where the old fact remains visible with strikethrough and a pointer. It omits permissions, failure modes, and return behavior, which keeps it below 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three tightly written sentences, front-loaded with the core action and followed by the key edge case and prerequisite. Every sentence adds useful information without repetition.

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?

For a 3-parameter tool with 100% schema coverage and no annotations, the description covers the main invocation behavior, supersede semantics, and search-first workflow. It is nearly complete, though it does not describe what the tool returns or any permission constraints.

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 adds meaningful semantics beyond the schema for supersedes: the old fact remains visible with strikethrough and a pointer. It also reinforces the durable-fact and memory-path behavior for fact and topic.

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 and resource: it records a durable fact in shared memory (memory/*.md) as a dated bullet with a stable ^id. That is concrete enough for an agent to distinguish it from generic note-writing siblings such as write_note or edit_note.

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 gives a clear usage instruction to search_notes first for existing facts, and it explains when to use the supersedes parameter. It does not explicitly say when to prefer write_note or edit_note instead, so it falls short of full alternative routing.

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