Skip to main content
Glama

memory_resolve

Mark an open blocker as fixed and close it for all later sessions by quoting the message that states the fix.

Instructions

Mark a blocker as fixed. Call this right after you fix a blocker that Membral showed you (in the preamble, memory_search or memory_recall); quote your own or the user's message text that states the fix (not tool output, which is not stored). The blocker and its repeats are closed for every later session; the owner can restore it. The quote is checked against this session's transcript when it uploads and kept as the receipt. Only your own open blockers can be resolved.

Input Schema

NameRequiredDescriptionDefault
idYesThe blocker record's id (the id field of a memory_search/memory_recall record)
quoteYesVerbatim text from your own or the user's message in this session that states the fix, not tool output (12-500 characters)
recall_tokenNoThe recall_token line from this session's Membral preamble, if you have one. It links the resolution to this session so the quote can be checked.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

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: it discloses the blast radius ('the blocker and its repeats are closed for every later session'), reversibility ('the owner can restore it'), and a validation mechanism ('the quote is checked against this session's transcript when it uploads'). It also pre-empts a likely failure mode by forbidding tool output as the quote source.

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 action, then timing, then consequences, then the permission constraint — a sensible order with no filler sentences. Slightly dense with nested parentheticals ('in the preamble, memory_search or memory_recall', 'not tool output, which is not stored'), which marginally slows scanning.

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 mutation tool with no annotations and no output schema, the definition covers when to call, what it affects, how the quote is validated, and who may call it. The remaining gap is what happens on rejection (e.g. a quote that fails transcript validation) and what the call returns, though the latter is a minor omission for a simple state-change.

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 parameter definitions alone would justify a 3. The description adds meaning beyond the schema by explaining why the quote must be verbatim message text — it is re-validated against the uploaded transcript and stored as the receipt — which gives the agent a reason to comply rather than just a rule.

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 specific verb and resource ('Mark a blocker as fixed') and immediately anchors it to the blocker objects surfaced by the sibling tools memory_search and memory_recall. An agent can tell this apart from the read-only search/recall siblings without opening any schema.

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?

Gives explicit timing ('Call this right after you fix a blocker') and names the upstream sources that produce the blocker (preamble, memory_search, memory_recall). It also states an exclusion — 'Only your own open blockers can be resolved' — which prevents misuse on other users' or already-closed records.

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