Skip to main content
Glama

remember

Store text or files in memory for AI agents. Use permanent mode to build a knowledge graph with entity extraction, or session mode for quick, temporary storage.

Instructions

Store data in memory.

Two modes depending on whether session_id is provided:

Without session_id (permanent memory): Runs the full add + cognify pipeline to ingest data and build the knowledge graph, then the self-improvement loop (improve) unless self_improvement=False.

With session_id (session memory): Stores the data in the session cache only. Fast, no entity extraction. Omit session_id when the content should be stored as permanent graph memory.

Pass either data (text) or filename + content_base64 (a file upload, up to 10 MB), not both. File uploads are permanent-memory only and don't support session_id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNoThe text content to store. Mutually exclusive with filename/content_base64.
filenameNoOriginal filename for a file upload. Used to derive the stored document's name. Requires content_base64.
backgroundNoQueue permanent ingestion as a background task and return immediately instead of waiting for the pipeline. Use when the caller has a request deadline shorter than ingestion takes. Ignored with session_id, which is already fast. Errors surface via cognify_status, not the return value.
session_idNoSession ID. When set, stores in session cache only.
dataset_nameNoTarget dataset name. Defaults to the current MCP client's agent-scoped dataset (e.g. "cursor_vscode_memory"), or "main_dataset" if no client identity is detected.
ontology_keyNoOne or more uploaded ontology keys for extraction (permanent mode only). API mode uses ontologies uploaded by the authenticated API user. Local mode uses the default user's ontology store. Omit to keep the configured server ontology.
custom_promptNoCustom prompt for entity extraction (permanent mode only).
content_base64NoBase64-encoded file content to ingest. Requires filename.
self_improvementNoRun the improve loop (triplet enrichment and, with sessions, the session bridge) after cognify. Permanent mode only; default True. Pass False for a plain add + cognify ingestion.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changedv1.6.0
    • addedInput schema / properties / content_base64 / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / content_base64 / type
      Removed value: -"string"
    • addedInput schema / properties / custom_prompt / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / custom_prompt / type
      Removed value: -"string"
    • addedInput schema / properties / data / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / data / type
      Removed value: -"string"
    • addedInput schema / properties / dataset_name / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / dataset_name / type
      Removed value: -"string"
    • addedInput schema / properties / filename / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / filename / type
      Removed value: -"string"
    • addedInput schema / properties / ontology_key
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "One or more uploaded ontology keys for extraction (permanent mode only).\nAPI mode uses ontologies uploaded by the authenticated API user. Local\nmode uses the default user's ontology store. Omit to keep the configured\nserver ontology."
      +}
    • addedInput schema / properties / self_improvement
      Added value: +{
      +  "default": true,
      +  "description": "Run the improve loop (triplet enrichment and, with sessions, the\nsession bridge) after cognify. Permanent mode only; default True.\nPass False for a plain add + cognify ingestion.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / session_id / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / session_id / type
      Removed value: -"string"
  2. Changed1 schema field changedv1.5.1
    • addedInput schema / properties / background
      Added value: +{
      +  "default": false,
      +  "description": "Queue permanent ingestion as a background task and return immediately\ninstead of waiting for the pipeline. Use when the caller has a request\ndeadline shorter than ingestion takes. Ignored with session_id, which\nis already fast. Errors surface via cognify_status, not the return\nvalue.",
      +  "type": "boolean"
      +}
  3. Changed15 schema fields changedv1.5.0
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / content_base64
      Added value: +{
      +  "default": null,
      +  "description": "Base64-encoded file content to ingest. Requires filename.",
      +  "type": "string"
      +}
    • addedInput schema / properties / custom_prompt / description
      Added value: +"Custom prompt for entity extraction (permanent mode only)."
    • removedInput schema / properties / custom_prompt / title
      Removed value: -"Custom Prompt"
    • addedInput schema / properties / data / default
      Added value: +null
    • addedInput schema / properties / data / description
      Added value: +"The text content to store. Mutually exclusive with\nfilename/content_base64."
    • removedInput schema / properties / data / title
      Removed value: -"Data"
    • addedInput schema / properties / dataset_name / description
      Added value: +"Target dataset name. Defaults to the current MCP client's\nagent-scoped dataset (e.g. \"cursor_vscode_memory\"), or\n\"main_dataset\" if no client identity is detected."
    • removedInput schema / properties / dataset_name / title
      Removed value: -"Dataset Name"
    • addedInput schema / properties / filename
      Added value: +{
      +  "default": null,
      +  "description": "Original filename for a file upload. Used to derive the stored\ndocument's name. Requires content_base64.",
      +  "type": "string"
      +}
    • addedInput schema / properties / session_id / description
      Added value: +"Session ID. When set, stores in session cache only."
    • removedInput schema / properties / session_id / title
      Removed value: -"Session Id"
    • removedInput schema / required
      Removed value: -[
      -  "data"
      -]
    • removedInput schema / title
      Removed value: -"rememberArguments"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "result": {
      +      "items": {},
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "result"
      +  ],
      +  "type": "object",
      +  "x-fastmcp-wrap-result": true
      +}
  4. Addedv1.4.1
  5. Removedv1.4.0
  6. First observedv1.0.1

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so thoroughly. It discloses the permanent pipeline (add + cognify + optional improve loop), the session-cache fast path with no entity extraction, file upload constraints, and the mutual exclusivity of data vs file upload.

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?

The description is well-organized and front-loaded, with the core purpose stated first and mode-specific details cleanly separated. Every sentence adds operational value, and the file-upload constraint is included without redundancy.

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 tool with two modes, 9 optional parameters, and an output schema, the description covers the key decision points and constraints necessary to call it correctly. The output schema covers return values, and the input schema covers remaining parameter details, so no critical operational context is missing.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds meaningful parameter semantics: it explains how session_id switches modes, that data is mutually exclusive with filename/content_base64, and that file uploads are limited to 10 MB and permanent-memory only. This goes beyond the schema's per-field descriptions.

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 opens with a specific verb-resource pair ('Store data in memory') and then distinguishes the tool by splitting it into permanent and session memory modes. This clearly separates it from siblings like recall and forget, which handle retrieval and deletion.

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?

The description gives explicit guidance on when to use permanent vs session memory, including the rule to omit session_id for permanent storage. It does not explicitly contrast with sibling tools like recall or search_tools, but the mode-selection context is strong enough to guide correct use.

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

Deploy Server

Other Tools