ICM integrates with 16 AI tools across 4 integration modes: MCP server, CLI instructions, skills/rules, and hooks.
# Install everything for all detected tools
icm init --mode all
# Or pick a specific mode
icm init --mode mcp # MCP server configs (default)
icm init --mode cli # Inject instructions into CLAUDE.md, AGENTS.md, etc.
icm init --mode skill # Slash commands & rules
icm init --mode hook # Claude Code hooks + OpenCode plugin# Option 1: MCP (recommended)
claude mcp add icm -- icm serve
# Option 2: Full setup (MCP + hooks + skills)
icm init --mode allConfig: ~/.claude.json → mcpServers.icm
Hooks (optional):
| Hook | Event | What it does |
|---|---|---|
icm hook pre |
PreToolUse | Auto-allow icm commands |
icm hook post |
PostToolUse | Extract facts every 15 calls |
icm hook compact |
PreCompact | Extract before context compression |
icm hook prompt |
UserPromptSubmit | Inject recalled context |
Skills: /recall, /remember slash commands.
icm init --mode mcpConfig: ~/Library/Application Support/Claude/claude_desktop_config.json → mcpServers.icm
icm init --mode mcp
icm init --mode skill # Installs ~/.cursor/rules/icm.mdcMCP Config: ~/.cursor/mcp.json → mcpServers.icm
Rule file: ~/.cursor/rules/icm.mdc — Always-on rule that instructs Cursor to use ICM for persistent memory.
icm init --mode mcp # MCP server
icm init --mode cli # Injects instructions into .windsurfrulesMCP Config: ~/.codeium/windsurf/mcp_config.json → mcpServers.icm
Rules: .windsurfrules in project root — project-scoped instructions.
icm init --mode mcp # MCP server for VS Code
icm init --mode cli # Injects instructions into .github/copilot-instructions.mdMCP Config: ~/Library/Application Support/Code/User/mcp.json → servers.icm
Note: VS Code uses
"servers"as the JSON key, not"mcpServers".
Copilot instructions: .github/copilot-instructions.md — automatically loaded by GitHub Copilot at session start. Contains ICM recall/store instructions.
icm init --mode mcpConfig: ~/.zed/settings.json → context_servers.icm
Zed uses a nested format:
{
"context_servers": {
"icm": {
"command": { "path": "/path/to/icm", "args": ["serve"] }
}
}
}icm init --mode mcp
icm init --mode skill # Installs /icm-recall and /icm-rememberConfig: ~/.config/amp/settings.json → amp.mcpServers.icm
Skills: ~/.config/amp/skills/icm-recall.md, icm-remember.md
icm init --mode mcpConfig: ~/.aws/amazonq/mcp.json → mcpServers.icm
icm init --mode mcp # TOML config
icm init --mode cli # Injects into AGENTS.mdConfig: ~/.codex/config.toml
[mcp_servers.icm]
command = "/path/to/icm"
args = ["serve"]Instructions: AGENTS.md in project root.
icm init --mode mcp
icm init --mode cli # Injects into ~/.gemini/GEMINI.mdConfig: ~/.gemini/settings.json → mcpServers.icm
Instructions: ~/.gemini/GEMINI.md
icm init --mode mcp # MCP server config
icm init --mode hook # Installs JS plugin with hooksMCP Config: ~/.config/opencode/opencode.json → mcp.icm
Plugin: ~/.config/opencode/plugins/icm.js
| Event | What it does |
|---|---|
tool.execute.after |
Extract facts from tool output |
experimental.session.compacting |
Extract before context compression |
session.created |
Recall context at session start |
icm init --mode mcpConfig: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
icm init --mode mcp
icm init --mode skill # Installs ~/.roo/rules/icm.mdConfig: ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json
Rule: ~/.roo/rules/icm.md
icm init --mode mcpConfig: ~/Library/Application Support/Code/User/globalStorage/kilocode.kilo-code/settings/mcp_settings.json
| Mode | What it does | Tools |
|---|---|---|
mcp |
Configures MCP server in each tool's config | All 14 tools |
cli |
Injects ICM instructions into instruction files | Claude Code, Codex, Gemini, Copilot, Windsurf |
skill |
Creates slash commands and rule files | Claude Code, Cursor, Roo Code, Amp |
hook |
Installs hooks/plugins for automatic extraction | Claude Code (4 hooks), OpenCode (JS plugin) |
For any MCP-compatible tool not listed above:
{
"command": "icm",
"args": ["serve"],
"env": {}
}Or with compact mode (shorter responses, fewer tokens):
{
"command": "icm",
"args": ["serve", "--compact"],
"env": {}
}When connected via MCP, these 18 tools are available:
| Tool | Description |
|---|---|
icm_memory_store |
Store a memory |
icm_memory_recall |
Search memories (hybrid: FTS + vector) |
icm_memory_update |
Update an existing memory |
icm_memory_forget |
Delete a memory |
icm_memory_consolidate |
Merge topic memories into one |
icm_memory_health |
Topic hygiene audit |
icm_memory_embed_all |
Generate embeddings for all memories |
icm_memory_extract_patterns |
Detect recurring patterns |
icm_memory_list_topics |
List all topics with stats |
icm_memory_stats |
Global statistics |
icm_memoir_create |
Create a knowledge graph |
icm_memoir_show |
Display memoir structure |
icm_memoir_add_concept |
Add concept to memoir |
icm_memoir_link |
Link concepts |
icm_memoir_search |
Search within a memoir |
icm_memoir_search_all |
Search across all memoirs |
icm_feedback_record |
Record a correction |
icm_feedback_search |
Search past corrections |