Skip to main content
Glama

Brain Memory

brain_memorize

Destructive

Store a new memory containing exactly the text provided in content — a fact, decision, preference, or note. Only that text is stored. Returns the stored memory's id and path.

Input Schema

NameRequiredDescriptionDefault
tagsNoTopic tags
typeNoMemory type (default: learning)
titleNoShort title; derived from content if omitted
originNoProvenance of the fact: 'user' — stated by the user or explicitly asked to be remembered; 'agent-inferred' (default) — summarized from the conversation; 'tool-output' — taken from tool or file results; 'external' — sourced from web pages, emails, or other third-party content. Non-user origins are confidence-capped at write and down-weighted at recall; 'tool-output' and 'external' writes are held for verification.
contentYesThe memory content to store (Markdown supported).
supersedesNoIds of memories this one replaces (a decision reversed, a preference changed). Their validity window is closed at this memory's start; they are demoted and kept as history, never deleted.
valid_fromNoISO date the fact became true, when that differs from the time of recording (e.g. 'starting in March'). Unset means the fact has no start bound.
valid_untilNoISO date the fact stops being true (e.g. 'until the end of Q3'). After it passes, recall demotes the memory and marks it expired. Unset means no end bound.
authorized_byNoWhen the content records a permission the user granted (e.g. 'you may deploy without asking'), the user's exact words granting it. A permission stored without the user's words is held for verification and can never be pinned.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / authorized_by
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "When the content records a permission the user granted (e.g. 'you may deploy without asking'), the user's exact words granting it. A permission stored without the user's words is held for verification and can never be pinned.",
      +  "properties": {
      +    "quote": {
      +      "maxLength": 500,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "session_id": {
      +      "maxLength": 120,
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "quote"
      +  ],
      +  "type": "object"
      +}
  2. Changed5 schema fields changed
    • changedInput schema / properties / content / description
      Previous value: -"The exact memory content to store (Markdown ok). Distilled, not the raw chat."New value: +"The memory content to store (Markdown supported)."
    • changedInput schema / properties / origin / description
      Previous value: -"Provenance of the fact — be honest, recall trusts it: 'user' ONLY when the user explicitly stated it or asked to remember it; 'agent-inferred' (default) for facts you summarized from the conversation; 'tool-output' for facts from tool or file results; 'external' for facts sourced from web pages, emails, or other third-party content. Non-user origins are confidence-capped at write and down-weighted at recall."New value: +"Provenance of the fact: 'user' — stated by the user or explicitly asked to be remembered; 'agent-inferred' (default) — summarized from the conversation; 'tool-output' — taken from tool or file results; 'external' — sourced from web pages, emails, or other third-party content. Non-user origins are confidence-capped at write and down-weighted at recall; 'tool-output' and 'external' writes are held for verification."
    • changedInput schema / properties / supersedes / description
      Previous value: -"Ids of memories this one REPLACES (a decision reversed, a preference changed). Closes their validity window so 'that was true until X' stays answerable — they are demoted, never deleted. Use instead of storing a contradicting fact alongside the old one."New value: +"Ids of memories this one replaces (a decision reversed, a preference changed). Their validity window is closed at this memory's start; they are demoted and kept as history, never deleted."
    • changedInput schema / properties / valid_from / description
      Previous value: -"ISO date the fact BECAME true, when that differs from now — 'starting in March', 'since the rewrite'. Distinct from when it is being recorded. Omit for facts simply true."New value: +"ISO date the fact became true, when that differs from the time of recording (e.g. 'starting in March'). Unset means the fact has no start bound."
    • changedInput schema / properties / valid_until / description
      Previous value: -"ISO date the fact STOPS being true — 'until the end of Q3', 'while I'm on leave'. After it passes, recall demotes the memory and marks it expired instead of serving it as current. Omit unless the user bounded the fact in time."New value: +"ISO date the fact stops being true (e.g. 'until the end of Q3'). After it passes, recall demotes the memory and marks it expired. Unset means no end bound."
  3. First observed

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, so the write/destructive profile is covered. The description adds that exactly the input text is stored (no auto-inference) and that it returns id and path, but it omits the side effects the destructive hint implies — e.g. supersede closing prior memories' validity windows and some origins being held for verification.

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 tight sentences, front-loaded with the action and the return value. Minor redundancy between 'containing exactly the text provided in `content`' and 'Only that text is stored', but nothing wasteful.

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 9-parameter tool with nested objects (authorized_by), enums and a verification workflow, the description is thin: it never mentions when a write is held for verification, how origin affects recall, or the pin/verify follow-ups. The rich schema and the stated return value (id, path) compensate enough to keep it at minimum viable.

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% and the nine parameters (supersedes, origin, authorized_by, valid_from/until) are richly documented in the schema itself, so baseline 3 applies. The description only reinforces the meaning of `content` ('exactly the text provided', 'Only that text is stored'), adding little beyond the schema.

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?

Specific verb+resource ('Store a new memory') with a scope qualifier that distinguishes it from the read-side sibling brain_recall, and it names the content categories it accepts. It stops short of explicitly contrasting with siblings like brain_pin or brain_verify, but the operation is unmistakable.

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

Usage Guidelines2/5

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

The description never says when to memorize versus not, and does not mention any alternative or follow-up tool in the sibling set (brain_pin, brain_verify). Usage is only inferable from the verb itself; no exclusions or prerequisites are stated.

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.