Skip to main content
Glama

memory_update

Update an existing memory by its ID when knowledge changes or is corrected, avoiding duplicate entries.

Instructions

Update an existing memory by id. Prefer updating over creating duplicates when knowledge changes or gets corrected.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesNotion page id of the memory
tagsNo
agentNo
titleNo
sourceNo
statusNo
contentNo
projectNo
categoryNo
confidenceNo
importanceNo
supersedesNo
verifiedAtNo
freshnessDaysNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv1.6.0
    • addedInput schema / properties / confidence
      Added value: +{
      +  "enum": [
      +    "high",
      +    "medium",
      +    "low"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / freshnessDays
      Added value: +{
      +  "maximum": 3650,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / project
      Added value: +{
      +  "maxLength": 120,
      +  "type": "string"
      +}
    • addedInput schema / properties / source
      Added value: +{
      +  "maxLength": 40,
      +  "type": "string"
      +}
    • addedInput schema / properties / supersedes
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / verifiedAt
      Added value: +{
      +  "format": "date-time",
      +  "type": "string"
      +}
  2. First observedv1.0.0

TDQS

A3.7/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It says 'update' but does not explain whether this is a PATCH-style partial update or a full replacement, whether omitted fields are preserved, or what side effects occur when updating an archived or superseded memory.

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?

Two sentences with no filler; the core action is front-loaded and the usage preference adds meaningful guidance without redundancy. Every word earns its place.

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 a mutation tool with 14 optional parameters, no annotations, and no output schema, the description is too thin. An agent still lacks critical context about update semantics, field preservation, and what constitutes a successful update.

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 only 7%, yet the description only references 'id' and gives no meaning for the other 13 parameters. It does not compensate for the missing schema descriptions, though it at least identifies id as the lookup key.

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?

The description uses a specific verb ('Update') with a specific resource ('existing memory by id'), clearly distinguishing it from siblings like memory_add, memory_delete, and memory_search. The intent is immediately unambiguous.

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?

It explicitly states when to prefer this tool: 'when knowledge changes or gets corrected,' and contrasts it with creating duplicates. This directly guides the agent away from memory_add in the main scenario where duplication would be inappropriate.

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