Local-first 6-layer AI memory system for coding agents.
Zero config. Zero cloud. Runs inside Claude Code, Cursor, and Codex.
Quick Start · Architecture · Tools · Setup · Docs · 简体中文 · 繁體中文 · 日本語
EverMind gives AI coding agents persistent memory across sessions. It embeds directly into Claude Code, Cursor, and Codex via MCP — no cloud, no separate server, no API keys required, no configuration beyond pointing it at your repo.
Memory is organized into 6 layers modeled after how humans store knowledge: working notes that expire, episodic events, semantic facts, procedural knowledge, permanent archive decisions, and a graph of entity relationships. The right layer is chosen automatically based on content and importance.
AI agents forget everything between sessions:
- Why a module was designed a certain way
- Which command actually builds or tests the project
- Known bugs and the fixes that worked
- Deployment procedures and pitfalls
- Personal preferences and coding conventions
EverMind solves this by giving agents a reliable place to store and retrieve that knowledge.
Claude Code / Cursor / Codex
|
MCP (stdio)
|
+-----------------------+
| EverMind v2 Core |
| |
| remember / recall |
| forget / briefing |
| codebase + archive |
+-----------+-----------+
|
+-----------v-----------+
| SQLite |
| (one file/project) |
| |
| Layer 1: working | 24h auto-expire
| Layer 2: episodic | events & discoveries
| Layer 3: semantic | project facts
| Layer 4: procedural | how-to knowledge
| Layer 5: archive | permanent decisions
| Layer 6: graph | entity relationships (auto-extracted from content)
| |
| FTS5 keyword search |
| sqlite-vec KNN |
| event log |
+-----------------------+
Storage: ~/.evermind/<project-slug>.db — one SQLite file per project, name auto-detected from git remote.
EverMind has two components that work together:
MCP Server — the tools Claude Code calls directly:
| Tool group | What it does |
|---|---|
| Memory tools | briefing, remember, recall, forget, graph_explore, status, health, etc. |
| Codebase tools | index_repository, get_architecture, search_code, search_graph, trace_path, etc. |
| Archive tools | search_notes, read_note, write_note, propose_basic_memory_update, commit_basic_memory_update, etc. |
Skills — instruction files that tell Claude when and how to use the tools:
skills/evermind/SKILL.md— core workflow: session start protocol, when to rememberskills/evermind-archive/SKILL.md— permanent knowledge patternsskills/evermind-code-graph/SKILL.md— codebase explorationskills/project-memory/SKILL.md— first-time project initialization
Reference a skill from your CLAUDE.md or AGENTS.md:
$evermindOr with full path if the skill isn't on your skills search path:
$D:/path/to/EverMind/skills/evermind/SKILL.mdBoth components are needed. The MCP server gives Claude the ability to remember things. The skills tell Claude when to use that ability.
git clone https://github.com/YPYT1/EverMind.git
cd EverMindWindows:
powershell -ExecutionPolicy Bypass -File scripts\setup-windows.ps1macOS / Linux:
bash scripts/setup-macos.shThe script checks Python 3.11+, installs uv if missing, syncs dependencies, and auto-configures Claude Desktop and Cursor.
EverMind exposes 42 tools through the same evermind MCP server. scripts/windows/install-all.ps1 and scripts/macos/install-all.sh install codebase-memory-mcp v0.9.0 and basic-memory v0.22.1 as internal engines; clients still register only EverMind.
For new projects, run index_repository, then get_architecture/search_code, then save verified findings:
remember("Tech stack: ...", importance=1, tags=["codebase-verified"], meta={"source":"codebase"})
remember("Entry point: ...", importance=1, tags=["codebase-verified"], meta={"source":"codebase"})
remember("Key structure: ...", importance=1, tags=["codebase-verified"], meta={"source":"codebase"})
Verified negative facts can outrank older unverified memories and produce forget_suggestions when conflicts are detected.
Add to your claude_desktop_config.json:
{
"mcpServers": {
"evermind": {
"command": "uv",
"args": ["run", "--directory", "/path/to/EverMind/mcp", "evermind-mcp"]
}
}
}Replace /path/to/EverMind with the actual clone path. That is the only required change.
cd mcp
uv pip install sqlite-vec sentence-transformersWithout these, EverMind uses FTS5 keyword search. With them, recall() runs hybrid BM25 + vector KNN — significantly better for semantic queries like "what did we decide about the auth module".
| Tool | Purpose |
|---|---|
remember(content, importance, tags) |
Save to memory. importance: 0 = working (24h), 1 = long-term, 2 = permanent |
update_memory(id, content, tags, meta) |
Correct an existing memory without deleting it; rebuilds search, embeddings, graph links, and briefing cache |
recall(query, limit, mode) |
Hybrid BM25 + semantic search. Auto-detects project from git |
forget(id) |
Delete a memory by ID |
briefing() |
Load session context: recent + important memories for this project |
list(layer, tags, limit) |
List memories filtered by layer and/or tags |
graph_explore(entity) |
Explore entity relationships in the knowledge graph |
Memory type is auto-detected from content: bug fixes → episodic, architecture decisions → semantic, deploy steps → procedural. Set importance=2 for things you never want deleted.
powershell -ExecutionPolicy Bypass -File scripts\setup-windows.ps1What the script does:
- Checks Python 3.11+, uv, git
- Offers to install uv if not found
- Runs
uv syncin the mcp directory - Auto-updates Claude Desktop and Cursor MCP configs
- Creates
~/.evermindmemory directory
bash scripts/setup-macos.shSame steps as Windows, using macOS config paths (~/Library/Application Support/Claude/).
# Install dependencies
uv sync --directory mcp
# Optional: vector search (recommended)
cd mcp && uv pip install sqlite-vec sentence-transformers| Layer | Retention | Use for |
|---|---|---|
| working | 24 hours | Temporary notes, WIP context |
| episodic | Long-term | Events, bug fixes, discoveries |
| semantic | Long-term | Facts about the project |
| procedural | Long-term | Deploy steps, workflows, how-to |
| archive | Permanent | Architecture decisions, permanent rules |
| graph | Permanent | Entity relationships (auto-extracted from content) |
importance=0— working layer (default, expires in 24h)importance=1— long-term layer (auto-classified by content type)importance=2— archive layer (never deleted)
Add to CLAUDE.md or AGENTS.md:
## EverMind Memory
Call briefing() at session start to restore project context.
Call remember(content) for anything worth keeping across sessions.
Call recall(query) before starting work on a feature or bug.
importance=0: temporary working note (default)
importance=1: long-term memory
importance=2: permanent archive (architecture decisions, critical bugs)- Architecture
- MCP Tools Reference
- Configuration
- Quickstart Windows
- Quickstart macOS
- Troubleshooting
- v2 Redesign Notes


