Skip to main content
Glama
n24q02m

Mnemo - Persistent AI Memory

by n24q02m

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DB_PATHNoDatabase location~/.mnemo-mcp/memories.db
API_KEYSNoAPI keys (ENV:key,ENV:key). Optional: enables semantic search (SDK mode)
LOG_LEVELNoLog levelINFO
SYNC_FOLDERNoRemote foldermnemo-mcp
SYNC_REMOTENorclone remote namegdrive
SYNC_ENABLEDNoEnable rclone syncfalse
SYNC_INTERVALNoAuto-sync seconds (0=manual)300
SYNC_PROVIDERNorclone provider type (drive, dropbox, s3, etc.)drive
EMBEDDING_DIMSNoEmbedding dimensions (0 = auto-detect, default 768)0
EMBEDDING_MODELNoLiteLLM model name (optional)
EMBEDDING_API_KEYNoCustom embedding endpoint key (optional)
EMBEDDING_BACKENDNolitellm (cloud API) or local (Qwen3). Auto: API_KEYS -> litellm, else local (always available)(auto-detect)
LITELLM_PROXY_KEYNoLiteLLM Proxy virtual key (e.g. sk-...)
LITELLM_PROXY_URLNoLiteLLM Proxy URL (e.g. http://10.0.0.20:4000). Enables proxy mode
EMBEDDING_API_BASENoCustom embedding endpoint URL (optional, for SDK mode)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
add_memoryA

Store NEW information. Use for preferences, decisions, facts.

ACTION GUIDE — when to use:

  • Use when saving new information for the first time. Example: content='User prefers dark mode', category='preference', tags=['ui']

search_memoryA

Find existing memories by natural language query. Always search before adding.

ACTION GUIDE — when to use:

  • Use BEFORE adding new information to avoid duplicates. Example: query='dark mode preference'

list_memoriesA

Browse all memories, optionally filtered by category.

ACTION GUIDE — when to use:

  • Use when you want to view a broad set of memories, or see what's in a specific category. Example: category='preference', limit=10

update_memoryA

Modify an EXISTING memory by ID. Get memory_id from search results.

ACTION GUIDE — when to use:

  • Use when an existing fact or preference changes. Example: memory_id='abc123', content='User now prefers light mode'

delete_memoryA

Remove a memory by ID.

ACTION GUIDE — when to use:

  • Use when a memory is completely outdated, incorrect, or explicitly requested to be forgotten. Example: memory_id='abc123'

export_memoriesA

Export all memories as JSONL.

ACTION GUIDE — when to use:

  • Use when the user requests a backup or raw dump of their memory database.

import_memoriesA

Import memories from JSONL data or a list of objects.

ACTION GUIDE — when to use:

  • Use when restoring from a backup or migrating data into the memory system. Example: data='[{"content": "example"}]', mode='merge'

memory_statsA

Show database statistics (total memories, categories, embedding status).

ACTION GUIDE — when to use:

  • Use when you need to understand the scale or health of the memory database, or check if embeddings are enabled.

restore_memoryA

Restore an archived memory by ID.

ACTION GUIDE — when to use:

  • Use to bring a previously archived memory back into the active search pool. Example: memory_id='abc123'

archived_memoriesB

List archived memories.

ACTION GUIDE — when to use:

  • Use to view memories that have been soft-deleted or automatically archived due to low importance/recency.

consolidate_memoriesA

Summarize similar memories in a category (requires LLM API keys).

ACTION GUIDE — when to use:

  • Use when a category has too many redundant or closely related memories and needs cleanup. Example: category='preference'

memoryA

[DEPRECATED — use the granular tools (add_memory, search_memory, ...) instead; this composite tool will be removed in a future release]

Legacy dispatcher for backward compatibility. Use specialized tools (add_memory, search_memory, etc.) instead.

Persistent memory store. Actions: add|search|list|update|delete|export|import|stats|restore|archived|consolidate.

ACTION GUIDE — when to use each:

  • add: Store NEW information. Requires 'content'. Use when saving preferences, decisions, facts for the first time. Example: action='add', content='User prefers dark mode', category='preference', tags=['ui']

  • search: Find existing memories by natural language query. Requires 'query'. Use BEFORE add to avoid duplicates. Example: action='search', query='dark mode preference'

  • update: Modify an EXISTING memory by ID. Requires 'memory_id' (from search/list results). Use when a fact changes. Example: action='update', memory_id='abc123', content='User now prefers light mode'

  • list: Browse all memories, optionally filtered by category. No query needed.

  • delete: Remove a memory by ID. Requires 'memory_id'.

  • stats: Show database statistics (total memories, categories, embedding status).

  • export: Export all memories to JSONL format.

  • import: Import memories from JSONL data. Requires 'data'.

  • archived: List archived memories. Optionally filter by limit.

  • restore: Restore an archived memory by ID. Requires 'memory_id'.

  • consolidate: Summarize and consolidate similar memories in a category using LLM. Requires 'category'.

WORKFLOW: search -> not found? -> add. Found outdated? -> update (with memory_id from results). PROACTIVE: save user preferences, decisions, corrections, project conventions.

configA

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.

helpA

Full documentation for memory and config tools. topic: 'memory' | 'config'

ACTION GUIDE — when to use:

  • Use when you need detailed instructions on how to use specific server tools or features.

config__open_relayA

Get the relay configuration URL for mnemo-mcp, opening it in the user's browser when possible. Returns the relay URL, whether the browser launched, and the current status.

Prompts

Interactive templates invoked by user choice

NameDescription
save_summaryGenerate a prompt to save a conversation summary as memory. ACTION GUIDE — when to use: - Use when a conversation is concluding or shifting topics to persist key takeaways. - Parameters: 'summary' (the consolidated text to save).
recall_contextGenerate a prompt to recall relevant memories about a topic. ACTION GUIDE — when to use: - Use when starting a new task or answering a question to retrieve prior context. - Parameters: 'topic' (the specific subject or keywords to search for).

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 15 tools

Disambiguation3/5

Most granular memory tools are clearly distinct, but the deprecated 'memory' composite tool overlaps with nearly all of them, and 'config' status overlaps with 'memory_stats' by also reporting database statistics. The detailed action guides help, but the presence of overlapping dispatchers creates avoidable ambiguity.

Naming Consistency3/5

The core tools mostly follow a verb_noun pattern (add_memory, search_memory, update_memory), but 'archived_memories', 'memory_stats', 'config', 'memory', and 'config__open_relay' break the pattern. The naming is readable and all snake_case, but the mix of bare nouns, noun_noun, and a double-underscore tool prevents it from being highly consistent.

Tool Count4/5

At 15 tools, the server is at the upper bound of a well-scoped set, and the deprecated 'memory' tool plus the composite 'config' dispatcher make it feel slightly heavier than necessary. Excluding deprecated/helper tools, the remaining surface is reasonable for a persistent memory system with configuration and sync features.

Completeness4/5

The memory lifecycle is well covered: add, search, list, update, delete, archive listing, restore, import, export, stats, and consolidation are all present. Minor gaps exist, such as no direct get-by-ID tool and no explicit user-facing archive action beyond soft-delete/automatic archiving, but these are workable through existing tools.

Maintenance

ActivityActive
ResponsivenessResponsive