{"id":"0468b38e-324b-4fe5-994e-15ee14ca6a9d","slug":"evermind","kind":"mcp","name":"EverMind","summary":"An integrated local-first memory system for AI coding agents with MCP, skills, reviewed notes, and codebase graph memory.","owner":"YPYT1","repoUrl":"https://github.com/YPYT1/EverMind","license":"AGPL-3.0","licenseTier":"strong-copyleft","trust":"community","stars":0,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-06-27T10:11:23.000Z","addedAt":"2026-10-21T06:20:53.653Z","logoUrl":"https://avatars.githubusercontent.com/u/95224342?u=2a430fbeb61bf851ef3be00a68ce123e095afc99&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["memory-knowledge","search","developer-tools"],"tags":["agent-memory","ai-agents","ai-memory","basic-memory","claude-code","codebase-memory","codex","coding-agent"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-24T03:55:15.273Z","sample":false,"url":"https://conduits.dev/tools/evermind","language":"Python","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"<div align=\"center\">\n\n<img src=\"./png/everymind.png\" alt=\"EverMind\" width=\"420\" />\n\n**Local-first 6-layer AI memory system for coding agents.**  \nZero config. Zero cloud. Runs inside Claude Code, Cursor, and Codex.\n\n[![Python](https://img.shields.io/badge/Python-3.12+-3776AB?style=flat-square)](https://www.python.org/)\n[![MCP](https://img.shields.io/badge/MCP-enabled-8E44AD?style=flat-square)](https://modelcontextprotocol.io/)\n[![Local First](https://img.shields.io/badge/local--first-yes-2ECC71?style=flat-square)](docs/architecture.md)\n[![SQLite](https://img.shields.io/badge/storage-SQLite-003B57?style=flat-square)](#architecture)\n[![License](https://img.shields.io/badge/license-AGPL--3.0--or--later-blue?style=flat-square)](LICENSE)\n[![Windows](https://img.shields.io/badge/Windows-supported-0078D4?style=flat-square)](scripts/setup-windows.ps1)\n[![macOS](https://img.shields.io/badge/macOS-supported-000000?style=flat-square)](scripts/setup-macos.sh)\n\n[Quick Start](#quick-start) · [Architecture](#architecture) · [Tools](#mcp-tools) · [Setup](#setup) · [Docs](docs/README.md) · [简体中文](README.zh-CN.md) · [繁體中文](README.zh-TW.md) · [日本語](README.ja.md)\n\n</div>\n\n---\n\n## What is EverMind?\n\nEverMind 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.\n\nMemory 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.\n\n## The Problem\n\nAI agents forget everything between sessions:\n\n- Why a module was designed a certain way\n- Which command actually builds or tests the project\n- Known bugs and the fixes that worked\n- Deployment procedures and pitfalls\n- Personal preferences and coding conventions\n\nEverMind solves this by giving agents a reliable place to store and retrieve that knowledge.\n\n## Architecture\n\n```text\n          Claude Code / Cursor / Codex\n                     |\n                  MCP (stdio)\n                     |\n           +-----------------------+\n           |   EverMind v2 Core    |\n           |                       |\n           |  remember / recall    |\n           |  forget  / briefing   |\n           |  codebase + archive   |\n           +-----------+-----------+\n                       |\n           +-----------v-----------+\n           |   SQLite              |\n           |   (shared catalog)    |\n           |                       |\n           |  Layer 1: working     |  24h auto-expire\n           |  Layer 2: episodic    |  events & discoveries\n           |  Layer 3: semantic    |  project facts\n           |  Layer 4: procedural  |  how-to knowledge\n           |  Layer 5: archive     |  permanent decisions\n           |  Layer 6: graph       |  entity relationships (auto-extracted from content)\n           |                       |\n           |  FTS5 keyword search  |\n           |  sqlite-vec KNN       |\n           |  event log            |\n           +-----------------------+\n```\n\nStorage: `~/.evermind/catalog.db` — one shared local catalog. Project and\nworkspace IDs record provenance and affect ranking; they do not hide memories.\n\n## How EverMind Works\n\nEverMind has two components that work together:\n\n**MCP Server** — the tools Claude Code calls directly:\n\n| Tool group | What it does |\n|------|-------------|\n| Memory tools | `briefing`, `remember`, `recall`, `forget`, `graph_explore`, `status`, `health`, etc. |\n| Codebase tools | `index_repository`, `get_architecture`, `search_code`, `search_graph`, `trace_path`, etc. |\n| Archive tools | `search_notes`, `read_note`, `write_note`, `propose_basic_memory_update`, `commit_basic_memory_update`, etc. |\n\n**Skills** — instruction files that tell Claude *when* and *how* to use the tools:\n\n- `skills/evermind/SKILL.md` — core workflow: session start protocol, when to remember\n- `skills/evermind-archive/SKILL.md` — permanent knowledge patterns\n- `skills/evermind-code-graph/SKILL.md` — codebase exploration\n- `skills/project-memory/SKILL.md` — first-time project initialization\n\nReference a skill from your `CLAUDE.md` or `AGENTS.md`:\n\n```markdown\n$evermind\n```\n\nOr with full path if the skill isn't on your skills search path:\n\n```markdown\n$D:/path/to/EverMind/skills/evermind/SKILL.md\n```\n\n> **Both components are needed.** The MCP server gives Claude the ability to remember things. The skills tell Claude when to use that ability.\n\n## Quick Start\n\n### 1. Clone\n\n```bash\ngit clone https://github.com/YPYT1/EverMind.git\ncd EverMind\n```\n\n### 2. Run the setup script\n\n**Windows:**\n\n```powershell\npowershell -ExecutionPolicy Bypass -File scripts\\setup-windows.ps1\n```\n\n**macOS / Linux:**\n\n```bash\nbash scripts/setup-macos.sh\n```\n\nThe script checks Python 3.12+, installs uv if missing, syncs dependencies, and auto-configures Claude Desktop and Cursor.\n\n### Codebase and archive engines\n\nEverMind exposes 50 tools through the same `evermind` MCP server: 14 memory\ntools, 13 code graph tools, 20 local Basic Memory tools, 2 reviewed archive\nupdate tools, and 1 unified project lifecycle tool. Basic Memory executes from\nthe vendored source in process. Code exploration uses the vendored MIT\n`codebase-memory-mcp` C/tree-sitter/Hybrid-LSP engine; official bundles require\nits verified internal binary. No external Basic Memory CLI, cloud account, or\nPATH-installed codebase-memory binary is required.\n\nFor new projects, run `index_repository`, then `get_architecture`/`search_code`, then save verified findings:\n\n```\nremember(\"Tech stack: ...\", importance=1, tags=[\"codebase-verified\"], meta={\"source\":\"codebase\"})\nremember(\"Entry point: ...\", importance=1, tags=[\"codebase-verified\"], meta={\"source\":\"codebase\"})\nremember(\"Key structure: ...\", importance=1, tags=[\"codebase-verified\"], meta={\"source\":\"codebase\"})\n```\n\nVerified negative facts can outrank older unverified memories and produce `forget_suggestions` when conflicts are detected.\n\n---\n\n### 3. Manual config (optional)\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"evermind\": {\n      \"command\": \"uv\",\n      \"args\": [\"run\", \"--directory\", \"/path/to/EverMind/mcp\", \"evermind-mcp\"]\n    }\n  }\n}\n```\n\nReplace `/path/to/EverMind` with the actual clone path. That is the only required change.\n\n### 4. Semantic search\n\nOffline English and Chinese semantic retrieval is included by default using the\nbundled `intfloat/multilingual-e5-small` model. When an external embedding or\nrerank API is configured and healthy, EverMind prefers it and falls back to the\nlocal profile on failure. No API key is required for the local baseline.\n\n## MCP Tools\n\n| Tool | Purpose |\n|------|---------|\n| `remember(content, importance, tags)` | Save to memory. importance: 0 = working (24h), 1 = long-term, 2 = permanent |\n| `update_memory(id, content, tags, meta)` | Correct an existing memory without deleting it; rebuilds search, embeddings, graph links, and briefing cache |\n| `recall(query, limit, mode)` | Hybrid BM25 + semantic search. Auto-detects project from git |\n| `forget(id)` | Delete a memory by ID |\n| `briefing()` | Load session context: recent + important memories for this project |\n| `list(layer, tags, limit)` | List memories filtered by layer and/or tags |\n| `graph_explore(entity)` | Explore entity relationships in the knowledge graph |\n\nMemory type is auto-detected from content: bug fixes → episodic, architecture decisions → semantic, deploy steps → procedural. Set `importance=2` for things you never want deleted.\n\n## Setup\n\n### Windows\n\n```powershell\npowershell -ExecutionPolicy Bypass -File scripts\\setup-windows.ps1\n```\n\nWhat the script does:\n- Checks Python 3.12+, uv, git\n- Offers to install uv if not found\n- Runs `uv sync` in the mcp directory\n- Auto-updates Claude Desktop and Cursor MCP configs\n- Creates `~/.evermind` memory directory\n\n### macOS\n\n```bash\nbash scripts/setup-macos.sh\n```\n\nSame steps as Windows, using macOS config paths (`~/Library/Application Support/Claude/`).\n\n### Manual install\n\n```bash\n# Install dependencies\nuv sync --directory mcp\n\n# Include sqlite-vec and Chinese tokenization acceleration\nuv sync --directory mcp --extra full\n```\n\n## Memory Lifecycle\n\n| Layer | Retention | Use for |\n|-------|-----------|---------|\n| working | 24 hours | Temporary notes, WIP context |\n| episodic | Long-term | Events, bug fixes, discoveries |\n| semantic | Long-term | Facts about the project |\n| procedural | Long-term | Deploy steps, workflows, how-to |\n| archive | Permanent | Architecture decisions, permanent rules |\n| graph | Permanent | Entity relationships (auto-extracted from content) |\n\n- `importance=0` — working layer (default, expires in 24h)\n- `importance=1` — long-term layer (auto-classified by content type)\n- `importance=2` — archive layer (never deleted)\n\n## Agent Instructions\n\nAdd to `CLAUDE.md` or `AGENTS.md`:\n\n```markdown\n## EverMind Memory\n\nCall briefing() at session start to restore project context.\nCall remember(content) for anything worth keeping across sessions.\nCall recall(query) before starting work on a feature or bug.\n\nimportance=0: temporary working note (default)\nimportance=1: long-term memory\nimportance=2: permanent archive (architecture decisions, critical bugs)\n```\n\n## Docs\n\n- [Architecture](docs/architecture.md)\n- [MCP Tools Reference](docs/mcp-tools.md)\n- [Configuration](docs/configuration.md)\n- [Quickstart Windows](docs/quickstart-windows.md)\n- [Quickstart macOS](docs/quickstart-macos.md)\n- [Troubleshooting](docs/troubleshooting.md)\n\n---\n\n## Community & Support\n\n<div align=\"center\">\n\n<img src=\"./png/EverMind3群.png\" width=\"200\" /><br/>\n<sub>Join the EverMind community</sub>\n\n</div>\n\n<br/>\n\n<div align=\"center\">\n\n<table>\n<tr>\n<td align=\"center\">\n<img src=\"./png/wecha.png\" width=\"200\"/><br/>\n<sub>Community</sub>\n</td>\n\n<td align=\"center\">\n<img src=\"./png/Alipay.jpg\" width=\"200\"/><br/>\n<sub>Support EverMind development</sub>\n</td>\n</tr>\n</table>\n\n</div>\n\n<div align=\"center\">\nBuilt for engineers who want their AI tools to actually remember things.\n</div>\n"}