Skip to main content
Glama
n24q02m

Mnemo - Persistent AI Memory

by n24q02m

config

Idempotent

Check status, set options, sync Google Drive, warm up the embedding model, or backfill missing vectors for persistent AI memory.

Instructions

Server config, sync, setup, and bounded vector backfill. Actions: status|sync|set|warmup|setup_sync|backfill_embeddings.

ACTION GUIDE — when to use each:

  • status: Show current configuration, setup status, and database stats.

  • sync: Trigger manual sync (requires sync_enabled=true + google_drive_client_id).

  • set: Update a setting. Requires 'key' and 'value'. Valid keys: 'sync_enabled' (true/false), 'sync_interval' (int), 'log_level' (str). Example: action='set', key='sync_enabled', value='true'

  • warmup: Pre-download embedding model (~570 MB) to avoid delays later.

  • backfill_embeddings: Embed active rows missing a current Vectorize ledger entry; optional batch_size is bounded to 100.

  • setup_sync: Authenticate Google Drive via Device Code OAuth flow.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyNo
valueNo
actionYes
batch_sizeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.8.0
    • addedInput schema / properties / batch_size
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Batch Size"
      +}
  2. Changed4 schema fields changedv2.6.0
    • addedOutput schema / additionalProperties
      Added value: +true
    • removedOutput schema / properties
      Removed value: -{
      -  "result": {
      -    "title": "Result",
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / required
      Removed value: -[
      -  "result"
      -]
    • changedOutput schema / title
      Previous value: -"configOutput"New value: +"configDictOutput"
  3. First observedv1.7.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already signal mutability and idempotency; the description adds substantial behavior: sync requires sync_enabled and google_drive_client_id, warmup downloads ~570 MB, backfill is bounded to 100, and setup_sync uses Device Code OAuth. No contradiction with annotations, and side effects are disclosed in useful detail.

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 compact, front-loaded with a summary, and uses a scannable bullet list. Every line adds a decision-relevant fact; no filler or repetition of schema fields.

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?

For a six-action polymorphic tool with zero schema descriptions, the description covers all actions, their prerequisites, parameters, valid keys, an example, and a safety-relevant bound. Outputs are not described, but an output schema exists, so the description is complete enough for correct invocation.

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 0%, so the description must carry parameter meaning. It enumerates all action values, documents key/value valid values with an example, and explains batch_size's bound. Minor ambiguity remains around how integer values are encoded in the string-typed value parameter, so it is not a perfect 5.

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 the domain ('Server config, sync, setup, and bounded vector backfill') and then enumerates every action. This clearly identifies the tool's operations and separates it from the memory-focused sibling tools; the only near-relative config__open_relay is excluded by the explicit action list.

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?

The ACTION GUIDE gives clear per-action context, including prerequisites for sync, valid keys for set, and scope for backfill. It does not explicitly name alternative tools or say 'use config__open_relay instead', so it lacks formal exclusion guidance, but the context is strong enough for an agent to choose correctly.

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