Most memory servers either keep everything until recall becomes useless or quietly delete what looks stale. This one takes a position: fragments have types, importance decays, duplicates merge, contradictions are detected and cold entries eventually go — described as design rather than as cleanup. That comes with real infrastructure, though. You are running Postgres with pgvector, choosing an embedding provider you cannot later mix, and setting an access key and an origin list that both default to open.
AnchorMind, an MCP memory server that keeps what matters across sessions — facts, decisions, errors, preferences, procedures, relations and episodes — and restores them at the start of the next one. It started life as memento-mcp and the author renamed it because too many projects shared that name; the npm package is `anchormind-mcp` and the repository still answers to both. It is a Streamable HTTP server you run yourself, reached with a bearer key, and it works with Claude Code, Claude Desktop, Cursor, Windsurf, Codex, Continue and GitHub Copilot, plus Claude.ai and ChatGPT on the web over OAuth. The primary documentation is Korean, with English versions of the install and API references in `docs/`.
- `remember` breaks what you tell it into atomic fragments; `recall` searches them across keyword and semantic layers; `context` restores the core of a project at session start
- Seven fragment types — `fact`, `decision`, `error`, `preference`, `procedure`, `relation` and `episode` — so "we chose Postgres, here is why" is stored differently from "the build breaks when X"
- `batch_remember` for bulk writes, with `batch_status(jobId)` to check whether a queued job is processing, completed or dead
- `reflect` to consolidate a session, `search_traces` and `reconstruct_history` for going back over what happened
- Editing without deletion: `amend`, `forget`, `link` and `fragment_history`, each isolated per tenant at the SQL level, plus `dryRun: true` on the write tools to see the effect before committing it
- `tool_feedback`, which feeds back into link weight and confidence, so links that keep proving useful strengthen and contradictory ones are quarantined
- Workspace isolation, so one key's memories can still be separated by project or client, and mode presets (`recall-only`, `write-only`, `onboarding`, `audit`) that narrow which tools a key even sees
- An admin console for browsing memories, the knowledge graph and per-key limits, and a `/health` endpoint that reports degraded rather than failing when one dependency is down
Node.js 20+ and PostgreSQL 14+ with the pgvector extension — with only those, the core works. Redis 6+ is optional and switches on the first-layer cache; embeddings come either from the OpenAI API or, with `EMBEDDING_PROVIDER=transformers`, from a local model the server downloads on first start. Mixing the two on one database is not supported, since the vector dimensions differ, so pick before you migrate. Clients connect over Streamable HTTP with `Authorization: Bearer` and your access key. Two settings decide whether it is safe to expose: authentication is disabled entirely when `MEMENTO_ACCESS_KEY` is unset, and every browser origin is allowed when `ALLOWED_ORIGINS` is unset — set both, and add `MCP_STRICT_ORIGIN=true`, before the server is reachable from outside your machine. Package `anchormind-mcp` (5.7.0). Apache 2.0.
