Skip to main content
Glama
Pseudogiant-xr

PseudoLife-MCP

Official

memory_store

Persist one durable fact, decision, or observation per call, automatically classifying claims as persistent or volatile. Avoids storing near-duplicate or ambiguous statements, returning stored status and reason.

Instructions

Store one durable fact, decision, or observation. Use proactively for anything worth keeping — one claim per call, and decide which kind it is: PERSIST what stays true and will be wanted back; leave task-scoped detail in CONTEXT ONLY; RE-VERIFY a fast-changing value at its source, parking it with memory_fact_set(..., freshness_class="volatile") rather than persisting a stale one; ASK when the claim is ambiguous instead of persisting the guess. Near-duplicates are dropped, not erred (stored=False, reason="below_surprise_threshold"). For canonical NOW use memory_fact_set.

Returns: {stored, surprise, reason, cortex_promoted}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNoOptional labels, e.g. ["decision", "blocker"].
textYesThe claim to remember.
originNoWho asserted the claim.
sourceNoStable per-project/topic tag for later filtering.agent
episodeNoEpisode handle for attribution.
authorityNoSpeech act: "directive" (an instruction to you) / "quoted" (a doc or third party said it) / "observation"; "auto" infers.auto
distortion_toleranceNo"constraint" = must survive verbatim, pinned in recall; "auto" infers only that.auto

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv0.15.0
    • addedInput schema / properties / authority
      Added value: +{
      +  "default": "auto",
      +  "description": "Speech act: \"directive\" (an instruction to you) / \"quoted\" (a doc or third party said it) / \"observation\"; \"auto\" infers.",
      +  "enum": [
      +    "auto",
      +    "directive",
      +    "observation",
      +    "quoted"
      +  ],
      +  "title": "Authority",
      +  "type": "string"
      +}
    • addedInput schema / properties / distortion_tolerance
      Added value: +{
      +  "default": "auto",
      +  "description": "\"constraint\" = must survive verbatim, pinned in recall; \"auto\" infers only that.",
      +  "enum": [
      +    "auto",
      +    "constraint",
      +    "procedural",
      +    "belief",
      +    "preference",
      +    "episodic"
      +  ],
      +  "title": "Distortion Tolerance",
      +  "type": "string"
      +}
    • addedInput schema / properties / episode / description
      Added value: +"Episode handle for attribution."
    • addedInput schema / properties / origin / description
      Added value: +"Who asserted the claim."
    • addedInput schema / properties / source / description
      Added value: +"Stable per-project/topic tag for later filtering."
    • addedInput schema / properties / tags / description
      Added value: +"Optional labels, e.g. [\"decision\", \"blocker\"]."
    • addedInput schema / properties / text / description
      Added value: +"The claim to remember."
  2. First observedv0.11.0

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains that near-duplicates are dropped rather than errored, with stored=False and reason="below_surprise_threshold", and it lists the return shape. This is unusually transparent for a storage tool.

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 dense but every sentence earns its place: core action, usage policy, decision rules, edge behavior, and canonical alternative. The structure front-lodes the action and then layers policy and behavior logically.

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?

Given that an output schema exists and all parameters are already documented, the description covers the remaining context an agent needs: when to use it, how to classify claims, what happens to near-duplicates, and which sibling to use for canonical facts. Nothing critical is missing.

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%, so the baseline is 3. The description does not add much per-parameter detail beyond the schema, though it does clarify the intended semantic of 'text' as a single claim and mentions freshness_class for memory_fact_set. That is useful but not parameter-specific enough to push higher.

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 and resource: "Store one durable fact, decision, or observation." It clearly differentiates itself from the sibling memory_fact_set by saying "For canonical NOW use memory_fact_set", so an agent can distinguish this tool without needing to open schemas.

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?

The description gives explicit usage policy: use proactively for anything worth keeping, one claim per call, and a clear decision framework (PERSIST vs CONTEXT ONLY vs RE-VERIFY vs ASK). It also names the alternative memory_fact_set for volatile values and for canonical NOW, which is strong when-to-use and when-not-to-use guidance.

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