Skip to main content
Glama

ctxstore — memory that follows you across models

Store Facts (batch)

store_facts

Store up to 50 facts in one call — the same fields as store_fact per item. Made for carrying memory over: when you already remember things about the person from your own platform memory (ChatGPT memory, Claude memory, Gemini saved info), write them here one fact per item, in their words, with the date learned when known, so the memory follows them to every other tool. Each item is stored independently; the reply lists what landed and what did not.

Input Schema

NameRequiredDescriptionDefault
factsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / facts / items / properties / layer / maximum
      Added value: +3
    • addedInput schema / properties / facts / items / properties / layer / minimum
      Added value: +0
    • changedInput schema / properties / facts / items / properties / layer / type
      Previous value: -[
      -  "integer",
      -  "string"
      -]New value: +"integer"
  2. First observed

TDQS

A4.1/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, destructiveHint=false), so the description's added value is the per-item write semantics: 'Each item is stored independently; the reply lists what landed and what did not,' which warns the agent about partial success. It stops short of stating auth requirements or duplicate handling.

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?

Three sentences, front-loaded with the batch limit and batching rationale before the memory-portability motivation. Dense but every clause is doing work; the parenthetical platform list is slightly long but justified.

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?

No output schema exists, and the description compensates by describing the reply ('lists what landed and what did not'). It covers the primary migration use case well, but leaves an agent guessing on category/layer/namespace semantics for a tool whose schema is undocumented.

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 item-level semantics, and it only partly does: it implies 'text', 'one fact per item', and a date-learned field (which does not actually exist in the schema). The enum values for category, plus key, layer, namespace and is_permanent, are left entirely unexplained.

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?

States a specific verb+resource and scope ('Store up to 50 facts in one call') and explicitly distinguishes itself from the sibling store_fact by noting it takes 'the same fields as store_fact per item'. An agent can tell the batch variant from the single-fact variant without opening either schema.

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?

Gives a concrete when-to-use scenario: 'when you already remember things about the person from your own platform memory (ChatGPT memory, Claude memory, Gemini saved info), write them here.' Clear context, though it never states the converse (when to prefer store_fact or delete_fact instead), so no explicit exclusions.

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.