Skip to main content
Glama

edit_memory

Correct errors in a stored memory's source content in place, without changing real-world facts. Provide the memory ID and revised content to fix typos or inaccuracies in the saved source.

Instructions

Fix the source memory in place. Use only for errors in the stored source, not changed reality.

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": {
      "memory_id": "<memory_id>",
      "content": "<content>"
    },
    "name": "edit_memory"
  }
}

Input Schema

NameRequiredDescriptionDefault
reasonNo
contentYes
memory_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral load. "In place" usefully signals that this mutates an existing record rather than creating a new one, and the error-vs-changed-reality rule constrains when mutation is legitimate. It still says nothing about permissions, whether the original content is preserved or versioned, auditability, or what the response contains, which matter for an unannotated write tool.

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?

Two short sentences, with the core action first and the guardrail second; nothing is padded. The phrasing "not changed reality" is slightly terse to the point of ambiguity, but there is no wasted wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an unannotated mutation tool with three undocumented parameters, no output schema, and a crowded sibling set, a two-sentence description is not enough. It omits parameter roles, mutation side effects, and return behavior, so an agent cannot confidently construct a correct call from the definition alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across three parameters, so the description must compensate and largely does not. "Fix the source memory" only implicitly indicates that memory_id selects the target and content is the replacement text, and the optional reason parameter is never addressed at all. This leaves the agent without documented meaning for any parameter.

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

Purpose3/5

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

"Fix the source memory in place" names a verb (fix) and a resource (source memory), but "source memory" and "fix" are both jargon-ish and the object of the edit is unclear. The exclusion "not changed reality" hints at a distinction from correct_memory without naming it, so an agent still has to infer which of several memory-mutation siblings is the right one.

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?

The second sentence is an explicit when-to-use rule: only for errors in the stored source, never for changed reality. That is a genuine selection criterion. It stops short of 5 because it does not name the alternative tool (correct_memory) that handles changed reality, leaving the agent to map the condition to a sibling itself.

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