Skip to main content
Glama

manage_memory

Destructive

Memory upkeep. cleanup: queue likely duplicate, stale and misfiled records. import: a memory export or edited FlowState markdown into review. stale: facts unchecked for 60+ days, and records flagged possibly stale. files_changed: paths you changed; flags records whose file evidence names them. mark_checked: you re-checked one (clears the flag). set_source: correct an origin (user_stated waits for the user). set_aside: no longer applies but kept (needs reason; out of brief and search; restore_set_aside or undo). delete: only when the user asks; undo restores it; with approvals on it waits for the user's approve (manage_review). Requires project. Returns counts and ids.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "action": "<action>",
      "project": "<project>"
    },
    "name": "manage_memory"
  }
}

Input Schema

NameRequiredDescriptionDefault
daysNostale: unchecked for this many days. Default 60.
kindNoimport (memory format): record kind for each memory. Default learning.
textNoimport: the file contents. Max 200,000 chars.
kindsNocleanup: which checks. Omit for all three.
limitNostale: max facts. Default 20.
modelNoModel name if known. Never guess.
pathsNofiles_changed (required): the files you changed, repo-relative.
actionYesThe operation; see the tool description.
formatNoimport: memory (default; one memory per line or bullet) or flowstate_markdown (an edited FlowState markdown export).
originNoimport: where it came from, such as Claude or ChatGPT.
reasonNoset_aside (required): why the record no longer applies.
sourceNoset_source (required) / mark_checked (optional): user_stated, ai_inferred or from_code.
projectYesProject name or id. Required.
record_idNodelete / mark_checked / set_source / set_aside / restore_set_aside: the record's id.
record_typeNodelete / mark_checked / set_source / set_aside / restore_set_aside: the record's type (all but delete: todo, decision, change, learning, problem, variable, method).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=false, but the description goes further: set_aside drops the record from brief and search yet stays restorable, delete is user-initiated and undo-reversible and blocks on approval via manage_review, set_aside requires a reason, and the tool returns counts and ids. What it omits is which actions actually mutate versus merely surface candidates (cleanup appears to queue review items, stale is a listing) — useful given a blanket destructiveHint across nine actions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

Word economy is excellent — no filler sentences — but the content is a single unbroken run of semicolon-separated fragments where action names are buried inside clauses, making it hard to scan at the moment of selection. It is under-structured rather than verbose, which holds it at adequate.

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 15-parameter, nine-action tool with no output schema, this covers the essentials: the return shape ("counts and ids") is stated, and the mutation semantics of the risky actions (set_aside, delete) are spelled out. The gap is restore_set_aside, which appears in the enum but is only mentioned as a remedy, with no statement of what it needs or how it differs from undo.

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; the description earns above that by binding parameters to actions that the flat schema leaves unconnected — paths belong to files_changed, reason to set_aside, record_id/record_type to the per-record actions, and record_type has fewer valid values for delete. Defaults (60 days, 20 facts) and the user_stated-waits rule are also flagged, though a few couplings remain unstated.

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?

"Memory upkeep" is followed by nine action-specific fragments that each name a concrete verb and object (queue duplicates, import an export, clear a stale flag, correct an origin, delete a record). The agent can tell this governs memory-record lifecycle rather than todos/rules/handoffs handled by siblings, though the description never says so explicitly.

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?

Nearly every action carries a when-to-use rule: cleanup is for "likely duplicate, stale and misfiled records", mark_checked only when "you re-checked one", set_aside when a record "no longer applies but kept", delete "only when the user asks". It also routes to alternatives by name — restore_set_aside, undo, and manage_review for approvals — which is exactly the when/when-not/alternative coverage this dimension rewards.

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