Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Spawn multiple specialized Claude Code agents as MCP servers, each independently configured.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
ANTHROPIC_API_KEY, CLAUDE_TOOL_NAME, CLAUDE_MODEL, CLAUDE_PERMISSION_MODE, CLAUDE_ALLOWED_TOOLS, CLAUDE_APPEND_PROMPT, CLAUDE_FACTORY_ONLY「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"claude-octopus": {
"command": "npx",
"args": [
"-y",
"claude-octopus"
],
"env": {
"ANTHROPIC_API_KEY": "your-value",
"CLAUDE_TOOL_NAME": "your-value",
"CLAUDE_MODEL": "your-value",
"CLAUDE_PERMISSION_MODE": "your-value",
"CLAUDE_ALLOWED_TOOLS": "your-value",
"CLAUDE_APPEND_PROMPT": "your-value",
"CLAUDE_FACTORY_ONLY": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add claude-octopus --env ANTHROPIC_API_KEY=your-value --env CLAUDE_TOOL_NAME=your-value --env CLAUDE_MODEL=your-value --env CLAUDE_PERMISSION_MODE=your-value --env CLAUDE_ALLOWED_TOOLS=your-value --env CLAUDE_APPEND_PROMPT=your-value --env CLAUDE_FACTORY_ONLY=your-value -- npx -y claude-octopus動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"claude-octopus": {
"command": "npx",
"args": [
"-y",
"claude-octopus"
],
"env": {
"ANTHROPIC_API_KEY": "your-value",
"CLAUDE_TOOL_NAME": "your-value",
"CLAUDE_MODEL": "your-value",
"CLAUDE_PERMISSION_MODE": "your-value",
"CLAUDE_ALLOWED_TOOLS": "your-value",
"CLAUDE_APPEND_PROMPT": "your-value",
"CLAUDE_FACTORY_ONLY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"claude-octopus": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"claude-octopus"
],
"env": {
"ANTHROPIC_API_KEY": "your-value",
"CLAUDE_TOOL_NAME": "your-value",
"CLAUDE_MODEL": "your-value",
"CLAUDE_PERMISSION_MODE": "your-value",
"CLAUDE_ALLOWED_TOOLS": "your-value",
"CLAUDE_APPEND_PROMPT": "your-value",
"CLAUDE_FACTORY_ONLY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
CLAUDE_TOOL_NAME envCLAUDE_MODEL envCLAUDE_PERMISSION_MODE envCLAUDE_ALLOWED_TOOLS envCLAUDE_APPEND_PROMPT envCLAUDE_FACTORY_ONLY envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント xiaolai で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:ANTHROPIC_API_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(1.1.10)がレジストリに届いたのは6 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, EmbeddedCI BenchPod
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drive a BenchPod hardware-in-the-loop bench: power, flash, UART, I2C, CAN, analog and logic.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
One brain, many arms.
An MCP server that wraps the Claude Agent SDK, letting you run multiple specialized Claude Code agents — each with its own model, tools, system prompt, and personality — from any MCP client.
Claude Code is powerful. But one instance does everything the same way. Sometimes you want a strict code reviewer that only reads files. A test writer that defaults to TDD. A cheap quick helper on Haiku. A deep thinker on Opus.
Claude Octopus lets you spin up as many of these as you need. Same binary, different configurations. Each one shows up as a separate tool in your MCP client.
claude CLI installationANTHROPIC_API_KEY env var) or an active Claude Code OAuth sessionThree paths, pick whichever matches your MCP client.
npm install claude-octopus
Skip the install entirely — reference claude-octopus@latest in your .mcp.json and the client will fetch on demand (see Quick Start below).
The server is published to the MCP Registry under the name `io.github.xiaolai/claude-octopus`. Registry-aware MCP clients can resolve and install it by that name without touching npm directly.
The fastest way to get started:
npx claude-octopus init
This interactive wizard lets you pick a template, detects your MCP client, and writes the config for you.
Or add to your .mcp.json manually:
{
"mcpServers": { "claude": { "command": "npx", "args": ["claude-octopus@latest"], "env": { "CLAUDE_PERMISSION_MODE": "bypassPermissions" } } } }
This gives you six tools:
| Tool | Purpose |
|---|---|
claude_code | Send a task, get a result |
claude_code_reply | Continue a conversation |
claude_code_timeline | Query the workflow timeline |
claude_code_transcript | Read full session transcripts |
claude_code_sessions | List Claude Code session history (this project, or all) |
claude_code_report | Generate HTML reports |
That's it — you have Claude Code as a tool, with full workflow observability built in.
The real power is running several instances with different configurations:
{
"mcpServers": { "code-reviewer": { "command": "npx", "args": ["claude-octopus@latest"], "env": { "CLAUDE_TOOL_NAME": "code_reviewer", "CLAUDE_SERVER_NAME": "code-reviewer", "CLAUDE_DESCRIPTION": "Strict code reviewer. Finds bugs and security issues. Read-only.", "CLAUDE_MODEL": "opus", "CLAUDE_ALLOWED_TOOLS": "Read,Grep,Glob", "CLAUDE_APPEND_PROMPT": "You are a strict code reviewer. Report real bugs, not style preferences.", "CLAUDE_EFFORT": "high" } }, "test-writer": { "command": "npx", "args": ["claude-octopus@latest"], "env": { "CLAUDE_TOOL_NAME": "test_writer", "CLAUDE_SERVER_NAME": "test-writer", "CLAUDE_DESCRIPTION": "Writes thorough tests with edge case coverage.", "CLAUDE_MODEL": "sonnet", "CLAUDE_APPEND_PROMPT": "Write tests first. Cover edge cases. TDD." } }, "quick-qa": { "command": "npx", "args": ["claude-octopus@latest"], "env": { "CLAUDE_TOOL_NAME": "quick_qa", "CLAUDE_SERVER_NAME": "quick-qa", "CLAUDE_DESCRIPTION": "Fast answers to quick coding questions.", "CLAUDE_MODEL": "haiku", "CLAUDE_MAX_BUDGET_USD": "0.02", "CLAUDE_EFFORT": "low" } } } }
Your MCP client now sees distinct tools for each agent — code_reviewer, test_writer, quick_qa — each purpose-built.
Agents can coordinate through a coordinator pattern: one agent has the others as inner MCP tools via CLAUDE_MCP_SERVERS, and its system prompt drives the pipeline.
{
"mcpServers": { "publishing-house": { "command": "npx", "args": ["claude-octopus@latest"], "env": { "CLAUDE_TOOL_NAME": "publishing_house", "CLAUDE_SERVER_NAME": "publishing-house", "CLAUDE_MODEL": "opus", "CLAUDE_PERMISSION_MODE": "bypassPermissions", "CLAUDE_APPEND_PROMPT": "You are a publishing house coordinator. Dispatch tasks to your specialist agents and drive the pipeline to completion.", "CLAUDE_MCP_SERVERS": "{\"researcher\":{\"command\":\"npx\",\"args\":[\"claude-octopus@latest\"],\"env\":{\"CLAUDE_TOOL_NAME\":\"researcher\",\"CLAUDE_SERVER_NAME\":\"researcher\",\"CLAUDE_MODEL\":\"sonnet\",\"CLAUDE_PERMISSION_MODE\":\"bypassPermissions\"}},\"architect\":{\"command\":\"npx\",\"args\":[\"claude-octopus@latest\"],\"env\":{\"CLAUDE_TOOL_NAME\":\"architect\",\"CLAUDE_SERVER_NAME\":\"architect\",\"CLAUDE_MODEL\":\"opus\",\"CLAUDE_PERMISSION_MODE\":\"bypassPermissions\"}}}" } } } }
The coordinator agent autonomously calls researcher, architect, etc. as MCP tools — fully autonomous, no human in the loop until it finishes. Every invocation is tracked in the shared timeline.
Don't want to write configs by hand? Add a factory instance:
{
"mcpServers": { "agent-factory": { "command": "npx", "args": ["claude-octopus@latest"], "env": { "CLAUDE_FACTORY_ONLY": "true", "CLAUDE_SERVER_NAME": "agent-factory" } } } }
This exposes a single create_claude_code_mcp tool — an interactive wizard. Tell it what you want ("a strict code reviewer that only reads files") and it generates the .mcp.json entry for you, listing all available options you can customize.
In factory-only mode, no query tools are registered — just the wizard. This keeps routing clean: the factory creates agents, the agents do work.
Don't want to edit JSON by hand? The init wizard gets you from zero to working in 30 seconds:
npx claude-octopus init
Claude Octopus — init wizard
One brain, many arms. Let's set up your agents.
Pick a template (or build your own):
Choice [1-6]:
It auto-detects installed MCP clients (Claude Desktop, Claude Code, Cursor, Windsurf), merges with existing config, and warns before overwriting.
npx claude-octopus init --template code-review-team
npx claude-octopus init --template tiered-models npx claude-octopus init --template publishing-house
Five built-in templates, battle-tested and ready to use:
| Template | Agents | Purpose |
|---|---|---|
code-review-team | code-reviewer (opus), test-writer (sonnet), security-auditor (opus) | Thorough code review pipeline |
publishing-house | researcher (sonnet), architect (opus), editor (sonnet), proofreader (haiku) | Multi-stage content/code pipeline |
tiered-models | quick-qa (haiku), coder (sonnet), deep-thinker (opus) | Right model for the job |
solo-agent | claude (default) | Single agent, quick setup |
factory | agent-factory | Generates configs on demand |
Each agent comes pre-tuned with appropriate model, tools, effort level, and system prompt.
Monitor your agents in real time:
npx claude-octopus dashboard
Opens a local web dashboard at http://localhost:3456 with:
# Custom port
npx claude-octopus dashboard --port 8080
The dashboard reads the same timeline index used by the _timeline and _report tools. No additional configuration needed.
Each non-factory instance exposes:
| Tool | Purpose |
|---|---|
| Send a task to the agent, get a response + session_id + run_id |
_reply | Continue a previous conversation by session_id |
_timeline | Query the cross-agent workflow timeline |
_transcript | Retrieve full session transcript from Claude Code's storage |
_sessions | List Claude Code session history — this project by default, or all projects with all_projects: true |
_report | Generate a self-contained HTML report for a run or all runs |
| Parameter | Description |
|---|---|
prompt | The task or question (required) |
run_id | Workflow run ID — groups related agent calls into one timeline. Auto-generated if omitted; returned in every response for propagation. |
cwd | Working directory override |
model | Model override (sonnet, opus, haiku, or full ID) |
tools | Restrict available tools (intersects with server restriction) |
disallowedTools | Block additional tools (unions with server blacklist) |
additionalDirs | Extra directories the agent can access |
plugins | Additional plugin paths to load |
effort | Thinking effort (low, medium, high, max) |
permissionMode | Permission mode (can only tighten, never loosen) |
maxTurns | Max agent-loop round trips (see effort counters) |
maxBudgetUsd | Max spend in USD |
systemPrompt | Additional prompt (appended to server default) |
Every agent invocation is recorded in a lightweight JSONL index at ~/.claude-octopus/timelines/timeline.jsonl. This solves the multi-agent correlation problem: when several agents participate in a workflow, the timeline tracks which sessions belong to the same run, in what order they executed, and what role each played.
Full session transcripts stay in Claude Code's own storage (~/.claude/projects/). The timeline is just the table of contents — ~200 bytes per entry — that cross-references via session_id.
graph TB
subgraph "Timeline Index (~200 bytes/entry)" TL["~/.claude-octopus/timelines/timeline.jsonl"] end
subgraph "Claude Code Session Storage (full transcripts)" S1["~/.claude/projects/.../ses-aaa.jsonl"] S2["~/.claude/projects/.../ses-bbb.jsonl"] S3["~/.claude/projects/.../ses-ccc.jsonl"] end
TL -->|"session_id cross-ref"| S1 TL -->|"session_id cross-ref"| S2 TL -->|"session_id cross-ref"| S3
and _reply call appends one line to the timelinerun_id, all agents sharing the same run_id are grouped into one runrun_id, one is auto-generated and returned in the response — pass it to subsequent agents to keep them grouped# List all runs
_timeline({})
_timeline({ run_id: "abc-123" })
_timeline({ session_id: "ses-xyz" })
_transcript({ session_id: "ses-xyz" })
Host: r冒頭だけを表示しています。続きはリポジトリで読めます