Skip to main content
Glama
jmfraga
by jmfraga

propose_memory

Idempotent

Create a candidate memory about a user for review and approval, recording type and provenance so client models cannot alter canonical memory directly.

Instructions

Propose a new memory about the user. It is saved as a CANDIDATE that the user must approve. type: fact | preference | event | interpretation | skill | decision | relationship | goal. Use 'interpretation' for anything inferred. provider/model: identify yourself for provenance.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNo
typeNofact
modelNo
contentYes
providerNo
confidenceNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false), so the bar is lower. The description adds genuinely useful behavioral context not in the annotations: the memory is saved as a CANDIDATE that the user must approve, which tells the agent the write is not immediately committed.

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 and the candidate-approval behavior, then follows with parameter guidance. The type enumeration is long but earns its place since the schema has no enum. No filler sentences.

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?

With an output schema present, return values need no explanation. The description covers the key behavioral trait (candidate/approval) and the highest-value parameter (type), but is silent on tags and confidence, leaving a gap for a 6-parameter tool.

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 0%, so the description must carry the load. It usefully enumerates the allowed 'type' values (which the schema omits, having no enum) and explains provider/model for provenance, but leaves tags and confidence (default 0.5) entirely unexplained out of 6 parameters.

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 and resource ('Propose a new memory about the user'), which clearly distinguishes the write path from the read-oriented siblings (search_memories, get_memory, get_context). It doesn't explicitly name a sibling alternative, but the verb 'propose' plus the resource makes the purpose unambiguous.

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?

Usage is implied rather than stated. The description explains that results become a CANDIDATE requiring approval and gives a routing rule for the 'type' field ('Use interpretation for anything inferred'), but it never says when to call this tool versus not call it, or what prerequisites exist.

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