Your AI forgets everything.
Fix that.
ICM gives AI agents real persistent memory. Episodic memories with temporal decay, semantic knowledge graphs, hybrid search — in a single binary.
Why ICM?
Your AI restarts from zero every session. ICM changes that.
Temporal Decay
Memories fade naturally based on importance. Critical decisions stay forever. Trivial details disappear. Like human memory.
Knowledge Graphs
Memoirs organize concepts with typed relations: depends_on, contradicts, refines. Structured knowledge, not flat notes.
Hybrid Search
BM25 keyword search (30%) + vector cosine similarity (70%) via sqlite-vec. Find memories by meaning, not just keywords.
MCP Native
16 tools exposed via Model Context Protocol. Works out of the box with Claude Code, Cursor, Windsurf, and any MCP client.
100% Local
Everything stays on your machine. SQLite storage, local embeddings (384-dim via BAAI/bge-small), no cloud, no API keys.
Single Binary
One cargo install. No Docker, no Python, no Qdrant, no Redis. Just a Rust binary and a SQLite file.
Dual memory model
Two complementary systems for different types of knowledge.
Session context, decisions, resolved errors. Stored with importance levels. Fade naturally over time — critical stays forever, trivial disappears.
# topic: "decisions-auth"
# content: "JWT with RS256, 30-day expiry"
# importance: critical # never decays
# topic: "debug-notes"
# content: "Tried port 3000, was busy"
# importance: low # fades in days
Permanent knowledge containers. Concepts linked by typed edges form a graph. Never decay, only refined. Architecture decisions, domain models, project structure.
See it in action
Simple MCP tools, powerful results.
$ icm_memory_store \
topic="decisions-auth" \
content="JWT with RS256, 30d expiry" \
importance=critical
$ icm_memory_recall \
query="authentication token"
Found 3 memories (best: 0.92)
$ icm_memory_consolidate \
topic="decisions-auth"
Consolidated 8 → 1 summary
$ icm_memoir_create \
name="backend-arch"
$ icm_memoir_add_concept \
memoir="backend-arch" \
name="auth-service" \
definition="JWT RS256, Axum middleware"
$ icm_memoir_link \
from="api-gateway" \
to="auth-service" \
relation=depends_on
$ icm_memoir_inspect \
name="auth-service" depth=2
auth-service
←depends_on api-gateway
→depends_on user-store
←part_of jwt-tokens
$ icm_memoir_search_all \
query="database schema"
Found 5 concepts across 2 memoirs
Shared memory, multiple agents
Watch how context flows between agents and sessions.
The AI memory landscape
From flat files to $24M startups. Here's how they compare.
Market leader. Cloud-first memory platform with managed API.
Temporal knowledge graph with LLM extraction. Most sophisticated OSS approach.
Community MCP memory server. Simple key-value store with ChromaDB.
File-based instructions or basic cloud memory. Good enough for simple preferences.
Install in seconds
Single binary. No Docker, no Python, no external services.
Via Cargo
From crates.io
cargo install icm
From Source
Latest from GitHub
cargo install --git https://github.com/rtk-ai/icm
Then connect to Claude Code
icm init
Registers ICM as an MCP server. Your AI agent can now store memories, build knowledge graphs, and recall context across sessions.
Your AI starts from zero.
Every. Single. Time.
Install ICM. Give your AI agent a memory it deserves.