Skip to main content
Glama

RepoMemory

Record an entry

record_entry
Idempotent

Write down something the next agent or teammate on this project must know: a decision and why it was made, a lesson from something that broke or was reverted, a guardrail (a rule not to break), a note, or a task to be done. Record a lesson whenever a change is rolled back or a fix took real digging, and a decision whenever an approach is chosen over another. kind is decision, lesson, guardrail, note or task; give a short title, the details in body (what happened, why, what to do instead) and optional tags. When this replaces an earlier entry, put its id in supersedes and the old one is retired with a pointer to this one. Recording the exact same entry again returns the existing one and uses no entries. Returns the entry with its id (KNOW-n, or TASK-n for a task); a body over 600 characters is echoed back as an excerpt marked body_truncated. Put your name in agent; the server also records which key wrote it. If this entry started a new ledger while the account has others, the result has new_project, known_projects and a hint: when this repository's ledger is one of those, use its name from now on.

Costs 1 entry credit per successful call; failed calls are free.

Input Schema

NameRequiredDescriptionDefault
bodyNoThe details: what happened or was decided, why, and what to do instead.
kindYesWhat sort of entry this is.
tagsNoWords to find it by, such as the component it is about.
agentNoWho is recording, such as "claude-code on dimaino's laptop". Shown to whoever reads the entry, next to the author the server records.
titleYesOne line saying what it is.
projectYesThe project, usually the repository ("owner/repo" or a short name). Entries are kept per project.
supersedesNoThe id of an entry this one replaces (KNOW-n); it is retired.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

The annotations only declare the safety profile (not read-only, idempotent, not destructive); the description adds substantial context beyond them: the idempotent-replay behavior costs no credits, successful calls cost 1 entry credit while failures are free, superseded entries are retired with a pointer, and bodies over 600 characters are echoed back as `body_truncated`. It also discloses an edge case — a newly created ledger triggering `new_project`/`known_projects`/`hint` in the response — which no structured field conveys.

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 instruction, then parameters, then return shape, then cost — a sensible order that lets the agent stop reading early. It is dense and every sentence carries information, but it is long enough that the return-shape and new-ledger details could be tightened slightly.

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?

With no output schema, the description carries the return contract itself and does so: entry id format (KNOW-n/TASK-n), truncation signaling, replay returns the existing entry, and the new-ledger result fields. Combined with cost and supersedes semantics, an agent has everything needed to call this correctly and interpret the result.

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 the baseline is 3, but the description adds real meaning on top: it explains what belongs in `body` (what happened, why, what to do instead), that `agent` is for your name while the server separately records the key, and that `supersedes` retires the referenced entry rather than merely linking. The one gap is that `project` naming semantics are left to the schema.

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 opens with a concrete verb and resource ("Write down something... a decision, lesson, guardrail, note, or task") and enumerates the exact content types so the agent knows precisely what belongs here. It is clearly distinguishable from the listed siblings, which read (recall), delete (retire_entry), summarize (brief), and assign tasks (claim_task).

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 explicit triggering conditions: record a lesson when a change is rolled back or a fix took digging, a decision when an approach is chosen over another. It also directs the replace-an-earlier-entry case to `supersedes`. What's missing is any exclusion or cross-reference — nothing tells the agent to check recall for duplicates first, or how this differs from retire_entry when retiring old data.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources