Shared memory + orchestration for your coding agents. Local-first MCP, vector RAG.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
One MCP server. Tell any client to read the plot β it becomes the orchestrator.
Dispatches fresh agents in isolated worktrees, shares lessons across every Claude Code / Codex / Cline chat on the project.
Quick Start β’ Memory & Vectors β’ Workflow β’ MCP Tools β’ Wire It In β’ Configuration

Your agents forget. Continuum remembers.
Point any MCP client at Continuum and tell it to read the plot. The client becomes an orchestrator β it researches the codebase, verifies the plan, persists a dispatch record, and hands you a ready-to-paste prompt for a fresh agent in an isolated git worktree. Every other Claude Code / Codex / Cline chat on the project sees what's reserved, shares what's been learned, and never re-explains the codebase. One local server: vector knowledge base, orchestration protocol, agent registry β shared across every MCP-speaking app on your machine.
No SaaS. No telemetry. No keys to manage. Boots in seconds. Survives reboots. Scales with you.
| π§ Vectorized memory | Every lesson your agents learn becomes a 768-dim embedding indexed in sqlite-vec. Recall is semantic, fuzzy, and instant β no exact-match games. |
| π RAG-native search | knowledge_search({q: "how do we handle webhook retries?"}) returns ranked metadata (slug + kind + agentSlug + timestamps); follow up with knowledge_get({slug}) for the body. Metadata first keeps top-K context cheap; only fetch what's worth reading. |
| πΊοΈ Canonical workflow | Every project gets a PLOT.md seeded with a 4-phase dispatch protocol β Intake β Research β Verify β Handoff. Stop re-explaining your process. |
| π€ Multi-agent registry | State machine + reserved-path tracking stops parallel agents from clobbering each other across git worktrees. |
| π Two-tier knowledge | fundamental lessons are binding rules loaded on every dispatch. situational lessons surface via semantic search when relevant. |
| π₯οΈ Human web panel | Astro + React UI to browse projects, agents, plot, and knowledge while AI clients drive everything via MCP. |
| π Client-agnostic | Standard MCP / Streamable HTTP. Works with Claude Code, Codex, Cline, Cursor, or anything that speaks the protocol. |
| π Local-first | One SQLite file. WAL mode. No cloud. Optional embedder is your call (Ollama, TEI, anything OpenAI-shaped). |
| π¦ One container in prod | Single image, one HTTP port, one mounted volume. Drop on any host, point your MCP clients at it. |
| Without Continuum | With Continuum |
|---|---|
| Session ends β context gone. | Lessons persist as embedded vectors. Recall survives reboots, models, and clients. |
| You re-explain conventions every session. | knowledge_search ranks lessons by relevance; knowledge_get pulls the body when needed. |
| Two parallel agents edit the same file. | reserved_paths + status state machine surfaces collisions before dispatch. |
| Each new task improvises orchestration. | PLOT.md protocol seeded into every project β Intake β Research β Verify β Handoff. |
| "What did Claude do last week?" | registry_list paginates dispatch metadata (slug, status, branch, reserved paths). agent_get({slug}) pulls the full record. |
| Knowledge scattered across chat logs. | One SQLite database. One vector index. One source of truth. |
That's it. The whole stack comes up with hot reload, a SQLite browser, and a single shared volume β no Node, no pnpm, no native-build dance on your host machine.
What you get:
| Service | URL | What it is |
|---|---|---|
| api | http://localhost:6685 | NestJS + MCP server. Swagger at /docs. Hot-reloaded on file change. |
| web | http://localhost:6680 | Astro + React panel. Hot-reloaded. |
| sqlite-web | http://localhost:6667 | Browser UI for the live SQLite database β inspect projects, agents, knowledge, vectors. Loads sqlite-vec automatically. |
| embedder (optional) | http://localhost:8080 | Hugging Face TEI running an HTTP embedder. Off by default. |
The API embeds in-process by default (Snowflake/snowflake-arctic-embed-m-v1.5 via Transformers.js, 768-dim, ONNX q8). No external service required for semantic search. Override via EMBEDDER_URL to point at any HTTP-based embedder (Ollama, TEI, OpenAI-compatible). Turn the bundled TEI container on with the embedder profile:
Bind mounts keep the source tree on your host β edits are instant. Named volumes hold node_modules so installs survive restarts. Database lives at ./.local-data/dev-orchestrator.db on your host, gitignored, safe to wipe.
Stop everything:
| API + MCP | http://localhost:7776 (Swagger at /docs) |
| Web panel | http://localhost:7777 |
Dev SQLite at ./.local-data/orchestrator.db. Gitignored. Wipe to reset β next boot recreates and migrates forward.
Requires Node >=22.12.0 and pnpm 10.33+. The compose path skips both.
This is the headline. Continuum's knowledge layer is what makes your agents stop being amnesiac.
Phase 1 of every dispatch (the orchestrator does this automatically):
Search and list return metadata only β slug + kind + agentSlug + timestamps. Call knowledge_get for the body of any lesson worth reading. Keeps top-K context cheap; the orchestrator triages first, fetches second.
The result: the agent that's about to plan your task already knows what your last five agents learned the hard way. No prompt engineering. No "here's our convention" copy-paste.
| Kind | Loaded when | Use for |
|---|---|---|
fundamental | Every dispatch, unconditionally | Project-wide rules: base branch, worktree naming, commit conventions, append-only files |
situational | Only if semantically relevant to the task | Specific gotchas: "auth guard ordering," "regen artifact merge strategy," "Stripe webhook idempotency keys" |
Vectors are pinned to a (EMBEDDER_URL, EMBEDDER_MODEL, EMBEDDER_DIM) triple. Change any one and Continuum marks stale vectors for rebuild on next boot. You stay in control of which embedder owns your memory β local Ollama, self-hosted TEI, or anything OpenAI-shaped.
The embedder is required and runs in-process by default (Snowflake/snowflake-arctic-embed-m-v1.5, 768-dim, ONNX q8). The model weights are bundled in the API image β no extra container, no extra config, semantic search works out of the box.
Override via EMBEDDER_URL to delegate embedding to an HTTP service:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/continuum-2)<a href="https://allmcps.com/mcp/continuum-2"><img src="https://allmcps.com/api/badge/continuum-2?style=directory" alt="Continuum on AllMCPs" /></a>