Skip to main content
Glama
Cloto-dev

CPersona

Official
by Cloto-dev

merge_memories

DestructiveIdempotent

Merge memories, episodes, profiles and declared associations from one agent into another. Atomic one-shot equivalent of export→import without intermediate files. Strategy 'skip' deduplicates by msg_id (memories) and summary (episodes).

Instructions

Merge memories, episodes, profiles and declared associations from one agent into another. Atomic one-shot equivalent of export→import without intermediate files. Strategy 'skip' deduplicates by msg_id (memories) and summary (episodes).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoMerge mode: 'copy' (preserve source) or 'move' (delete source after merge)copy
dry_runNoPreview merge without writing to DB
strategyNoMerge strategy: 'skip' (default) — skip duplicates, keep target's versionskip
session_keyNoOpaque session identity you declare: a partition hint, not authentication and not a data filter. Selects which no-persist pause applies to this call. Omit to share one bucket with every caller that omits it. Full text on recall.
source_agent_idYesAgent ID to merge FROM
target_agent_idYesAgent ID to merge INTO

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.6.1
    • addedInput schema / properties / session_key / maxLength
      Added value: +256
  2. Changed1 schema field changedv2.5.10
    • addedInput schema / properties / session_key
      Added value: +{
      +  "default": "",
      +  "description": "Opaque session identity you declare: a partition hint, not authentication and not a data filter. Selects which no-persist pause applies to this call. Omit to share one bucket with every caller that omits it. Full text on recall.",
      +  "type": "string"
      +}
  3. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is partly covered. The description adds real context beyond that: the operation is atomic and one-shot, and 'skip' deduplicates by msg_id (memories) and summary (episodes). It does not restate the delete-on-'move' behavior, which lives only in the schema.

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?

Three tight sentences, zero filler. Purpose and sibling differentiation are front-loaded, with the strategy detail trailing where it belongs.

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 destructive mutation tool with full schema coverage and annotations, the description covers atomicity and dedup semantics well. Remaining gaps are minor – e.g., how profile/association conflicts are resolved, and what a dry_run preview returns – but nothing essential to calling it 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 coverage is 100%, so baseline is 3. The description goes beyond the schema by naming the actual dedup keys (msg_id for memories, summary for episodes) for the 'skip' strategy, which the schema only describes generically as 'skip duplicates'.

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 and resource set ('Merge memories, episodes, profiles and declared associations') and scopes it to one agent into another. It explicitly frames itself against the export/import siblings as the atomic one-shot equivalent, so an agent can tell it apart without opening another 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?

Clearly signals when to choose this over export_memories + import_memories ('without intermediate files'). It also documents the default dedup strategy condition. It stops short of stating when *not* to use it (e.g., cross-tenant or auth caveats), but the primary alternative is named.

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