rtk-ai/icm

Permanent memory for AI agents. Single binary, zero dependencies, MCP native.

What it solves

ICM provides a shared, long-term memory system for AI coding agents. It prevents the need to repeatedly explain project conventions, decisions, and preferences every time a user starts a new session or switches between different AI tools (e.g., moving from Claude Code to Gemini CLI).

How it works

ICM stores memories in a single local SQLite file. It uses a hybrid recall system that combines three methods to find relevant information: keyword matching (BM25), semantic vector search (using sqlite-vec and an embedding model), and date-based filtering. It integrates with AI agents via hooks and an MCP (Model Context Protocol) server, allowing it to automatically inject relevant context into prompts and extract new facts from tool outputs.

Who it’s for

Developers who use multiple AI coding assistants and want a persistent, cross-tool memory of their project's technical decisions, architecture, and personal preferences.

Highlights

  • Cross-Tool Compatibility: Shared memory across up to 18 different agents and editors.
  • Local-First: Stores everything in one SQLite file with no external service required.
  • Efficient Storage: Does not require an LLM call to store or recall memories.
  • Hybrid Search: Combines keyword and semantic search for high retrieval accuracy.
  • Automatic Extraction: Can automatically extract facts from tool outputs to update memory.

Related

  • Project
  • Project
  • Dispatch
  • Project
  • Project