GitHub
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
Description from the maker (original English)
Local-first memory for coding agents; stores decisions, bugs, and context across sessions.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
MEMORY_HOMEYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"echovault": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MEMORY_HOME",
"ghcr.io/go-ports/echovault:0.3.3"
],
"env": {
"MEMORY_HOME": "your-value"
}
}
}
}Run this in your terminal
claude mcp add echovault --env MEMORY_HOME=your-value -- docker run -i --rm -e MEMORY_HOME ghcr.io/go-ports/echovault:0.3.3Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"echovault": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MEMORY_HOME",
"ghcr.io/go-ports/echovault:0.3.3"
],
"env": {
"MEMORY_HOME": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"echovault": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MEMORY_HOME",
"ghcr.io/go-ports/echovault:0.3.3"
],
"env": {
"MEMORY_HOME": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
MEMORY_HOME envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account go-ports, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.3.3) reached the registry 7 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker on your computer.
In the same category: GitHub, Desktop Commander, Cloudflare MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
EchoVault — Go
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 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.
git clone https://github.com/go-ports/echovault.git
cd echovault make build # produces ./bin/memory sudo cp bin/memory /usr/local/bin/
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.
memory init
memory setup claude-code # or: cursor, codex, opencode
That's it. memory setup installs the MCP server config automatically.
By default the config is installed globally. To install for a specific project:
cd ~/my-project
memory setup claude-code --project # writes .mcp.json in project root memory setup opencode --project # writes opencode.json in project root memory setup codex --project # writes .codex/config.toml + AGENTS.md
Embeddings enable semantic search. Without them, you still get fast keyword search via FTS5.
Generate a starter config:
memory config init
This creates ~/.memory/config.yaml with sensible defaults:
embedding:
provider: ollama # ollama | openai | openrouter model: nomic-embed-text
context: semantic: auto # auto | always | never topup_recent: true
What each section does:
ollama runs locally; openai and openrouter call cloud APIs. nomic-embed-text is a good local model for Ollama.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 set-home /path/to/memory
memory config clear-home memory config
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:
memory --memory-home /tmp/test-vault search "authentication"
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:
memory save --title "Switched to JWT auth" \
--what "Replaced session cookies with JWT" \ --why "Needed stateless auth for API" \ --impact "All endpoints now require Bearer token" \ --tags "auth,jwt" --category "decision" \ --details "Context: Options considered:
Decision: Tradeoffs: Follow-up:"
memory search "authentication" memory details memory context --project
For long details, use --details-file notes.md. To scaffold structured details automatically, use --details-template.
~/.memory/
├── vault/ # Obsidian-compatible Markdown │ └── my-project/ │ └── 2026-02-01-session.md ├── index.db # SQLite: FTS5 + sqlite-vec └── config.yaml # Embedding provider config
.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 | Install MCP server config for an agent |
memory uninstall | 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 | Full details for a memory |
memory delete | 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 | 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 | Override memory home for this invocation |
--help | Show help for any command |
memory uninstall claude-code # or: cursor, codex, opencode
rm /usr/local/bin/memory
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.