Continuum
概要
作者による説明(英語の原文)
Shared memory + orchestration for your coding agents. Local-first MCP, vector RAG.
PopNx MCPの3つの柱
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
- 利用者の声iレビューはまだありませんレビューは今後のステップで、アカウント機能と一緒に始まります
- 私たちの基本チェックi1項目中1項目に合格公開情報からチェック。コードはまだスキャンしていません
- 利用状況iとても新しい★ –
できること
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
- 接続方法: パソコンで動く
- トランスポート: Streamable HTTP
- カテゴリ: 検索・AIの記憶
インストール
使っているAIアプリを選んで、設定をコピーしてください。
インストールの前に
- 基本チェック:1項目中1項目に合格
- あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
- 自分で入力するもの:
ORCHESTRATOR_DB_PATH,EMBEDDER_URL,EMBEDDER_MODEL,EMBEDDER_DIM
必要なもの
- DockerDockerのインストール
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"continuum": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ORCHESTRATOR_DB_PATH",
"-e",
"EMBEDDER_URL",
"-e",
"EMBEDDER_MODEL",
"-e",
"EMBEDDER_DIM",
"docker.io/pouyahasanamreji/continuum:0.3.0"
],
"env": {
"ORCHESTRATOR_DB_PATH": "your-value",
"EMBEDDER_URL": "your-value",
"EMBEDDER_MODEL": "your-value",
"EMBEDDER_DIM": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add continuum --env ORCHESTRATOR_DB_PATH=your-value --env EMBEDDER_URL=your-value --env EMBEDDER_MODEL=your-value --env EMBEDDER_DIM=your-value -- docker run -i --rm -e ORCHESTRATOR_DB_PATH -e EMBEDDER_URL -e EMBEDDER_MODEL -e EMBEDDER_DIM docker.io/pouyahasanamreji/continuum:0.3.0動かす前に、空欄の値を入力してください。
または、設定を自分でコピーする
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"continuum": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ORCHESTRATOR_DB_PATH",
"-e",
"EMBEDDER_URL",
"-e",
"EMBEDDER_MODEL",
"-e",
"EMBEDDER_DIM",
"docker.io/pouyahasanamreji/continuum:0.3.0"
],
"env": {
"ORCHESTRATOR_DB_PATH": "your-value",
"EMBEDDER_URL": "your-value",
"EMBEDDER_MODEL": "your-value",
"EMBEDDER_DIM": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
または、設定を自分でコピーする
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"continuum": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ORCHESTRATOR_DB_PATH",
"-e",
"EMBEDDER_URL",
"-e",
"EMBEDDER_MODEL",
"-e",
"EMBEDDER_DIM",
"docker.io/pouyahasanamreji/continuum:0.3.0"
],
"env": {
"ORCHESTRATOR_DB_PATH": "your-value",
"EMBEDDER_URL": "your-value",
"EMBEDDER_MODEL": "your-value",
"EMBEDDER_DIM": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
自分で入力する値
ORCHESTRATOR_DB_PATHenvSQLite path inside containerEMBEDDER_URLenvOptional HTTP embedder (Ollama/TEI/OpenAI-compatible). Unset = in-process embedder.EMBEDDER_MODELenvEmbedding model idEMBEDDER_DIMenvEmbedding vector dimension
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月9日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント pouyahasanamreji で確認済みです
- … 未チェック
今もメンテナンスされている
このリポジトリはまだGitHubから読み取っていません
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
検索・AIの記憶のほかのサーバーとの比較i
- このカテゴリのほかの5730件のうち0%よりスターが多い
- このカテゴリのほかの5730件のうち13%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5730件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
Continuumは安全ですか?
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は–、最新バージョン(0.3.0)がレジストリに届いたのは6 か月前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにDockerも必要です。
代わりに使えるものは?
同じカテゴリには:Context7, Codebase Memory, Exa
代わりの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Shared memory + orchestration for your coding agents.
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.
flowchart TD
CC["Claude Code"] CX["Codex"] CL["Cline"] YOU["YOU"]
subgraph CONTINUUM["CONTINUUM ORCHESTRATOR"] direction LR PLOT["PLOT.md protocol"] KNOW["KNOWLEDGE (vectorized)"] AGENTS["AGENTS registry"] PANEL["WEB PANEL (humans)"] end
DB[("SQLite + sqlite-vec one file, your disk")]
CC -- MCP --> CONTINUUM CX -- MCP --> CONTINUUM CL -- MCP --> CONTINUUM YOU -- HTTP --> CONTINUUM CONTINUUM --> DB
No SaaS. No telemetry. No keys to manage. Boots in seconds. Survives reboots. Scales with you.
What you get
| 🧠 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. |
Why Continuum exists
| 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. |
Quick start
🐳 The easy path — one Docker command
docker compose -f docker-compose.dev.yml up
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:
HF_TOKEN=hf_xxx docker compose -f docker-compose.dev.yml --profile embedder up
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:
docker compose -f docker-compose.dev.yml down # keep data
docker compose -f docker-compose.dev.yml down -v # nuke volumes too
🛠️ Or run on bare metal
pnpm install
pnpm dev
| 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.
Memory & vectors
This is the headline. Continuum's knowledge layer is what makes your agents stop being amnesiac.
How a lesson becomes memory
agent finishes a dispatch
│ ▼ knowledge_create({ project, agentSlug, slug, content: "When wiring rate-limit guards in Nest, register them in app.module.ts AFTER the auth guard, not before. Order matters.", kind: 'situational' }) │ ▼ content → embedder (in-process by default, or Ollama / TEI / OpenAI-compatible) │ Snowflake Arctic Embed v1.5 → 768-dim vector ▼ SQLite row + sqlite-vec index entry │ freshness profile = (URL, model, dim) ▼ forever queryable by ANY future agent on this project
How recall works
Phase 1 of every dispatch (the orchestrator does this automatically):
knowledge_list({ project, kind: 'fundamental' })
└─ returns metadata for every binding lesson — slug + agentSlug + timestamps. knowledge_get({ project, slug }) // for each fundamental slug └─ full body — base branch, worktree convention, no-AI-attribution, etc.
knowledge_search({ project, q: "rate limit middleware nest interceptor order" }) └─ vector similarity over your prose └─ returns top-K ranked metadata (no content) └─ does NOT need exact wording — natural language works knowledge_get({ project, slug }) // for each relevant hit └─ pulls the full lesson body
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.
Two kinds of knowledge
| 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" |
The freshness profile
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.
Pluggable embedders
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:
# Option A — Ollama (simplest, fully local)
ollama pull
EMBEDDER_URL=http://127.0.0.1:11434/api/embed
EMBEDDER_MODEL= EMBEDDER_DIM=768
Option B — Hugging Face TEI (production-grade, batched)
HF_TOKEN=hf_xxx docker compose -f docker-compose.dev.yml --profile embedder up embedder
EMBEDDER_URL=http://127.0.0.1:8080/v1/embeddings
EMBEDDER_MODEL= EMBEDDER_DIM=768
Option C — anything OpenAI-compatible /v1/embeddings
Works out of the box. Match the dim.
Built on sqlite-vec
The vector index lives in the same SQLite file as your projects, agents, and plot. One file. One backup. One restore. No separate vector DB to provision, no Pinecone bill, no Chroma daemon to babysit. WAL mode keeps reads concurrent with writes; foreign keys keep your registry consistent; busy_timeout = 5000 keeps things calm under contention.
Wire it into your AI client
Claude Code
// ~/.claude.json → mcpServers
{ "mcpServers": { "continuum": { "transport": "streamable-http", "url": "http://127.0.0.1:7776/mcp" } } }
Restart Claude Code. Tools appear under mcp__continuum__*.
Codex
# ~/.codex/config.toml
[mcp_servers.continuum] transport = "streamable-http" url = "http://127.0.0.1:7776/mcp"
Anything else (Cline, Cursor, custom)
Point any MCP-compatible client at http://127.0.0.1:7776/mcp. Streamable HTTP, stateful sessions (UUID-keyed). Server name continuum.
Your first project
Inside any wired client:
Create a Continuum project for /absolute/path/to/my/repo,
then read the PLOT.md and act as orchestrator for the following task: .
What happens:
- Client calls
project_create({project: "/absolute/path/..."}) - Server seeds PLOT.md (the orchestration protocol) and an empty knowledge base
- Client calls
plot({project}), reads the protocol, enters orchestrator mode - Client follows the 4-phase workflow — researches, verifies, persists a dispatch record, hands you a ready-to-p
冒頭だけを表示しています。続きはリポジトリで読めます