Local-first memory for coding agents; stores decisions, bugs, and context across sessions.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Local memory for coding agents. Your agent remembers decisions, bugs, and context across sessions β no cloud, no API keys, no cost.
Install Β· Features Β· How it works Β· Commands
This is the Go port of EchoVault. It is a single static binary with no Python runtime dependency. The vault format and MCP interface are fully compatible with the Python version β you can switch between them without losing any memories.
Works with 4 agents β Claude Code, Cursor, Codex, OpenCode. One command sets up MCP config for your agent.
MCP native β Runs as an MCP server exposing memory_save, memory_search, and memory_context as tools. Agents call them directly β no shell hooks needed.
Local-first β Everything stays on your machine. Memories are stored as Markdown in ~/.memory/vault/, readable in Obsidian or any editor.
Zero idle cost β No background processes, no daemon, no RAM overhead. The MCP server only runs when the agent starts it.
Hybrid search β FTS5 keyword search works out of the box. Add Ollama or OpenAI for semantic vector search.
Secret redaction β 3-layer redaction strips API keys, passwords, and credentials before anything hits disk. Supports explicit <redacted> tags, pattern detection, and custom .memoryignore rules.
Cross-agent β Memories saved by Claude Code are searchable in Cursor, Codex, and OpenCode. One vault, many agents.
Obsidian-compatible β Session files are valid Markdown with YAML frontmatter. Point Obsidian at ~/.memory/vault/ and browse your agent's memory visually.
Download the latest release for your platform from the releases page and place the binary somewhere on your $PATH.
CGO required. The binary links against
go-sqlite3andsqlite-vec, so a C compiler (gcc/clang) must be present. On macOS:xcode-select --install. On Debian/Ubuntu:apt install build-essential.
That's it. memory setup installs the MCP server config automatically.
By default the config is installed globally. To install for a specific project:
Embeddings enable semantic search. Without them, you still get fast keyword search via FTS5.
Generate a starter config:
This creates ~/.memory/config.yaml with sensible defaults:
What each section does:
embedding β How memories get turned into vectors for semantic search. ollama runs locally; openai and openrouter call cloud APIs. nomic-embed-text is a good local model for Ollama.context β Controls how memories are retrieved at session start. auto uses vector search when embeddings are available, falls back to keywords. topup_recent also includes recent memories so the agent has fresh context.For cloud providers, add api_key under the provider section. API keys are redacted in memory config output.
By default, EchoVault stores data in ~/.memory.
You can change that in two ways:
MEMORY_HOME=/path/to/memory (highest priority, per-shell/per-process)memory config set-home /path/to/memory (persistent default)Useful commands:
memory config shows both memory_home and memory_home_source (env, config, or default).
The --memory-home global flag overrides everything for a single invocation:
Once set up, your agent uses memory via MCP tools:
memory_context to load prior decisions and contextmemory_search to find relevant memoriesmemory_save to persist decisions, bugs, and learningsThe MCP tool descriptions instruct agents to save and retrieve automatically. No manual prompting needed in most cases.
You can also use the CLI directly:
For long details, use --details-file notes.md. To scaffold structured details automatically, use --details-template.
.memoryignore rules| Agent | Setup command | What gets installed |
|---|---|---|
| Claude Code | memory setup claude-code | MCP server in .mcp.json (project) or ~/.claude.json (global) |
| Cursor | memory setup cursor | MCP server in .cursor/mcp.json |
| Codex | memory setup codex | MCP server in .codex/config.toml + AGENTS.md fallback |
| OpenCode | memory setup opencode | MCP server in opencode.json (project) or ~/.config/opencode/opencode.json (global) |
All agents share the same memory vault at your effective memory_home path (default ~/.memory/). A memory saved by Claude Code is searchable from Cursor, Codex, or OpenCode.
| Command | Description |
|---|---|
memory init | Create vault at effective memory home |
memory setup <agent> | Install MCP server config for an agent |
memory uninstall <agent> | Remove MCP server config for an agent |
memory save ... | Save a memory (--details-file and --details-template supported) |
memory search "query" | Hybrid FTS + semantic search |
memory details <id> | Full details for a memory |
memory delete <id> | Delete a memory by ID or prefix |
memory context --project | List memories for current project |
memory sessions | List session files |
memory config | Show effective config |
memory config init | Generate a starter config.yaml |
memory config set-home <path> | Persist default memory location |
memory config clear-home | Remove persisted memory location |
memory reindex | Rebuild vectors after changing provider |
memory mcp | Start the MCP server (stdio transport) |
| Flag | Description |
|---|---|
--memory-home <path> | Override memory home for this invocation |
--help | Show help for any command |
To also remove all stored memories: rm -rf ~/.memory/
Everything stays local by default. If you configure OpenAI or OpenRouter for embeddings, those API calls go to their servers. Use Ollama for fully local operation.
MIT β see LICENSE.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/echovault-memory)<a href="https://allmcps.com/mcp/echovault-memory"><img src="https://allmcps.com/api/badge/echovault-memory?style=directory" alt="EchoVault Memory on AllMCPs" /></a>