Persistent long-term memory for Claude — an MCP server with an associative memory bank, a canonical-fact cortex, sleep-like dream consolidation, and a web console. Not quite alive.
claude mcp add pseudolife-mcp -- python -m pseudolife-mcp{
"mcpServers": {
"pseudolife-mcp": {
"command": "python",
"args": ["-m", "pseudolife-mcp"]
}
}
}MCP Servers overview
# Pseudolife-MCP <!-- mcp-name: io.github.Pseudogiant-xr/pseudolife-mcp --> [](https://pypi.org/project/pseudolife-mcp/) [](https://github.com/Pseudogiant-xr/Pseudolife-MCP/actions/workflows/ci.yml) [](LICENSE) [](https://pypi.org/project/pseudolife-mcp/) [简体中文](docs/i18n/README.zh.md) · [日本語](docs/i18n/README.ja.md) · [한국어](docs/i18n/README.ko.md) · [Português (BR)](docs/i18n/README.pt-br.md) · [Español](docs/i18n/README.es.md) **Persistent long-term memory for Claude Code, Codex, and other MCP clients.** An MCP server that gives coding agents a long-term memory that persists across sessions — surviving context compactions and fresh tasks. Your coding agent is the intelligence; this server is its memory on disk.  What you get: - **Associative memory that ages like memory should** — an 8-band recency continuum from `working` to `forever`, ranked by cosine similarity, with contradiction detection and supersession. - **Canonical facts, not vibes** — one *current* value per `entity.attribute` slot; corrections supersede rather than silently overwrite, and the full version history survives. - **Dreams** — a bundled extractor (or Claude Sonnet via your Max plan) consolidates the memory stream into facts and a knowledge graph while you're not looking. - **Lessons from its own work** — successes, dead-ends, and your corrections become do/avoid guidance surfaced at the start of every session. - **A web console to watch it think** — the Cortex Console above, plus cited world facts, session episodes, and document RAG. ## Quickstart Requires Docker and Claude Code, Codex, or both. One command from clone to first memory (Claude remains the compatibility default): ```bash git clone https://github.com/Pseudogiant-xr/Pseudolife-MCP.git cd Pseudolife-MCP ops/install.sh # Linux / macOS ops\install.ps1 # Windows (pwsh 7+) # Codex: add --client codex / -Client codex # Both: add --client both / -Client both ``` The installer runs the preflight (one exact fix line per missing prerequisite), asks which **dream extractor** should consolidate memories — - **sonnet-only** — the lightest install: Claude Sonnet via a CLI shim (needs a logged-in Max-plan `claude` CLI); the sidecar image is **never built or pulled** (~9 GB lighter; dreams pause while the shim is down); - **sonnet-fallback** — Sonnet primary, the bundled sidecar as automatic fallback (Max-plan CLI plus the ~9 GB image); - **sidecar** — the bundled local CPU model; no Claude plan needed, works for everyone (~9 GB image) — then brings the stack up, installs the selected clients' session hooks, registers the MCP transport (the stdio shim by default, direct HTTP via `--transport http`), and health-checks the daemon. The session-hook briefing delivers the memory-loop guidance every session, and the server also advertises the core loop through MCP `instructions` — so no standing-file edit is needed or offered. `--instructions append` additionally writes the block from `examples/CLAUDE.memory.md` into `~/.claude/CLAUDE.md` / `~/.codex/AGENTS.md` (useful for subagent visibility or hook-less setups). Idempotent — re-run any time; `--extractor <mode>` switches extractor setups. Non-interactive example: `ops/install.sh --extractor sidecar --client codex`. Linux (Docker Engine): your user must be in the `docker` group — `sudo usermod -aG docker $USER`, then log out/in (the preflight checks this). <details> <summary>Manual install (the steps the installer automates)</summary> ```bash ops/preflight.sh --client codex # or ops\preflight.ps1 -Client codex docker volume create pseudolife-mcp-bank docker volume create pseudolife-mcp-state docker compose -f ops/docker-compose.yml up -d --build # first build, once # Verify, then wire the transport into one or both clients. curl http://127.0.0.1:8765/health # Stdio shim (the installer's default — per-session episode identity): pip install pseudolife-mcp claude mcp add --scope user pseudolife-memory -- pseudolife-mcp codex mcp add pseudolife-memory -- pseudolife-mcp # ...or direct HTTP (no pip package needed; fine for single-session setups): claude mcp add --transport http --scope user pseudolife-memory http://127.0.0.1:8765/mcp codex mcp add pseudolife-memory --url http://127.0.0.1:8765/mcp # Reinforce the protocol-level memory loop with a global standing instruction: cat examples/CLAUDE.memory.md >> ~/.claude/CLAUDE.md cat examples/CLAUDE.memory.md >> ~/.codex/AGENTS.md # (PowerShell: Add-Content "$env:USERPROFILE\.claude\CLAUDE.md" (Get-Content examples\CLAUDE.memory.md -Raw)) ``` Optional knobs live in `ops/.env` (`cp ops/.env.example ops/.env` — the install/update scripts scaffold it too; every value is commented, a missing file runs entirely on defaults). </details> Then in either coding agent: *"remember that my staging box is haze-02"* → the agent calls `memory_store`; next session, *"which box is staging?"* → `memory_search` finds it. Browse everything at the Cortex Console: <http://127.0.0.1:8765/ui/>. ## What this is A memory engine exposed over MCP. There's no chat UI and no LLM doing the thinking — your coding agent is the intelligence; these are tools it calls to store and recall what matters. (Models *are* bundled as plumbing: baked embedding weights for retrieval, and the optional CPU extractor sidecar that consolidates memories into facts while you sleep.) It layers several complementary stores: the **associative continuum** (an 8-tier recency-tiered embedding store, working → forever, ranked by cosine similarity with novelty-gated storage, contradiction detection, and supersession); the **cortex** (slot-keyed canonical facts — one *current* value per `entity.attribute` — with provenance tiers and contender parking instead of silent overwrites); a typed **knowledge graph** over those facts with a closed relation vocabulary and on-read inference; the **world cortex** (durable *cited* facts about external reality, age-decayed trust); **procedural lessons** learned from the agent's own work; and a ChromaDB **reference bank** for document RAG. The canonical layers in depth: [the memory model](docs/guide/memory-model.md); the graph and multi-hop recall: [retrieval](docs/guide/retrieval.md). State lives in Postgres (the durable source of truth) behind a single long-lived daemon; every session attaches through a thin stdio shim (installer default — per-session identity) or directly over HTTP (single-session setups). The result: Claude can pick up where it left off, correct itself when facts change, and reason over relationships — without you re-explaining context each session. ## Documentation This README is the front door — install, wiring, and the basic loop. The deep material lives in the user guide: | Page | What's in it | |---|---| | [Configuration](docs/guide/configuration.md) | Env vars, tuned defaults, toolset tiers, stdio shim, LAN sharing, data layout, backups, schema history | | [Retrieval](docs/guide/retrieval.md) | Reranker, BM25 hybrid, abstention floors, ranking-trace debugging, `memory_recall`, the knowledge graph | | [Dreaming](docs/guide/dreaming.md) | Extractor tiers, the bundled sidecar, upgrading the extractor, Sonnet-fallback, cadence, deep dream, consolidation | | [Episodes & sessions](docs/guide/episodes.md) | Daemon-owned session episodes, the briefing hook, nested sub-episodes, tags | | [The memory model](docs/guide/memory-model.md) | Cortex slots, provenance contenders, world cortex, lessons, temporal/HLC stamps | | [Benchmarks](docs/guide/benchmarks.md) | LongMemEval results; why extraction quality dominates | Plus [`evals/README.md`](evals/README.md) (full benchmark methodology) and [CONTRIBUTING](CONTRIBUTING.md). ## Tools exposed The surface was consolidated 2026-07-02 (55 → 32 tools; now 33 with `memory_toolset`): lifecycle families became verb-dispatched tools (`memory_dream`, `memory_forget`, `memory_graph_review`), and dump/introspection views moved to the Cortex Console (REST) — the manifest is agent context every session, so it stays lean. | Tool | Purpose | |------|---------| | `memory_store(text, source?, tags?, origin?, episode?)` | Remember one durable fact / decision / observation (canonical facts reach the cortex via the dream pass or `memory_fact_set`) | | `memory_search(query, top_k?, filters..., rerank?, bm25?, explain?, verbose?)` | Associative retrieval; canonical `cortex` facts surface ahead of recall hits; `explain=True` attaches a ranking trace | | `memory_recent(n?, sources?, episodes?, tags?, verbose?)` | Newest stores, timestamp-ordered (debug + session catch-up) | | `memory_supersede(old_text, new_text)` | Explicit correction — mark a memory obsolete, keep it as history | | `memory_forget(scope, ...)` | Hard-delete from one store: `memory` (by text/substring/source/episode/tag), `fact`, `world`, or `lesson` (by entity/attribute) | | `memory_stats()` | Per-band sizes, hit rates, totals | | `memory_get(entry_id)` / `memory_reinforce(entry_id)` | Dereference a memory id to its full episode (+ `consolidated_into`); reinforce it after finding it useful | | `memory_fact_get(entity, attribute)` | The one CURRENT canonical value at a slot (+ parked contenders); on an empty slot returns ranked `candidates` (same-entity, then similar slots) | | `memory_fact_set(entity, attribute, value, origin?, confidence?, episode?)` | Assert a canonical fact deliberately (insert / confirm / supersede / contest) | | `memory_fact_resolve(entity, attribute, accept)` | Settle a contested slot — a
What people ask about Pseudolife-MCP
What is Pseudogiant-xr/Pseudolife-MCP?
+
Pseudogiant-xr/Pseudolife-MCP is mcp servers for the Claude AI ecosystem. Persistent long-term memory for Claude — an MCP server with an associative memory bank, a canonical-fact cortex, sleep-like dream consolidation, and a web console. Not quite alive. It has 4 GitHub stars and was last updated today.
How do I install Pseudolife-MCP?
+
You can install Pseudolife-MCP by cloning the repository (https://github.com/Pseudogiant-xr/Pseudolife-MCP) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is Pseudogiant-xr/Pseudolife-MCP safe to use?
+
Pseudogiant-xr/Pseudolife-MCP has not been audited yet by our security agent. Review the original repository on GitHub before using it in production.
Who maintains Pseudogiant-xr/Pseudolife-MCP?
+
Pseudogiant-xr/Pseudolife-MCP is maintained by Pseudogiant-xr. The last recorded GitHub activity is from today, with 0 open issues.
Are there alternatives to Pseudolife-MCP?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy Pseudolife-MCP to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/pseudogiant-xr-pseudolife-mcp)<a href="https://claudewave.com/repo/pseudogiant-xr-pseudolife-mcp"><img src="https://claudewave.com/api/badge/pseudogiant-xr-pseudolife-mcp" alt="Featured on ClaudeWave: Pseudogiant-xr/Pseudolife-MCP" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface