Echo Memory MCP server
com.echo-mem · Updated
Shared memory for AI agents, as a graph in your own Postgres. Writes never call an LLM.
At a glance
Echo Memory is an MCP server in the AI & Memory category. It runs locally over stdio via `uvx echo-mem`, and needs ECHO_MEMORY_DATABASE_URL, ECHO_MEMORY_USER_ID, ECHO_MEMORY_AGENT_ID and Authorization. It exposes 7 tools, including write_episode, query_memory and trace_cause. It scores B (79/100) on the MCP Skills Hub health score as of Oct 28, 2026.
One-click install
Opens your editor and pre-fills the config. Your editor will ask before adding it.
How to install Echo Memory in your AI client
Setup for Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline and VS Code — copy-paste ready.
How to install Echo Memory in Claude CodeAnthropic's agentic CLI
Add the server
bashclaude mcp add echo-mem -e 'ECHO_MEMORY_DATABASE_URL=<ECHO_MEMORY_DATABASE_URL>' -e 'ECHO_MEMORY_USER_ID=<ECHO_MEMORY_USER_ID>' -e 'ECHO_MEMORY_AGENT_ID=<ECHO_MEMORY_AGENT_ID>' -- uvx echo-memFill in your credentials
Replace <ECHO_MEMORY_DATABASE_URL>, <ECHO_MEMORY_USER_ID>, <ECHO_MEMORY_AGENT_ID>, Bearer <YOUR_TOKEN> with your real values. Keep secrets out of any config file you commit.
Verify it's connected
bashclaude mcp listSharing it with your team?
Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).
Use it in a session
Ask Claude to use the tools this server exposes (e.g. write_episode, query_memory, trace_cause). It discovers them automatically.
How to install Echo Memory in Claude DesktopDesktop app (MCP config)
Open your MCP config
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json
Add this server
json{ "mcpServers": { "echo-mem": { "command": "uvx", "args": [ "echo-mem" ], "env": { "ECHO_MEMORY_DATABASE_URL": "<ECHO_MEMORY_DATABASE_URL>", "ECHO_MEMORY_USER_ID": "<ECHO_MEMORY_USER_ID>", "ECHO_MEMORY_AGENT_ID": "<ECHO_MEMORY_AGENT_ID>" } } } }Fill in your credentials
Replace <ECHO_MEMORY_DATABASE_URL>, <ECHO_MEMORY_USER_ID>, <ECHO_MEMORY_AGENT_ID>, Bearer <YOUR_TOKEN> with your real values. Keep secrets out of any config file you commit.
Restart Claude Desktop
The tools appear under the 🔌 menu once the app reloads.
How to install Echo Memory in CursorAI-first code editor
Create / edit .cursor/mcp.json in your project
json{ "mcpServers": { "echo-mem": { "command": "uvx", "args": [ "echo-mem" ], "env": { "ECHO_MEMORY_DATABASE_URL": "<ECHO_MEMORY_DATABASE_URL>", "ECHO_MEMORY_USER_ID": "<ECHO_MEMORY_USER_ID>", "ECHO_MEMORY_AGENT_ID": "<ECHO_MEMORY_AGENT_ID>" } } } }Fill in your credentials
Replace <ECHO_MEMORY_DATABASE_URL>, <ECHO_MEMORY_USER_ID>, <ECHO_MEMORY_AGENT_ID>, Bearer <YOUR_TOKEN> with your real values. Keep secrets out of any config file you commit.
Enable it
Cursor Settings → MCP → toggle the server on. Tools become available to the Composer/Agent.
How to install Echo Memory in Codex CLIOpenAI coding agent
Add to ~/.codex/config.toml
toml[mcp_servers.echo-mem] command = "uvx" args = ["echo-mem"] env = { ECHO_MEMORY_DATABASE_URL = "<ECHO_MEMORY_DATABASE_URL>", ECHO_MEMORY_USER_ID = "<ECHO_MEMORY_USER_ID>", ECHO_MEMORY_AGENT_ID = "<ECHO_MEMORY_AGENT_ID>" }Fill in your credentials
Replace <ECHO_MEMORY_DATABASE_URL>, <ECHO_MEMORY_USER_ID>, <ECHO_MEMORY_AGENT_ID>, Bearer <YOUR_TOKEN> with your real values. Keep secrets out of any config file you commit.
Run Codex
Codex loads MCP servers from config.toml on startup and exposes their tools to the agent.
How to install Echo Memory in WindsurfCodeium's agentic IDE
Edit ~/.codeium/windsurf/mcp_config.json
json{ "mcpServers": { "echo-mem": { "command": "uvx", "args": [ "echo-mem" ], "env": { "ECHO_MEMORY_DATABASE_URL": "<ECHO_MEMORY_DATABASE_URL>", "ECHO_MEMORY_USER_ID": "<ECHO_MEMORY_USER_ID>", "ECHO_MEMORY_AGENT_ID": "<ECHO_MEMORY_AGENT_ID>" } } } }Fill in your credentials
Replace <ECHO_MEMORY_DATABASE_URL>, <ECHO_MEMORY_USER_ID>, <ECHO_MEMORY_AGENT_ID>, Bearer <YOUR_TOKEN> with your real values. Keep secrets out of any config file you commit.
Reload
Windsurf → Cascade → refresh MCP servers. Cascade can now call the tools.
How to install Echo Memory in ClineVS Code autonomous agent
Open Cline → MCP Servers → Configure
Adds to cline_mcp_settings.json.
Add the server
json{ "mcpServers": { "echo-mem": { "command": "uvx", "args": [ "echo-mem" ], "env": { "ECHO_MEMORY_DATABASE_URL": "<ECHO_MEMORY_DATABASE_URL>", "ECHO_MEMORY_USER_ID": "<ECHO_MEMORY_USER_ID>", "ECHO_MEMORY_AGENT_ID": "<ECHO_MEMORY_AGENT_ID>" } } } }Fill in your credentials
Replace <ECHO_MEMORY_DATABASE_URL>, <ECHO_MEMORY_USER_ID>, <ECHO_MEMORY_AGENT_ID>, Bearer <YOUR_TOKEN> with your real values. Keep secrets out of any config file you commit.
How to install Echo Memory in VS CodeCopilot / MCP support
Create .vscode/mcp.json
json{ "servers": { "echo-mem": { "type": "stdio", "command": "uvx", "args": [ "echo-mem" ], "env": { "ECHO_MEMORY_DATABASE_URL": "<ECHO_MEMORY_DATABASE_URL>", "ECHO_MEMORY_USER_ID": "<ECHO_MEMORY_USER_ID>", "ECHO_MEMORY_AGENT_ID": "<ECHO_MEMORY_AGENT_ID>" } } } }Fill in your credentials
Replace <ECHO_MEMORY_DATABASE_URL>, <ECHO_MEMORY_USER_ID>, <ECHO_MEMORY_AGENT_ID>, Bearer <YOUR_TOKEN> with your real values. Keep secrets out of any config file you commit.
Start it
VS Code shows a ▶ Start action above the server entry. Agent mode (Copilot Chat) can then use the tools.
What does Echo Memory need from you?
Bearer token — Bearer <key>, from https://app.echo-mem.com — the hosted option, which needs no local database.
ECHO_MEMORY_DATABASE_URLrequiredsecretEnvironment variablePostgres connection string. `echo-memory quickstart` starts a suitable database and prints this.
ECHO_MEMORY_USER_IDrequiredEnvironment variableWhose memory this is. Scopes every read and write.
ECHO_MEMORY_AGENT_IDrequiredEnvironment variableWhich tool is writing: claude-code, cursor, codex, claude-desktop. Recorded on every fact, and what makes a cross-tool recall visible afterwards.
AuthorizationrequiredsecretHTTP headerBearer <key>, from https://app.echo-mem.com — the hosted option, which needs no local database.
Pass secrets through your shell environment rather than committing them into a config file.
What tools does Echo Memory expose? (7)
Taken from the project's README — the server itself was not queried, so check its docs for the exact schemas.
- write_episodeStore entities and the facts connecting them. No model call.
- query_memoryHybrid vector and full text retrieval, fused by reciprocal rank. Full text ranks by BM25. Takes `as_of` to read the store as it stood at an instant, and `about` to return the facts recorded against one or two named entities.
- trace_causeCausal chains through the entities a subject matches, not a ranked list.
- record_recall_saveMark that a recalled fact saved re explaining something. Refuses a fact no read returned.
- get_audit_logEvery change to memory, with a plain language reason.
- pending_documentsMemory files this project wrote that the graph has not heard about.
- mark_ingestedClose one of those out.
What the code can do
Source analysis currently covers npm packages only. This server ships as a Python package, which needs a different parser.
Before you install
Signals gathered from the source repo and package registry — not a safety verdict.
What it can reach
- Runs code on your machine — Executes as a local process with your user's permissions, including filesystem access.
- Downloads at launch — The package is fetched from its registry each run unless you pin a version.
- Last commit today — Actively maintained.
- Repository created 2 months ago — Very new project with little track record yet.
- 2 GitHub stars — Very little community usage so far.
Client compatibility
Health score
B · 79Maintenance, adoption, transparency and packaging — not a safety audit. How this is calculated
- Maintenance30%100%
Last commit 0 days ago.
- Adoption20%14%
2 stars.
- Transparency20%100%
4/4: ✓ public source repo, ✓ declared license, ✓ documentation, ✓ discoverable tool list.
- Provenance15%75%
Links to its own repository; package linkage unverified.
- Packaging15%100%
Publishes a pinned version (0.5.6).
Documentation
Full READMEEcho Memory
Shared memory for AI agents, as a graph in your own database. What Claude Code learns, Cursor and Codex can recall. Every fact records who wrote it and when, and the server never calls a model to store one.
<sub>Every line above is real output, captured from these commands against a throwaway database. The transcript is at `.github/branding/demo-transcript.txt`.</sub>
Your agents start every session from zero. The usual fix is a notes file you paste into context, which grows until it is mostly irrelevant to whatever you are asking. Echo Memory is the other shape: facts connected to each other, and a query that returns the few that matter. On the author's own 325 fact store that is 96.7% less context for the same answer, with the answer still present 87.2% of the time across 1,190 queries the harness derived from their own answers.
write_episode query_memory
billing ──uses──▸ Razorpay "how do we take payments"
│ written by claude-code ▸ billing uses Razorpay, not Stripe
│ supersedes ──▸ Stripe written by claude-code, 3 days ago
└ no model invoked ▸ 1,372 tokens, not 41,838Install
Requires: Python 3.11+ and Docker (for the database).
pipx install echo-mem
echo-memory quickstartquickstart starts the database, applies the schema, and prints the claude mcp add line that registers it, filled in with the port it actually used. The Postgres image is published, so nothing compiles.
Or use the hosted service and run no database at all:
pipx install echo-mem
echo-memory connect <key> # a key from https://app.echo-mem.comThen once per machine, so an agent knows *when* to record and recall rather than only that the tools exist:
echo-memory install --globalRestart your client afterwards. An MCP server is a long lived process that holds the code and config it started with, and an editable install does not change that.
Excerpt — the full document is on GitHub.
Alternatives to Echo Memory
- Cairn.ink MemoryA · 80Cross-session memory for AI agents with a Source Receipt for every memory, over MCP.
- hmem — Humanlike Memory for AI AgentsA · 85Persistent 5-level hierarchical memory for AI agents. SQLite-backed, lazy-loaded.
- Cathedral — Persistent Memory for AI AgentsB · 73Persistent memory and drift detection for AI agents across session restarts.
- ReasonGraph Cloud memoryB · 75Graph memory for AI agents: entities, cause-effect links, cross-session recall, time travel.
Maintain Echo Memory? Add a badge to your README
Shows its health grade, and links readers to install steps for every client.
[](https://mcp-skills-hub.vercel.app/mcps/com-echo-mem-echo-mem)Catalog data refreshed . Something wrong? Report it.