Permanent memory for AI agents — MCP server with hybrid search, temporal decay, and multilingual embeddings
ICM provides 20 well-structured tools with consistent naming (verb_noun pattern), comprehensive parameter schemas, and clear descriptions. Most tools follow arcade patterns for tool composition and error handling. However, output schemas are largely undocumented (not visible in provided source), and some descriptions lack specificity about return structures and error recovery guidance. Schema quality is solid but incomplete. Descriptions average ~120 chars, meeting the 10-1024 char baseline, but lack the dependency hints and recovery guidance seen in A+ tools.
Delete a structured fact by entity and key.
Get a structured fact by entity and key.
List all structured facts for an entity.
Set a structured fact (entity, key, value triple) for exact lookup.
Record a prediction correction for model feedback training.
Search recorded feedback entries.
Show memory health report (staleness, consolidation needs, decay recommendations).
Scan a project directory and create a Memoir knowledge graph with its structure, dependencies, modules, and config files.
Output schemas not documented. While input schemas are comprehensive, no visible output/return type documentation exists in provided source. LLMs cannot plan downstream tool chaining or parse responses without knowing field structure and types.
Missing recovery guidance in error scenarios. Descriptions do not explain what to do if a call fails (e.g., 'If memory not found, try icm_memory_recall with broader query'). Agents cannot self-recover without explicit recovery paths.
Destructive tools lack confirmation/dry-run pattern. icm_memory_forget, icm_memory_forget_topic, icm_facts_forget, and icm_memoir_forget perform irreversible deletions without documented safeguards or preview capability. Agents can accidentally wipe data.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 68 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 45 | 2024-11-05+ | v1 |
Delete a memoir by name.
Inspect a memoir's structure (concepts, relations, labels).
List all memoirs (knowledge graphs).
Consolidate all memories of a topic into a single summary. Useful when a topic accumulates too many entries.
Delete a specific memory by its ID. Use when information is obsolete or incorrect.
Delete ALL memories in a topic. Use to clear an entire topic at once.
List all memories in a topic with optional filtering and sorting.
Search ICM long-term memory. Use to find past decisions, project context, preferences, or solutions to previously encountered problems.
Store important information in ICM long-term memory. Use to save decisions, preferences, project context, resolved errors — anything that should persist between sessions.
Update an existing memory's content, importance, or keywords in-place.
Show global statistics about memory store (total memories, average weight, topics count).
List all topic names in the memory store.
Limited guidance on mutually exclusive/dependent parameters. icm_memory_recall has optional filters (topic, keyword, project) but no description of interaction rules: can all be combined? Are some mutually exclusive? Does project default intelligently?
Vague description for icm_learn. Says 'create a Memoir knowledge graph' but does not explain what a Memoir is, what the graph contains (nodes/edges/labels?), or how to query it afterward. Insufficient for LLM to decide when to call it.
Permission and scope declarations missing. No documentation of what permissions each tool requires (e.g., 'read:memory', 'write:memory', 'delete:memory'). Cannot enforce least-privilege agent configurations or audit scope creep.