Tool Schema
Complete JSON Schema for Mnemosyne tools exposed to agents.
mnemosyne_remember
{
"name": "mnemosyne_remember",
"description": "Store information in long-term memory. Use for facts, preferences, decisions, and observations that should persist across sessions.",
"parameters": {
"type": "object",
"required": ["content"],
"properties": {
"content": {
"type": "string",
"description": "The information to store. Be specific and self-contained."
},
"source": {
"type": "string",
"description": "Origin of the memory (e.g., 'conversation', 'tool', 'inference')."
},
"importance": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "0.0 = transient, 1.0 = critical. High importance memories are promoted to Episodic Memory during consolidation."
},
"scope": {
"type": "string",
"enum": ["session", "global"],
"description": "Session-scoped or globally visible."
},
"valid_until": {
"type": "string",
"description": "ISO 8601 timestamp for automatic expiry."
},
"extract_entities": {
"type": "boolean",
"description": "Auto-extract named entities into knowledge graph triples."
},
"extract": {
"type": "boolean",
"description": "Auto-extract factual statements into knowledge graph triples."
},
"author_id": {
"type": "string",
"description": "Identifier of the author who created this memory."
},
"author_type": {
"type": "string",
"enum": ["human", "agent", "system"],
"description": "Category of the author who created this memory."
},
"channel_id": {
"type": "string",
"description": "Channel identifier for contextual scoping."
}
}
}
}
mnemosyne_recall
{
"name": "mnemosyne_recall",
"description": "Retrieve relevant memories from long-term storage. Use when you need context about past interactions, user preferences, or established facts.",
"parameters": {
"type": "object",
"required": ["query"],
"properties": {
"query": {
"type": "string",
"description": "Natural language description of what you're looking for."
},
"top_k": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 5,
"description": "Maximum number of memories to retrieve."
},
"author_id": {
"type": "string",
"description": "Filter by specific author. (v2.1)"
},
"author_type": {
"type": "string",
"enum": ["human", "agent", "system"],
"description": "Filter by author category. (v2.1)"
},
"channel_id": {
"type": "string",
"description": "Filter by channel for cross-session recall. (v2.1)"
},
"vec_weight": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Weight for vector similarity in scoring."
},
"fts_weight": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Weight for full-text search in scoring."
},
"importance_weight": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Weight for importance score in retrieval ranking."
}
}
}
}
mnemosyne_sleep
{
"name": "mnemosyne_sleep",
"description": "Run sleep consolidation to promote Working Memory entries to Episodic and Semantic memory. Triggers summarization and importance-based promotion. Also runs tiered degradation after consolidation.",
"parameters": {
"type": "object",
"properties": {
"dry_run": {
"type": "boolean",
"description": "If true, preview what would happen without making changes."
},
"bank": {
"type": "string",
"description": "Target memory bank for consolidation (default: the active bank)."
}
}
}
}
mnemosyne_get_stats
{
"name": "mnemosyne_get_stats",
"description": "Get memory system statistics including entry counts across all memory stores, database size, and consolidation status.",
"parameters": {
"type": "object",
"properties": {
"bank": {
"type": "string",
"description": "Target memory bank for statistics (default: all banks)."
}
}
}
}
mnemosyne_forget
{
"name": "mnemosyne_forget",
"description": "Delete a specific memory by ID. Use when information is wrong, outdated, or explicitly requested to be removed. Unlike invalidate, this permanently removes the memory.",
"parameters": {
"type": "object",
"required": ["memory_id"],
"properties": {
"memory_id": {
"type": "string",
"description": "The memory ID to permanently delete."
}
}
}
}
mnemosyne_update
{
"name": "mnemosyne_update",
"description": "Update an existing memory's content or importance. Only the fields you provide will be changed.",
"parameters": {
"type": "object",
"required": ["memory_id"],
"properties": {
"memory_id": {
"type": "string",
"description": "The memory ID to update."
},
"content": {
"type": "string",
"description": "New content for the memory."
},
"importance": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Updated importance score."
}
}
}
}
mnemosyne_invalidate
{
"name": "mnemosyne_invalidate",
"description": "Mark a specific memory as invalidated. Use when information is outdated, incorrect, or explicitly requested to be removed.",
"parameters": {
"type": "object",
"required": ["memory_id"],
"properties": {
"memory_id": {
"type": "string",
"description": "The memory ID to invalidate."
},
"replacement_id": {
"type": "string",
"description": "Optional replacement memory ID to supersede the invalidated one."
}
}
}
}
mnemosyne_triple_add
{
"name": "mnemosyne_triple_add",
"description": "Store a structured fact as a subject-predicate-object triple in the temporal knowledge graph. Use for precise, relational knowledge that benefits from graph queries.",
"parameters": {
"type": "object",
"required": ["subject", "predicate", "object"],
"properties": {
"subject": {
"type": "string",
"description": "The entity the fact is about."
},
"predicate": {
"type": "string",
"description": "The relationship or property. Use consistent predicates for the same concept."
},
"object": {
"type": "string",
"description": "The value or target entity."
}
}
}
}
mnemosyne_triple_query
{
"name": "mnemosyne_triple_query",
"description": "Query the temporal knowledge graph for structured facts. Use for precise lookups and relationship traversal.",
"parameters": {
"type": "object",
"properties": {
"subject": {
"type": "string",
"description": "Filter by subject entity."
},
"predicate": {
"type": "string",
"description": "Filter by relationship type."
},
"object": {
"type": "string",
"description": "Filter by value or target entity."
},
"as_of": {
"type": "string",
"description": "ISO 8601 timestamp for point-in-time query. Returns facts valid as of this time."
}
}
}
}
mnemosyne_scratchpad_write
{
"name": "mnemosyne_scratchpad_write",
"description": "Write to the temporary scratchpad workspace for chain-of-thought and planning.",
"parameters": {
"type": "object",
"required": ["content"],
"properties": {
"content": {
"type": "string",
"description": "Content to write to the scratchpad."
}
}
}
}
mnemosyne_scratchpad_read
{
"name": "mnemosyne_scratchpad_read",
"description": "Read all entries from the temporary scratchpad workspace.",
"parameters": {
"type": "object",
"properties": {}
}
}
mnemosyne_scratchpad_clear
{
"name": "mnemosyne_scratchpad_clear",
"description": "Clear all entries from the scratchpad workspace.",
"parameters": {
"type": "object",
"properties": {}
}
}
mnemosyne_export
{
"name": "mnemosyne_export",
"description": "Export memories to a file for backup or migration.",
"parameters": {
"type": "object",
"required": ["output_path"],
"properties": {
"output_path": {
"type": "string",
"description": "File path for export (JSON format)."
}
}
}
}
mnemosyne_import
{
"name": "mnemosyne_import",
"description": "Import memories from a previously exported file.",
"parameters": {
"type": "object",
"required": ["input_path"],
"properties": {
"input_path": {
"type": "string",
"description": "File path to import from (JSON format)."
}
}
}
}
mnemosyne_diagnose
{
"name": "mnemosyne_diagnose",
"description": "Run diagnostic checks on the memory system: database integrity, index health, storage stats.",
"parameters": {
"type": "object",
"properties": {}
}
}
Tool Selection Guide
MCP vs Hermes Plugin Tools
MCP-native tools (available via mnemosyne serve --mcp): mnemosyne_remember, mnemosyne_recall, mnemosyne_sleep, mnemosyne_get_stats, mnemosyne_scratchpad_write, mnemosyne_scratchpad_read, mnemosyne_scratchpad_clear.
Hermes plugin tools (available via Hermes Agent plugin): mnemosyne_forget, mnemosyne_update, mnemosyne_invalidate, mnemosyne_export, mnemosyne_import, mnemosyne_triple_add, mnemosyne_triple_query, mnemosyne_diagnose.
| Goal | Tool | Example |
|---|---|---|
| Store general info | mnemosyne_remember | User preferences, decisions |
| Retrieve context | mnemosyne_recall | "What did we decide?" |
| Consolidate memories | mnemosyne_sleep | End-of-session cleanup |
| Check system health | mnemosyne_get_stats | Memory counts, DB size |
| Run diagnostics | mnemosyne_diagnose | DB integrity, index health |
| Remove bad data | mnemosyne_invalidate | Outdated information |
| Permanently delete memory | mnemosyne_forget | Wrong information, retractions |
| Update existing memory | mnemosyne_update | Correct facts, promote inferences |
| Store relational facts | mnemosyne_triple_add | Team structure, dependencies |
| Precise lookup | mnemosyne_triple_query | "Who reports to Carol?" |
| Export memories | mnemosyne_export | Backup, migration |
| Import memories | mnemosyne_import | Restore from backup |
| Write scratchpad | mnemosyne_scratchpad_write | Chain-of-thought planning |
| Read scratchpad | mnemosyne_scratchpad_read | Review planning notes |
| Clear scratchpad | mnemosyne_scratchpad_clear | Reset workspace |
Schema Validation
Tool calls are validated against these schemas before execution. Invalid parameters return a structured error that the agent can use to self-correct.
Related Pages
API Overview
Overview of all Mnemosyne API interfaces: Python SDK, REST API, Hermes plugin, and tool schema. Choo...
Hermes Plugin
Guide to the Mnemosyne Hermes plugin: auto-context injection, seamless memory operations, and zero-c...
Python SDK
Complete reference for the Mnemosyne Python SDK: Memory class, store/query/delete operations, config...
Mnemosyne