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.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 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는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
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, SuperCollider
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도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.
Make sound with SuperCollider: synths, drums, chords, melodies and soundscapes over OSC.
제작자의 저장소에서 쓰인 그대로 가져왔어요. 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앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요