Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Delegate coding tasks from Claude Code, Codex or opencode to any model opencode can run.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"forge-delegate": {
"command": "npx",
"args": [
"-y",
"forge-delegate",
"serve"
]
}
}
}在终端中运行这条命令
claude mcp add forge-delegate -- npx -y forge-delegate serve粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"forge-delegate": {
"command": "npx",
"args": [
"-y",
"forge-delegate",
"serve"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"forge-delegate": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"forge-delegate",
"serve"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 MuhamadBarzani 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.2.4)于11天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Aiterm MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ 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.
Persistent terminals and one launcher for Claude, Codex, Grok, Cursor, and Antigravity harnesses.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
MCP server that delegates coding work from your primary agent (Claude Code, Codex, or opencode) to other AI models, so your main agent's context stays small. The high-volume typing happens in another model's context, usually a cheaper or free one, and only a summary comes back. Full agentic delegation via opencode for real work; direct API calls for second opinions.
Your main agent (the expensive one) keeps architecture, critical logic, and hard decisions. The cheap model grinds through the high-volume, low-risk work (boilerplate, repetitive edits, tests, lint/type fixes) and reports back.
┌──────────────────┐ MCP (stdio) ┌──────────────────┐ opencode run ┌──────────────────┐
│ Claude / Codex / │ ──────────────► │ forge-delegate │ ───────────────► │ opencode + cheap │ │ opencode (primary)│ │ (this server) │ --model cheap │ model │ └──────────────────┘ ◄────────────── └──────────────────┘ ◄─────────────── └──────────────────┘ result: text + session + token usage
Web configurator — pick model/targets/scope and get a ready-to-paste command (https://muhamadbarzani.github.io/forge-delegate/). The model picker is backed by the live models.dev catalog — searchable, with free/cheap filters and real prices, so you're picking from actual available models rather than guessing.
npx (recommended — works everywhere, no bash needed):
npx -y forge-delegate setup --model "opencode/deepseek-v4.1-flash-free" --targets "claude,codex,opencode"
That's it — npx bootstraps the package, and setup registers the MCP server with the agents you chose, sets your default model, and installs a small launcher that keeps the server up to date. Works on Windows (cmd/PowerShell), macOS, and Linux — no bash needed.
Run setup without flags and it walks you through the choices interactively (defaults in [brackets], Enter accepts). For the default model it lists every model your opencode can run and you pick one by number or name; pass any of the flags to skip that prompt. In an automated/non-terminal run it just uses sensible defaults.
GitHub Pages: enable it with *Settings → Pages → Deploy from a branch →
main//docs*.
The configurator lives at
docs/index.html.install.sh'sFORGE_DELEGATE_REPOdefault
(and the raw URL inside it) matters only if you self-host the fallback installer.
Working on a checkout yourself?
node cli.mjs setupdoes the same thing.
setup will:
--targets claude,codex,opencode).--model) so calls can omit model.startup_timeout_sec, tool_timeout_sec) above Codex's 10s/60s defaults so inline delegations aren't cut off.Routing and cost-policy guidance is injected by the MCP server itself into the agent's context via MCP instructions — no memory-file (CLAUDE.md/AGENTS.md) editing needed.
Then restart your agent and confirm the server is connected: /mcp in Claude Code, codex mcp, or opencode.
opencode run print help and exit successfully — so a pre-v2 binary fails silently. The server checks at startup and warns instead.opencode/* models** (e.g. opencode/deepseek-v4.1-flash-free) need no auth — zero setup.opencode auth login . forge-delegate reuses your opencode's credentials and never stores API keys. (Ollama needs no key, just the Ollama app running.)Use the npx route — no bash needed (works in cmd/PowerShell). All three targets, including native Windows Codex CLI, are supported.
--scope | Claude Code | Codex | opencode |
|---|---|---|---|
user (default) | ~/.claude.json — all projects | ~/.codex/config.toml — all projects | ~/.config/opencode/opencode.json — all projects |
project | .mcp.json in the project (needs one-time approval) | .codex/config.toml in the project (loads for trusted projects only) | opencode.json in the project |
opencode ships free no-auth models under opencode/:
npx -y forge-delegate setup --model "opencode/deepseek-v4.1-flash-free" --targets "claude,codex"
Other free options: opencode/mimo-v2.6-flash-free, opencode/nemotron-3.5-lightning-free. Free tiers are rate-limited; switch anytime with forge-delegate config set --model .
| Tool | What it does | Context cost |
|---|---|---|
ask_model | Second opinion from another model (direct API, no file access) | Small |
delegate | Model works autonomously via opencode's own tool loop — inline by default; background:true returns a job id to poll via check_delegation | Tiny→Medium |
check_delegation | Poll a background job (or list all with no id) | Tiny |
list_models | List local/keyless, direct-API, and agentic models | Small |
get_delegate_config | Read current configuration (default model, directory, autoApprove, profiles) | Tiny |
set_delegate_config | Change configuration at runtime — no reinstall | Tiny |
delegate is the context-saver: the external model gets its own tool loop executed by opencode locally. File contents never touch your main agent's context. Fast tasks return inline; long ones are auto-backgrounded by Claude Code (past ~2 min). Other hosts wait for an inline call, so the agent is told to pass background:true there for anything long.
Each delegation's result ends with the tokens it used and, when the provider reports prices, its cost. forge-delegate stats totals both per model.
| ✅ Delegate — high volume, low risk | ⛔ Keep on the primary agent |
|---|---|
| Tests for well-specified behavior | Architecture, system design, choosing abstractions |
| Boilerplate & scaffolding (CRUD, DTOs, fixtures, mocks) | Security-sensitive code (auth, crypto, secrets, permissions) |
| Mechanical edits across many files (renames, prop propagation, imports) | Concurrency, performance-critical paths, subtle correctness |
| Lint / formatting / type-error fixes | Ambiguous / underspecified requirements needing judgment |
| Docstrings, comments, README / changelog sections | Public API / interface design, breaking changes |
| Straightforward data transforms / migrations with a clear spec | Debugging unknown root causes |
| Obvious glue code / format conversions | Anything costly or hard to detect if wrong |
Full guide: docs/DELEGATION.md
delegate-work skillSetup also installs the skill for Claude Code (~/.claude/skills/delegate-work/, or /.claude/skills/ under --scope project) and for Codex (~/.agents/skills/delegate-work/, or /.agents/skills/). Skip it with --no-skill.
It exists because MCP server instructions are injected once at session start and get buried as the context fills — by turn 30 they lose to whatever is in front of the model. A skill description is re-matched against every user turn, so the delegation triggers ("write tests for", "rename X everywhere", "fix the lint errors") stay live for the whole session instead of decaying.
Stored in ~/.forge-delegate/config.json, read fresh on every call — change it anytime without reinstalling. Four ways:
get_delegate_config / set_delegate_config.forge-delegate config get, forge-delegate config set --model --timeout --dir --autoApprove false, forge-delegate config path.--model, --targets, --scope, --project-dir.| Field | Description | Default |
|---|---|---|
defaultModel | provider/model used when a call omits model | unset |
defaultAgent | opencode agent used for delegations | unset |
defaultVariant | default reasoning-effort variant | unset |
autoApprove | auto-approve permissions so headless delegations don't block | true |
timeoutMs | per-delegation timeout | 900000 (env FORGE_OPENCODE_TIMEOUT) |
defaultDirectory | default working directory for delegations | unset (server cwd) |
profiles | named presets { name: { model, agent, variant, autoApprove, directory } } | {} |
Every delegation tool also accepts per-call model, directory, agent, autoApprove, and profile overrides. Per-call values beat profile values beat config defaults.
opencode/deepseek-v4.1-flash-free, ...) plus anything you have logged in via opencode auth login .provider/model for OpenAI-compatible providers.opencode.json (@ai-sdk/openai-compatible + baseURL), callable as provider/model.ollama:llama3, local:qwen2.5-coder, no key needed.autoApprove: true runs delegations non-interactively with tool permissions granted — point them at repositories you trust and review the diffs. Set autoApprove: false to require manual approval.~/.forge-delegate/usage.jsonl; see forge-delegate stats.forge-delegate --version Print the installed version
forge-delegate setup Register with Claude Code / Codex / opencode forge-delegate serve Start the MCP server (used internally) forge-delegate config get | set | path forge-delegate status Show version, update mode, opencode logins, usage forge-delegate stats Show detailed usage statistics
setup on a published install writes ~/.forge-delegate/launcher.mjs and registers that path instead of npx. The launcher keeps a private install under ~/.forge-delegate/pkg, asks npm for the newest release at most every 6 hours, and installs newer same-major versions automatically. Installs use npm install --ignore-scripts, go through a staging directory, and fall back to the last good version if anything fails. A new version lands on the next agent start; the download itself happens in the background so startup is never delayed.
Disable automatic updates with FORGE_AUTO_UPDATE=0. A major release (2.0.0) is never installed automatically — re-run npx -y forge-delegate setup to take it deliberately.
The launcher is also the CLI entry point: node ~/.forge-delegate/launcher.mjs status reports the running version and update mode, and --version prints the version.
npx installs configured by hand are not covered by the launcher: npx keeps its cached copy forever, so clear it with rm -rf ~/.npm/_npx and restart. Running npx -y forge-delegate@latest setup migrates an npx install to the launcher; @latest gets its own npx cache slot, and if it still starts an old version, clear the cache first.
The primary install is npx -y forge-delegate setup, so the package must be on npm. Checklist:
npm run prepublishOnly — syntax-checks all entry files (runs automatically on publish).npm pack --dry-run — confirm the tarball contains only launcher.mjs, cli.mjs, server.mjs, lib.mjs, install.sh, docs/, skills/, README.md (via the files field), not node_modules.只显示了开头部分;其余内容请在仓库中阅读