Skip to main content
Glama
Cloto-dev

CPersona

Official
by Cloto-dev

import_memories

DestructiveIdempotent

Import memories, episodes, profiles and declared associations from a JSONL file; the associations are pointed at the records they name as restored.

Instructions

Import memories, episodes, profiles and declared associations from a JSONL file; the associations are pointed at the records they name as restored. Idempotent: memories deduplicate on msg_id (and on content within a project/channel), episodes on their summary within a project/channel.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dry_runNoCount records without writing to DB (preview mode)
input_pathYesPath to the JSONL file to import
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.
target_agent_idNoRemap all records to this agent ID (empty to use original agent_id from file)

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

A3.9/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; the description adds real value beyond them by specifying the exact dedup keys (msg_id, content within project/channel; episode summary within project/channel) and clarifying that associations are re-pointed at restored records. It stops short of saying which existing records may be overwritten or merged, which matters for a destructive 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?

Two sentences, front-loaded with the scope, then the idempotency contract. No filler and nothing repeated from the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The dedup and association-restoration behavior is well covered, but with no output schema the description should say what the call returns (imported/skipped counts, dry-run preview shape) and how it interacts with the persistence-pause tools that appear as siblings. Those gaps keep it at minimum viable.

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 input_path, dry_run, session_key and target_agent_id are already documented. The description adds no parameter-level detail (e.g., how target_agent_id remapping interacts with dedup), so the baseline of 3 applies.

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?

Names a specific verb (import) plus the exact resources handled (memories, episodes, profiles, declared associations) and the input format (JSONL). An agent can distinguish this from export_memories and from store/declare_associations without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the import framing and by the described dedup semantics, but there is no explicit 'use this when...' guidance or comparison against alternatives like store/declare_associations, and no prerequisite such as pausing persistence before a bulk load is stated.

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