Skip to main content
Glama

remember_fact

Persists curated durable facts like learned preferences or project decisions with optional tags and visibility. Retain context across sessions; do not store secrets or raw logs.

Instructions

Save a curated durable memory fact, with optional tags and visibility. Use for a learned preference or project decision; use track_latent_skill for repeated workflow evidence and list_facts for inspection. Project scope requires initialization. Writes a fact through the safe mutation pipeline with audit/snapshot references; repeated calls may add records rather than update an existing fact. Returns the stored fact and write references. Do not store secrets or raw conversation logs.

Input Schema

NameRequiredDescriptionDefault
tagsNoOptional classification tags. Omitted or empty adds no tags.
scopeNoStorage scope: project uses this workspace; global uses user memory. Defaults to project.project
contentYesCurated durable fact text to persist. Secret detection can reject sensitive content; do not submit credentials or raw logs.
visibilityNoProject content visibility: shared for repository content, private for operational storage. Omitted follows layout/category policy; global content cannot be shared.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.6.4
    • addedInput schema / properties / content / description
      Added value: +"Curated durable fact text to persist. Secret detection can reject sensitive content; do not submit credentials or raw logs."
    • addedInput schema / properties / scope / description
      Added value: +"Storage scope: project uses this workspace; global uses user memory. Defaults to project."
    • addedInput schema / properties / tags / description
      Added value: +"Optional classification tags. Omitted or empty adds no tags."
    • addedInput schema / properties / visibility / description
      Added value: +"Project content visibility: shared for repository content, private for operational storage. Omitted follows layout/category policy; global content cannot be shared."
  2. First observedv0.4.0

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=false, but the description adds real context: writes flow through a 'safe mutation pipeline with audit/snapshot references' and repeated calls may append records rather than update in place – a non-obvious duplicate hazard the agent could not infer from the hints. It stops short of explaining failure modes such as what happens when secret detection rejects content, though the schema partly covers that.

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?

Four front-loaded sentences: purpose, routing to alternatives, mutation behavior, and a safety exclusion. Every clause carries information and none repeats the schema verbatim.

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?

An output schema exists, so return-value detail ('stored fact and write references') is only summarized, and annotations cover the safety profile. Combined with 100% parameter coverage and explicit sibling routing, nothing an agent needs to call this correctly 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 description coverage is 100%, so the schema already carries tag, scope and visibility semantics and the baseline would be 3. The description adds a workflow-level constraint tying the 'project' scope value to required project initialization, which meaningfully informs parameter choice.

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?

Opens with a specific verb and resource ('Save a curated durable memory fact') and immediately scopes it with the optional tags/visibility modifiers. It explicitly names the two siblings it is not (track_latent_skill for repeated workflow evidence, list_facts for inspection), so the agent can discriminate without opening a schema.

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?

Gives concrete when-to-use criteria ('learned preference or project decision'), routes the alternative case to track_latent_skill and inspection to list_facts, and states a prerequisite ('Project scope requires initialization') plus an explicit exclusion ('Do not store secrets or raw conversation logs'). Little is left to inference.

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