Skip to main content
Glama

remember_batch

Save multiple durable facts in one batch call before replying, using canonical keys, instead of multiple remember calls.

Instructions

MANDATORY END-OF-TURN GATE: when a turn reveals multiple durable facts, save them silently before replying. A durable fact left unsaved is a bug. Recall each topic first, reuse canonical concept-level keys (ATOMIC, 1-2 words each — never phrases), and register cross-lingual forms together. Each item: {content, keys, key_types?, namespace?, ttl_seconds?, decay_profile?, related_to?}; decay_profile defaults to standard. Returns saved IDs and is more efficient than multiple remember() calls.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.29.0
    • addedInput schema / properties / items / items / properties / decay_profile
      Added value: +{
      +  "enum": [
      +    "transient",
      +    "standard",
      +    "stable",
      +    "permanent"
      +  ],
      +  "type": "string"
      +}
  2. First observedv0.14.8

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations the description carries the full burden, and it does disclose useful traits: the save is silent, it returns saved IDs, and decay_profile defaults to standard. It omits failure modes, permission/auth needs, and key-collision behavior, leaving meaningful gaps for a mutating tool.

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?

Front-loads the mandate, then moves to key guidance and the field signature. The emphatic 'A durable fact left unsaved is a bug' is arguably padding, but the rest of the sentences each carry actionable content.

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?

For a tool with no output schema and no annotations, it covers purpose, trigger, alternatives, item fields, and the return value (saved IDs). Only the semantics of a few item fields are missing, which is minor given the rest of the coverage.

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 compensate. It enumerates the item fields and adds genuine guidance for 'keys' (atomic, 1-2 words, never phrases; register cross-lingual forms together) and the decay_profile default, but leaves 'source', 'key_types', and 'ttl_seconds' unexplained and just restates the rest of the schema signature.

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?

The description states a specific action (save multiple durable facts silently at end of turn) and explicitly differentiates from the sibling 'remember' by calling this 'more efficient than multiple remember() calls'. The core purpose is clear, though the heavy prescriptive framing partially buries it.

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?

It gives an explicit trigger ('when a turn reveals multiple durable facts') and names the alternative ('more efficient than multiple remember() calls'), plus a prerequisite ('Recall each topic first'). It never states the converse exclusion (single fact → use remember), so it stops short of a full 5.

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