mcpField
F
forge-delegate

forge-delegate

ローカル
github.com/MuhamadBarzaniAI・エージェント32 日前に更新

forge-delegate について

forge-delegateは、Claude Code、Codex、opencode向けのMCPサーバーで、opencodeから実行できる別のモデルにコーディング作業を委任します。大量の単純作業を別コンテキストで処理し、結果の要約と使用量をメインエージェントに返します。

主な機能

  1. 01opencode経由で自律的な作業を委任
  2. 02モデルへの直接呼び出しで別意見を取得
  3. 03バックグラウンド実行と状態確認
  4. 04モデル一覧と設定の管理
  5. 05モデル別のトークン数と費用の集計

活用シーン

  1. 01テスト、定型コード、反復編集の委任
  2. 02別モデルによるlintや型エラーの修正
  3. 03時間のかかるコーディング作業のバックグラウンド実行
  4. 04設計判断についてモデルの別意見を取得

MCP 対応

MCPサーバーとして、Claude Code、Codex、opencodeに委任、状態確認、モデル一覧、設定変更のツールを提供します。委任作業はローカルのopencodeで実行され、メインエージェントにはファイル内容全体ではなく要約が返されます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"muhamadbarzani-forge-delegate": {
"command": "npx",
"args": [
"-y",
"forge-delegate"
]
}
}
}
起動コマンドnpx -y forge-delegate

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmforge-delegate1.2.4

ツール

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は次の処理を行います。

  1. 選んだ各エージェントにMCPサーバーを登録します(--targets claude,codex,opencode)。
  2. デフォルトモデルを設定します(--model)。これにより、呼び出し時にmodelを省略できます。
  3. 自動更新ランチャーをインストールします(公開済みのインストールが対象で、gitチェックアウトでは省略されます)。
  4. 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つすべての対象がサポートされています。

適用範囲
--scopeClaude CodeCodexopencode
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、ファイルアクセスなし)小
delegateopencode 独自のツールループを通じてモデルが自律的に作業します。デフォルトではインラインで実行され、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つあります。

  1. エージェントから MCP ツール get_delegate_config / set_delegate_config を使用します。
  2. ターミナル CLI:forge-delegate config get、forge-delegate config set --model <m> --timeout <s> --dir <path> --autoApprove false、forge-delegate config path。
  3. setup フラグ:--model、--targets、--scope、--project-dir。
  4. ファイルを直接編集します。
フィールド説明デフォルト
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 に公開する必要があります。チェックリスト:

  1. npm run prepublishOnly — すべてのエントリーファイルの構文をチェックします(公開時に自動実行されます)。
  2. npm pack --dry-run — tarball に launcher.mjs、cli.mjs、server.mjs、lib.mjs、install.sh、docs/、skills/、README.md(files フィールド経由)のみが含まれ、node_modules が含まれていないことを確認します。
  3. package.json の version(および package-lock.json のルート version)を更新します。
  4. npm login && npm publish — bin フィールドにより、npx forge-delegate … が動作します。

また、GitHub リポジトリが MuhamadBarzani/forge-delegate に作成され、/docs(コンフィギュレーター)で Pages が有効になっていることを確認してください。raw.githubusercontent.com のインストール URL とコンフィギュレーターにハードコードされた URL は、そこを参照しています。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。