Shared memory for AI agents, as a graph in your own Postgres. Writes never call an LLM.
MCPpedia last refreshed this data
io.github.ayushcodes10/echo-mem is an MCP server that shared memory for AI agents, as a graph in your own Postgres. Writes never call an LLM. Its tool list has not been published yet over http and stdio, requires no API key, and scores 62/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"io-github-ayushcodes10-echo-mem": {
"args": [
"echo-mem"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Shared memory for AI agents, as a graph in your own Postgres. Writes never call an LLM.
This server supports HTTP transport. Be the first to test it - help the community know if it works.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked echo-mem against OSV.dev.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in data / ai-ml
Token-efficient database MCP server for PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, SQLite
Manage Supabase projects — databases, auth, storage, and edge functions
A cross-platform desktop application for managing AI Agents and MCP Servers. 一款用于管理AI智能体与MCP服务器的跨平台桌面应用程序。
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
MCP Security Weekly
Get CVE alerts and security updates for io.github.ayushcodes10/echo-mem and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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.

Every line above is real output, captured from these commands against a throwaway
database. The transcript is at
.github/branding/demo-transcript.txt.
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,838
Requires: Python 3.11+ and Docker (for the database).
pipx install echo-mem
echo-memory quickstart
quickstart 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.com
Then once per machine, so an agent knows when to record and recall rather than only that the tools exist:
echo-memory install --global
Restart 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.
The PyPI name is
echo-mem, notecho-memory. That name belongs to an unrelated hosted product. The import package and the CLI are bothecho_memory/echo-memory; only the distribution name differs.
pipx upgrade echo-mem
echo-memory init-db # apply any new migrations
echo-memory reindex # rebuild what the new code derives
Both steps, in that order, and neither is optional on a store that predates the version you just installed.
Skipping init-db fails loudly. A read against a schema older than the code raises an
undefined column, which is the good case: it stops rather than answering from something it
half understands.
Skipping reindex fails silently, which is worse. Derived data that the new code reads
differently is still the old data, and nothing errors. Concretely, on an upgrade to 0.5.3
the lexical corpus statistics are treated as stale until rebuilt, so BM25 stays off and
your queries keep ranking by ts_rank while the setting reports as on. reindex rebuilds
the embeddings and those statistics together. echo-memory health tells you afterwards.
echo-memory status # what each scope holds, and which agents have written
echo-memory health # a score, what is weak, and what to
... [View full README on GitHub](https://github.com/echo-mem/echo-mem#readme)