forge-delegate について
forge-delegateは、Claude Code、Codex、opencode向けのMCPサーバーで、opencodeから実行できる別のモデルにコーディング作業を委任します。大量の単純作業を別コンテキストで処理し、結果の要約と使用量をメインエージェントに返します。
主な機能
- 01opencode経由で自律的な作業を委任
- 02モデルへの直接呼び出しで別意見を取得
- 03バックグラウンド実行と状態確認
- 04モデル一覧と設定の管理
- 05モデル別のトークン数と費用の集計
活用シーン
- 01テスト、定型コード、反復編集の委任
- 02別モデルによるlintや型エラーの修正
- 03時間のかかるコーディング作業のバックグラウンド実行
- 04設計判断についてモデルの別意見を取得
MCP 対応
MCPサーバーとして、Claude Code、Codex、opencodeに委任、状態確認、モデル一覧、設定変更のツールを提供します。委任作業はローカルのopencodeで実行され、メインエージェントにはファイル内容全体ではなく要約が返されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 2 日前に更新
このツールにパラメーターはありません。
詳細
forge-delegate
コーディング作業をメインのエージェント(Claude Code、Codex、またはopencode)からほかのAIモデルに委任するMCPサーバーです。メインのエージェントのコンテキストを小さく保てます。大量の入力は別のモデルのコンテキスト内で行われ、通常はより安価または無料のモデルを使い、返ってくるのは要約だけです。実際の作業にはopencodeを介した完全なエージェント型の委任を使い、セカンドオピニオンには直接APIを呼び出します。
メインのエージェント(高価なモデル)は、アーキテクチャ、重要なロジック、難しい判断を担います。 安価なモデルは、大量でリスクの低い作業(ボイラープレート、反復的な編集、 テスト、lint/型の修正)をこなし、結果を報告します。
┌──────────────────┐ MCP (stdio) ┌──────────────────┐ opencode run ┌──────────────────┐
│ Claude / Codex / │ ──────────────► │ forge-delegate │ ───────────────► │ opencode + cheap │
│ opencode (primary)│ │ (this server) │ --model cheap │ model │
└──────────────────┘ ◄────────────── └──────────────────┘ ◄─────────────── └──────────────────┘
result: text + session + token usage
クイックスタート
Webコンフィギュレーター — モデル/対象/範囲を選び、すぐに貼り付けられるコマンドを取得します (https://muhamadbarzani.github.io/forge-delegate/)。モデルの選択リストは、最新の models.devカタログを利用しています。検索でき、無料/低価格のフィルターや実際の価格も表示されるため、推測ではなく、実際に利用可能なモデルから選べます。
npx(推奨 — どこでも使え、bashは不要です):
npx -y forge-delegate setup --model "opencode/deepseek-v4.1-flash-free" --targets "claude,codex,opencode"
これだけです。npxがパッケージをブートストラップし、setupが選んだエージェントにMCPサーバーを登録し、デフォルトモデルを設定して、サーバーを最新の状態に保つ小さなランチャーをインストールします。Windows(cmd/PowerShell)、macOS、Linuxで動作し、bashは不要です。
フラグを指定せずにsetupを実行すると、選択肢が対話形式で表示されます(デフォルト値は[角括弧]で示され、Enterキーで確定します)。デフォルトモデルについては、opencodeで実行できるすべてのモデルが表示され、番号または名前で選択できます。いずれかのフラグを渡せば、そのプロンプトを省略できます。自動実行/非ターミナル環境では、適切なデフォルト値がそのまま使われます。
GitHub Pages:*Settings → Pages → Deploy from a branch →
main//docs*を有効にします。 コンフィギュレーターはdocs/index.htmlにあります。install.shのFORGE_DELEGATE_REPOのデフォルト値 (およびその中のraw URL)が関係するのは、フォールバックインストーラーをセルフホストする場合だけです。自分でチェックアウトしたリポジトリを使っていますか?
node cli.mjs setupでも同じ処理ができます。
setupは次の処理を行います。
- 選んだ各エージェントにMCPサーバーを登録します(
--targets claude,codex,opencode)。 - デフォルトモデルを設定します(
--model)。これにより、呼び出し時にmodelを省略できます。 - 自動更新ランチャーをインストールします(公開済みのインストールが対象で、gitチェックアウトでは省略されます)。
- Codexでは、インラインの委任が途中で打ち切られないよう、MCPのタイムアウト(
startup_timeout_sec、tool_timeout_sec)をCodexのデフォルトである 10秒/60秒より長くします。
ルーティングとコストポリシーに関するガイダンスは、MCPサーバー自身がMCPのinstructionsを通じてエージェントのコンテキストに挿入します。メモリーファイル(CLAUDE.md/AGENTS.md)を編集する必要はありません。
エージェントを再起動し、サーバーが接続されていることを確認してください。Claude Codeでは/mcp、Codexではcodex mcp、opencodeではopencodeを使います。
必要なもの
- Node.js ≥ 18とopencode v2以降がインストールされていること(インストーラーでopencodeを取得できます)。
v2では、以前のバージョンが作業ディレクトリやバリアントに使っていたCLIフラグが削除されています。また、未知のフラグを指定すると
opencode runはヘルプを表示して正常終了するため、v2より前のバイナリではエラーが通知されないまま失敗します。サーバーは起動時にバージョンを確認し、警告を表示します。 - 無料の
opencode/*モデル(例:opencode/deepseek-v4.1-flash-free)は認証不要で、セットアップも一切必要ありません。 - その他のプロバイダー(deepseek、openai、google、ollamaなど)を使う場合は、まずご自身のopencodeにログインする必要があります。これはご自身のopencodeで行う作業であり、forge-delegateが処理するものではありません。
opencode auth login <provider>を実行してください。forge-delegateはopencodeの認証情報を再利用し、APIキーを保存することはありません。(Ollamaではキーは不要ですが、Ollamaアプリを起動しておく必要があります。)
Windows
npxを使ってください。bashは不要です(cmd/PowerShellで動作します)。ネイティブのWindows版Codex CLIを含む3つすべての対象がサポートされています。
適用範囲
--scope | Claude Code | Codex | opencode |
|---|---|---|---|
user (default) | ~/.claude.json — すべてのプロジェクト | ~/.codex/config.toml — すべてのプロジェクト | ~/.config/opencode/opencode.json — すべてのプロジェクト |
project | プロジェクト内の .mcp.json(初回のみ承認が必要) | プロジェクト内の .codex/config.toml(信頼済みプロジェクトでのみ読み込み) | プロジェクト内の opencode.json |
無料で試す — 登録不要
opencode には、opencode/ 配下の無料の認証不要モデルが含まれています。
npx -y forge-delegate setup --model "opencode/deepseek-v4.1-flash-free" --targets "claude,codex"
その他の無料オプション:opencode/mimo-v2.6-flash-free、opencode/nemotron-3.5-lightning-free。無料枠にはレート制限があります。forge-delegate config set --model <m> を使えば、いつでも切り替えられます。
ツール
| ツール | 機能 | コンテキストコスト |
|---|---|---|
ask_model | 別のモデルからセカンドオピニオンを得る(直接 API、ファイルアクセスなし) | 小 |
delegate | opencode 独自のツールループを通じてモデルが自律的に作業します。デフォルトではインラインで実行され、background:true を指定すると check_delegation でポーリングできるジョブ ID が返されます | 極小→中 |
check_delegation | バックグラウンドジョブをポーリングします(ID を指定しない場合はすべてを一覧表示) | 極小 |
list_models | ローカル/キー不要、直接 API、エージェント型のモデルを一覧表示します | 小 |
get_delegate_config | 現在の設定(デフォルトのモデル、ディレクトリ、autoApprove、プロファイル)を読み取ります | 極小 |
set_delegate_config | 再インストールせずに、実行中に設定を変更します | 極小 |
delegate はコンテキストを節約するツールです。外部モデルは、opencode がローカルで実行する独自のツールループを使います。ファイルの内容がメインエージェントのコンテキストに入ることはありません。短時間で終わるタスクはインラインで返され、時間のかかるタスクは Claude Code によって自動的にバックグラウンド実行に切り替わります(約 2 分を超える場合)。その他のホストではインライン呼び出しを待つため、時間のかかるタスクでは background:true を渡すようエージェントに指示されます。
各委任の結果には、使用したトークン数と、プロバイダーが料金を報告する場合はその費用が記載されます。forge-delegate stats では、モデルごとにその両方を集計できます。
委任するタイミング
| ✅ 委任する — 処理量が多く、リスクが低い作業 | ⛔ プライマリエージェントに任せる |
|---|---|
| 仕様が明確な動作に対するテスト | アーキテクチャ、システム設計、抽象化の選択 |
| ボイラープレートと足場づくり(CRUD、DTO、フィクスチャ、モック) | セキュリティ上重要なコード(認証、暗号化、シークレット、権限) |
| 多数のファイルにまたがる機械的な編集(名前変更、プロパティの伝播、インポート) | 並行処理、パフォーマンスが重要な処理、微妙な正確性 |
| Lint/フォーマット/型エラーの修正 | 判断が必要な、曖昧または不十分に定義された要件 |
| Docstring、コメント、README/変更履歴のセクション | パブリック API/インターフェースの設計、互換性を損なう変更 |
| 仕様が明確な単純なデータ変換/マイグレーション | 根本原因が不明な問題のデバッグ |
| 明らかなグルーコード/フォーマット変換 | 間違えた場合にコストがかかる、または誤りを見つけにくい作業 |
詳細なガイド:docs/DELEGATION.md
delegate-work スキル
セットアップ時に、Claude Code 用のスキル(~/.claude/skills/delegate-work/、または --scope project の場合は <project>/.claude/skills/)と Codex 用のスキル(~/.agents/skills/delegate-work/、または <project>/.agents/skills/)もインストールされます。--no-skill を指定するとスキップできます。
MCP サーバーの instructions はセッション開始時に一度だけ注入され、コンテキストが埋まるにつれて埋もれていくため、このスキルが用意されています。30 ターン目には、モデルの目の前にある情報に負けてしまいます。スキルの説明はユーザーの各ターンに対して再照合されるため、「テストを書いて」「X をすべてリネームして」「lint エラーを修正して」といった委任のトリガーがセッション全体を通して有効なままになり、薄れていきません。
設定
~/.forge-delegate/config.json に保存され、呼び出しのたびに最新の内容が読み込まれます。再インストールせずにいつでも変更できます。設定方法は4つあります。
- エージェントから MCP ツール
get_delegate_config/set_delegate_configを使用します。 - ターミナル CLI:
forge-delegate config get、forge-delegate config set --model <m> --timeout <s> --dir <path> --autoApprove false、forge-delegate config path。 setupフラグ:--model、--targets、--scope、--project-dir。- ファイルを直接編集します。
| フィールド | 説明 | デフォルト |
|---|---|---|
defaultModel | 呼び出しで model が指定されていない場合に使用するプロバイダー/モデル | 未設定 |
defaultAgent | 委任に使用する opencode エージェント | 未設定 |
defaultVariant | デフォルトの推論強度バリアント | 未設定 |
autoApprove | ヘッドレスの委任が停止しないよう、権限を自動承認します | true |
timeoutMs | 委任ごとのタイムアウト | 900000(環境変数 FORGE_OPENCODE_TIMEOUT) |
defaultDirectory | 委任のデフォルト作業ディレクトリ | 未設定(サーバーの cwd) |
profiles | 名前付きプリセット { name: { model, agent, variant, autoApprove, directory } } | {} |
各委任ツールでは、呼び出しごとに model、directory、agent、autoApprove、profile も上書き指定できます。呼び出しごとの値がプロファイルの値より優先され、プロファイルの値は設定のデフォルト値より優先されます。
モデル
- opencode プロバイダー — 認証不要の無料モデル(
opencode/deepseek-v4.1-flash-freeなど)に加え、opencode auth login <provider>でログインしたプロバイダーを使用できます。 - opencode のログイン情報を使った直接 API — OpenAI 互換プロバイダーでは
provider/modelを指定します。 - カスタムプロバイダー —
opencode.jsonで定義された OpenAI 互換プロバイダー(@ai-sdk/openai-compatible+baseURL)は、provider/modelで呼び出せます。 - Ollama(ローカル) —
ollama:llama3、local:qwen2.5-coder。キーは不要です。
安全に関する注意
autoApprove: trueの場合、ツールの権限が付与された状態で委任が非対話的に実行されます。信頼できるリポジトリを対象にし、差分を確認してください。手動承認を必須にするには、autoApprove: falseに設定します。- このサーバーが API キーを保存することはありません。プロバイダーの認証情報は opencode 独自の認証ストアに保存されます。
- 使用状況は
~/.forge-delegate/usage.jsonlに記録されます。forge-delegate statsを参照してください。
CLI
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 を実行すると、~/.forge-delegate/launcher.mjs が書き込まれ、npx の代わりにそのパスが登録されます。ランチャーは ~/.forge-delegate/pkg に専用のインストールを保持し、最長でも6時間ごとに npm に最新リリースを問い合わせ、より新しい同じメジャーバージョンを自動でインストールします。インストールは npm install --ignore-scripts を使用し、ステージングディレクトリを経由します。失敗した場合は、最後に正常だったバージョンに戻ります。新しいバージョンは次回のエージェント起動時に適用されます。ダウンロードはバックグラウンドで行われるため、起動が遅れることはありません。
自動更新を無効にするには、FORGE_AUTO_UPDATE=0 を設定します。メジャーリリース(2.0.0)は自動インストールされません。意図的に更新するには、npx -y forge-delegate setup を再実行してください。
ランチャーは CLI のエントリーポイントでもあります。node ~/.forge-delegate/launcher.mjs status を実行すると、実行中のバージョンと更新モードが表示され、--version を指定するとバージョンが出力されます。
手動で設定した npx インストールはランチャーの対象外です。npx はキャッシュしたコピーを保持し続けるため、rm -rf ~/.npm/_npx でキャッシュを消去してから再起動してください。npx -y forge-delegate@latest setup を実行すると、npx インストールがランチャーに移行されます。@latest は独自の npx キャッシュ領域を使用します。それでも古いバージョンが起動する場合は、先にキャッシュを消去してください。
公開(npm)
主なインストール方法は npx -y forge-delegate setup なので、パッケージを npm に公開する必要があります。チェックリスト:
npm run prepublishOnly— すべてのエントリーファイルの構文をチェックします(公開時に自動実行されます)。npm pack --dry-run— tarball にlauncher.mjs、cli.mjs、server.mjs、lib.mjs、install.sh、docs/、skills/、README.md(filesフィールド経由)のみが含まれ、node_modulesが含まれていないことを確認します。package.jsonのversion(およびpackage-lock.jsonのルートversion)を更新します。npm login && npm publish—binフィールドにより、npx forge-delegate …が動作します。
また、GitHub リポジトリが MuhamadBarzani/forge-delegate に作成され、/docs(コンフィギュレーター)で Pages が有効になっていることを確認してください。raw.githubusercontent.com のインストール URL とコンフィギュレーターにハードコードされた URL は、そこを参照しています。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。