Skip to main content
Glama

accept_revision

Destructive

Accepts a pending memory revision for a target memory, replacing its content with the proposed revision and removing it from the pending list; returns the revision ID or an error if none exists.

Instructions

Accept a pending memory revision. Replaces the target memory's content with the proposed revision content and removes the revision row from the pending list. Returns the consumed revision id. Returns an error if no pending revision exists for that target. Not available over remote HTTP MCP transport (local stdio only).

Input Schema

NameRequiredDescriptionDefault
target_source_idYesThe source_id of the memory whose pending revision should be accepted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.19.3

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the destructiveHint annotation: it says exactly what is destroyed (the target memory's content is replaced by the proposed revision), what is removed (the revision row from the pending list), what is returned (the consumed revision id), and what error condition to expect. The transport limitation is a behavioral fact annotations could never express.

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?

Five short sentences, no filler: effect first, return value next, error condition next, environment constraint last. Each sentence carries a distinct, actionable fact.

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?

For a one-parameter destructive mutation with no output schema, everything needed is present: the mutation effect, the return value, the error case, and a transport restriction that would otherwise cause a runtime surprise.

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

Parameters3/5

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

With a single required parameter at 100% schema coverage, the schema already defines target_source_id fully. The description's 'target memory' phrasing reinforces the intent but adds no format or edge-case detail about the identifier itself, so the baseline 3 applies.

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 ('Accept a pending memory revision') and immediately disambiguates from siblings by describing the state change against the target memory rather than a revision row. An agent can distinguish this from dismiss_revision and accept_refinement without opening a schema.

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?

Gives the precondition implicitly (a pending revision must exist for that target) and names the failure mode if it doesn't, plus a hard availability constraint ('local stdio only'). It never explicitly routes to dismiss_revision for the reject path, so it falls short of a full when/when-not/alternatives statement.

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