Skip to main content
Glama

Update Memory Relationship

update_memory_relationship

Edit an explicit personal link kind using the last read version; stale edits conflict.

Input Schema

NameRequiredDescriptionDefault
edge_kindYesInput value for the Update Memory Relationship tool.
memory_idYesExact XMemo memory reference shown by search or recall.
relationship_idYesInput value for the Update Memory Relationship tool.
expected_versionYesOptimistic-concurrency version read from the current record; a stale value is rejected with VERSION_CONFLICT.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=false, so safety profile is covered. The description adds the optimistic-concurrency behavior (a stale version conflicts), which is genuine extra context, but it does not say what the edit affects, whether it is reversible, or what a successful result looks like.

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?

A single sentence with no filler, front-loading the action and appending the concurrency constraint. Every clause earns its place.

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

Completeness3/5

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

For a non-idempotent mutation tool with no output schema, the description covers the concurrency contract but leaves gaps: the relationship between memory_id and relationship_id is unstated, valid edge_kind values are undocumented (no enums, and the schema text for edge_kind is a placeholder), and success behavior is not described.

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?

Schema description coverage is 100%, so the baseline is 3; expected_version is already fully documented in the schema as an optimistic-concurrency value with VERSION_CONFLICT. The description's 'link kind' and 'last read version' merely restate the schema and add no format or validity detail (e.g. allowed edge_kind values).

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?

States a specific verb (Edit) and a resource (an explicit personal link kind), which maps to the relationship/edge_kind model. It does not distinguish itself from siblings such as link_memories, remove_memory_relationship, or memory_relationships, and 'link kind' is looser phrasing than the tool's actual relationship concept.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The clause 'using the last read version; stale edits conflict' implies the required pre-read workflow and the failure mode, which is useful usage context. However, no alternative tool is named and there is no explicit when-not guidance (e.g. use link_memories to create, remove_memory_relationship to delete).

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.