ICM

v1.0.0Knowledge & Memorystable

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

ai-agentsclaude-codeexperimentalmcpmemory
Share:
365
Stars
0
Downloads
0
Weekly
0/5

What is ICM?

ICM is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to permanent memory for ai agents. single binary, zero dependencies, mcp native.

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

This server falls under the Knowledge & Memory category on MCPgee, the world's largest MCP server directory with 33,000+ servers.

Features

  • Permanent memory for AI agents. Single binary, zero dependen

Use Cases

Provide permanent memory for AI agents.
Store and retrieve agent state.
Single-binary persistence solution.
rtk-ai

Maintainer

LicenseApache-2.0
Languagerust
Versionv1.0.0
UpdatedMay 22, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

Manual Installation

npx icm

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

How to Set Up and Use ICM

ICM (Infinite Context Memory) is a single-binary, zero-dependency MCP server written in Rust that provides persistent memory for AI agents across sessions and tools. It stores memories in a local SQLite database using hybrid search — combining FTS5 keyword search and semantic vector embeddings — so agents can recall relevant context from past conversations with high accuracy. AI developers and power users install ICM to give Claude Code, Claude Desktop, Cursor, Gemini CLI, and 13 other supported tools a shared, permanent memory layer that persists across restarts.

Prerequisites

  • ICM binary installed via Homebrew, the install script, or built from source with Rust/Cargo
  • An MCP-compatible client such as Claude Desktop, Claude Code, Cursor, or any of the 17 supported tools
  • Optional: Rust toolchain (cargo) if building from source
  • Optional: ICM_DB_PATH environment variable to customize the SQLite database location
1

Install ICM binary

Install ICM using the method appropriate for your platform. Homebrew is the easiest on macOS/Linux.

# macOS / Linux via Homebrew:
brew tap rtk-ai/tap && brew install icm

# macOS / Linux via install script:
curl -fsSL https://raw.githubusercontent.com/rtk-ai/icm/main/install.sh | sh

# Windows PowerShell:
irm https://raw.githubusercontent.com/rtk-ai/icm/main/install.ps1 | iex

# From source (requires Rust):
cargo install --path crates/icm-cli
2

Initialize ICM for your tools

Run icm init to automatically configure ICM integration across all 17 supported AI tools. Or use --mode flags to configure specific integration types.

# Configure all supported tools at once:
icm init

# Or configure specific integration modes:
icm init --mode skill    # Claude Code slash commands and rules
icm init --mode hook     # Auto-extract and auto-recall hooks
icm init --mode cli      # Add ICM instructions to tool files
3

Register ICM as an MCP server in Claude Code

Add ICM as an MCP server to Claude Code using the claude mcp add command.

claude mcp add icm -- icm serve
4

Configure Claude Desktop manually

Alternatively, add ICM to claude_desktop_config.json to use it with Claude Desktop.

{
  "mcpServers": {
    "icm": {
      "command": "icm",
      "args": ["serve"],
      "env": {
        "ICM_DB_PATH": "/Users/you/.icm/memories.db"
      }
    }
  }
}
5

Store and recall your first memory

Test ICM from the command line by storing a memory and then recalling it with a semantic query.

# Store a memory:
icm store -t "project" -c "The auth service uses JWT tokens with 24h expiry" -i high -k "auth,jwt"

# Recall relevant memories:
icm recall "authentication token expiry" --topic "project" --limit 5

ICM Examples

Client configuration

Claude Desktop configuration for ICM with a custom database path and compact mode to reduce token usage.

{
  "mcpServers": {
    "icm": {
      "command": "icm",
      "args": ["serve", "--compact"],
      "env": {
        "ICM_DB_PATH": "/Users/you/Library/Application Support/dev.icm.icm/memories.db",
        "ICM_NO_EMBEDDINGS": "0"
      }
    }
  }
}

Prompts to try

Example prompts to use ICM's memory capabilities through Claude Desktop or Claude Code.

- "Remember that the production database password was rotated on June 1st and store it with high importance"
- "What do you remember about the authentication system we discussed last week?"
- "Store this as a memory: the API rate limit is 1000 requests per minute per user"
- "Show me all memories tagged with 'architecture'"
- "Consolidate your memories about the payment service into a summary"

Troubleshooting ICM

icm command not found after installation

Ensure the installation directory is on your PATH. For Homebrew, run 'brew doctor' to check. For the install script, it typically installs to ~/.local/bin — add 'export PATH=$PATH:~/.local/bin' to your shell profile.

Semantic search not working or returning only keyword matches

Embedding-based semantic search requires downloading the multilingual-e5-base model on first run. Ensure you have internet access on first launch. If you want to skip embeddings entirely, set ICM_NO_EMBEDDINGS=1, but this disables semantic search.

Memories are not persisting between sessions

Verify ICM_DB_PATH is set consistently across all tool configurations and points to a writable directory. If running multiple tool configurations, they must all point to the same database file to share memory.

Frequently Asked Questions about ICM

What is ICM?

ICM is a Model Context Protocol (MCP) server that permanent memory for ai agents. single binary, zero dependencies, mcp native. It connects AI assistants to external tools and data sources through a standardized interface.

How do I install ICM?

Follow the installation instructions on the ICM GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.

Which AI clients work with ICM?

ICM works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.

Is ICM free to use?

Yes, ICM is open source and available under the Apache-2.0 license. You can use it freely in both personal and commercial projects.

Browse More Knowledge & Memory MCP Servers

Explore all knowledge & memory servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.

Quick Config Preview

{ "mcpServers": { "icm": { "command": "npx", "args": ["-y", "icm"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide →

Ready to use ICM?

Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.

33,000+ ServersFree & Open SourceStep-by-Step Guides