Pi Durateam について
Pi Durateam は Claude Code と Codex 向けに Pi エージェントを実行する MCP サーバーで、対応する複数のモデルプロバイダーを使った並列タスクにも対応します。レポートやファイルパスを返し、実行予算、任意の永続セッション、委任先ごとの MCP ツール制御を備えています。
主な機能
- 01委任タスクの並列実行
- 02同じプロンプトを複数モデルに割り当て
- 03完了セッションからタスクを分岐
- 04実行の誘導、継続、中止
- 05実行予算と回答チェックの設定
- 06任意の永続セッション再開
活用シーン
- 01複数モデルによるコード差分のレビュー
- 02調査や相互確認タスクの分割
- 03セッションをまたいだ委任作業の継続
- 04委任先への特定 MCP ツールの提供
MCP 対応
Claude Code や Codex などの MCP クライアントに、タスク委任とセッション管理のツールを提供します。委任タスクには、設定済み MCP サーバーの指定ツールをタスク単位で許可できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
14掲載時のツール一覧 · 2 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| cwd | string | いいえ | 委任先のリポジトリです。プロジェクトローカルの pi モデルスコープを読み込みます。 |
| models | string | いいえ | モデルリストを絞り込む部分文字列(例:"deepseek") |
詳細
English · 简体中文
pi-durateam
あらゆるプロバイダーで利用できる、Claude Code と Codex 向けの Pi エージェントチームです。最後まで完了できるように実行を設計しています。
pi-durabletask-mcpから名称を変更しました。インストールするパッケージはpi-durateamです。以前のコマンドも引き続き動作します。設定、PI_DELEGATE_*変数、保存済み状態、ツール名に変更はありません。
メインエージェントが計画を立て、モデルを選び、結果を評価します。読み取り、検索、相互確認は Pi の委任先(Gemini、Grok、GPT、DeepSeek など、Pi がサポートするあらゆるプロバイダー)で実行され、Claude Code や Codex のクォータではなく、それらのプロバイダーのクォータを消費します。返されるのは簡潔なステータスと最終レポート、またはファイルパスのみです。リリース前の社内レビューでは、4 つのエージェントが Gemini、Grok、GPT モデルを使ってこのコードベースの約 200 万トークンを読み取り、Claude のセッションに届いたレポートは約 7 KB でした。
- チーム — 1 つまたは複数の並列タスク、複数モデルへの同一の質問、一度だけ読み取って複数の質問に答えるフォーク、オプトインのコーディネーター、委任先ごとに付与される MCP サーバー(読み取り専用 GitHub、ブラウザー)に対応します。
- dura — 各実行にはターン、時間、ツール呼び出しの上限があり、最後のターンは回答用に確保され、ツールは使えません。オプトインでソフトデッドライン、プロバイダーエラー時のモデルフォールバック、サーバー再起動後も維持されるセッションを利用できます。
たとえば、エージェントにこう依頼します。「Pi を使い、添付した差分を Gemini、Grok、GPT で並列にレビューしてください。ファイルは編集しないでください。実際の不具合だけを file:line 形式で報告してください。」 エージェントは共通の prompt と 3 つのモデルを指定して spawn_batch を呼び出し、wait で結果を収集します。トークン使用量とコストを含む、3 つの独立したレポートが返されます。
クイックスタート
macOS または Linux、Node.js 22.19+、Pi が必要です。 CI では Node.js 22 と 24 を使い、Pi 1.0.0、1.0.4、1.1.0、1.3.0 に対してテストを実行します。モデル呼び出しには、ご自身のプロバイダー認証情報を使用します。
1 · Pi をインストール(すでにインストール済みの場合はスキップ)し、プロバイダーにログインします。
curl -fsSL https://pi.dev/install.sh | sh
pi # then /login, or configure a provider
2 · pi-durateam をインストールします。
npm install -g pi-durateam@latest
またはソースからインストール
git clone https://github.com/Nyarlathoteppppp/pi-durateam.git
cd pi-durateam && npm ci && npm run build
# below, use `node /absolute/path/pi-durateam/dist/index.js` instead of `pi-durateam`
3 · 接続します。 Claude Code の場合:
claude mcp add --scope user pi -- pi-durateam
Codex の場合(~/.codex/config.toml):
[mcp_servers.pi]
command = "pi-durateam"
Codex デスクトップアプリは最小限の PATH(Homebrew や nvm のディレクトリを含まない)で MCP サーバーを起動するため、pi-durateam も実行に使う node も見つからない場合があります。その場合、サーバーは起動せず、セッションには Pi のツールが表示されません。絶対パスを使用してください。
[mcp_servers.pi]
command = "/opt/homebrew/bin/node" # output of `which node`
args = ["/opt/homebrew/lib/node_modules/pi-durateam/dist/index.js"] # under `npm root -g`
[mcp_servers.pi.env]
PATH = "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin" # inherited by what the server starts
pi-durateam または Pi を更新した後は、MCP サーバーに再接続してください。その他のクライアント →
4 · 試してみましょう。「Pi を使って、認証モジュールに権限チェックの漏れがないか確認してください。読み取りのみ。」init ではモデル、プロバイダー認証情報、設定を確認でき、models では委任先が利用できるモデルを一覧表示できます。
任意:Agent Skill をインストール
スキルは、エージェントにワークフローを教えます。SKILL.md をクライアントのスキルディレクトリに配置してください。
dir="$HOME/.claude/skills/pi-durateam" # Claude Code
# dir="$HOME/.agents/skills/pi-durateam" # Codex: use instead
mkdir -p "$dir"
curl -fsSL https://raw.githubusercontent.com/Nyarlathoteppppp/pi-durateam/main/skills/pi-durateam/SKILL.md \
-o "$dir/SKILL.md"
- 委任する。
spawnは1つのタスクをバックグラウンドで開始し、すぐにsessionIdを返します。spawn_batchはデフォルトで1回の呼び出しにつき最大4つ(PI_DELEGATE_BATCH_MAX)のタスクを開始し、最初にすべてのタスクを検証するため、1つでも不正なタスクがあれば何も開始しません。すばやく質問する場合は、ブロックするrunを使います。waitとuntil: "settled"で結果を収集します。 - 1つの質問を複数のモデルに尋ねる。 バッチレベルの
promptはすべてのタスクに渡され、各タスクでmodelを指定し、そのタスク固有のpromptが追加されます。モデルファミリーによって見落とす点は異なりますが、意見の一致は証明にはなりません。対応する前に、調査結果を検証してください。 - 一度読んで、複数に尋ねる。
forkFromは、完了したセッションのトランスクリプトを基に新しいタスクを開始します。すでに読み込んだファイルも含まれます。各フォークには新しい予算が割り当てられます。 - 方向を示して続行する。 実行中の委任先には
steerで指示し、質問にはanswerで回答し、完了した委任先にはfollow_upで追加の依頼をし(読み込んだ内容は保持されます)、必要に応じてabortで中止します。statusはidleMsとphaseを報告し、処理が遅いのか、リクエストが停止しているのかを判断するのに役立ちます。 - 資料を渡し、レポートを受け取る。
attachmentsで差分やメモを絶対パスで渡せます。saveTo/saveDirを使うと、長いレポートをファイルに書き込み、そのパスを返します。usageはトークン数とコストを示します。 - コーディネーター(オプトイン)。
spawnにcoordinatorプランを渡すと、Pi コーディネーターがメンバーに作業を割り当て、1つのメンバーに的を絞った追加質問をし、元のレポートを引用した統合レポートを1つ作成できます。PI_DELEGATE_ALLOW_TOOLSでcodemodeを許可する必要があります。ほとんどの作業では、spawn_batchと自分自身の判断のほうがシンプルです。ワークフロー →
委任先ごとの MCP ツール
委任先は、タスクごとに選択した Pi の mcp.json に登録された MCP サーバー(読み取り専用の GitHub、Serena、ブラウザー、ウェブ検索など)を使用できます。デフォルトでは何も有効になっていません。サーバーを ~/.pi/agent/mcp.json に追加し、pi-durateam の環境変数で正確なツール名を許可し(PI_DELEGATE_ALLOW_TOOLS="mcp__github__get_file_contents,mcp__github__search_code")、再接続してください。その後、呼び出しごとに選択します。
{
"cwd": "/absolute/repo",
"nativeMcp": true,
"mcpServers": ["github"],
"tools": ["mcp__github__get_file_contents"],
"prompt": "Read package.json of OWNER/REPO with GitHub MCP and report its version."
}
- 接続されるのは
mcpServersに指定されたサーバーだけです。そのツールのうち、委任先が利用できるのはtoolsに記載され、PI_DELEGATE_ALLOW_TOOLSで許可されたmcp__<server>__<tool>名のツールだけです。サーバーを選択しても、そのサーバーのすべてのツールが許可されるわけではありません。 - サーバーを選択してもツールが1つも許可されない呼び出しは、何も開始される前に拒否されます。たとえば、
toolsを省略した場合(読み取り専用がデフォルト)、またはcodemodeかtool_searchだけを指定した場合です。この場合、利用できるのはtoolsに指定されたツールだけです。tools: []は引き続きツールを使用しない実行です。 mcp.jsonのサーバーのexposureに応じた名前でツールを指定してください。directの場合はmcp__<server>__<tool>名だけで十分です(上の例)。codemodeの場合はcodemodeを追加し、deferredの場合はtool_searchを追加してください。extensionsはfalseのままでかまいません。バッチタスクはnativeMcpとmcpServersを継承します。コーディネーターのメンバーはそれぞれ自分で選択し、サーバーにはdirectの公開設定が必要です。- 許可された MCP ツールは、
cwdの外部に書き込んだり、動作を実行したりする場合があります。シークレットパスガードは外部サーバーには適用されません。機能の許可は慎重に行ってください。
GitHub、Serena、agent-browser のセットアップ:オプションのツール。ウェブ検索:調査。公開モードと復旧方法:ネイティブ MCP。
Dura:最後まで完了する実行
常時有効
- ターン数、時間、ツール呼び出しの予算があります。
spawnとspawn_batchのデフォルトは30ターン、10分、runのデフォルトは12ターン、5分です。上限はPI_DELEGATE_MAX_TURNS(デフォルトは50)とPI_DELEGATE_MAX_DURATION_MS(デフォルトは15分)です。maxToolCallsはデリゲート自身の呼び出し回数を制限します。 - ターン数またはツール呼び出しの予算の75%に達したとき、あるいは時間の2/3が経過したとき、デリゲートに終了するよう指示します。最後のターンではツールを使用できず、回答のために確保されます。
answerStateは、回答が空(missing)または途中で切れている(partial)ことを示します。回答なしで終了した実行(aborted、error)は、直近の実質的なテキストをsalvagedTextとして返します。完了した結果には、回答したモデル名が記載されます。
オプトイン
- ソフト期限(
PI_DELEGATE_DEADLINE_GRACE_MS):期限に達するとツールが無効になり、新しいツール呼び出しは開始されません。デリゲートには回答するための猶予時間が与えられ、回答がないままの実行だけが中止されます。 - モデルフォールバック(
PI_DELEGATE_FALLBACK_MODELS、または呼び出しごとのfallbackModels):Pi の再試行を経てもプロバイダーエラーが解消しない場合、実行は同じセッション内で次にリストされたモデルを使って続行されます。例:"xai/*:high,antigravity/gemini-*"。当環境では、Codex のクォータエラーが発生しても、数秒以内に Grok で続行されます。 - ツールを呼び出し続けるモデルの場合:
PI_DELEGATE_ANSWER_GRACE=1を設定すると、ツールを使わないターンがもう1回追加されます。PI_DELEGATE_TOOL_CHOICE_NONEを設定すると、そのターンにtoolChoice: "none"が送信されます。PI_DELEGATE_FINISH_THINKINGを設定すると、実行の終了時に思考レベルが引き下げられます。 - 永続セッション(
durable: true):SQLite のチェックポイントを使用します。サーバーの再起動後、セッションは ID、履歴、予算を維持して再開されます。結果が不明なツール呼び出しが、確認なしに再実行されることはありません。完了したセッションは、デフォルトで7日間保持されます(retentionDays、PI_DELEGATE_RETENTION_DAYS)。 handoff:ある Claude/Codex ウィンドウでメモをsaveし、別のウィンドウでreadすると、同じ永続セッションを続行できます。
安全なデフォルト設定
toolsを指定しない呼び出しでは、読み取り専用のセット(read、grep、find、ls、またはPI_DELEGATE_DEFAULT_TOOLS)が使われます。それ以上のツールを使うには、PI_DELEGATE_ALLOW_TOOLSで許可する必要があります。これはサンドボックスではありません。bashを許可されたデリゲートは、あなたができることなら何でも実行できます。- シークレットを含むパス(
.env、~/.ssh、認証情報)は、添付、読み取り、検索の対象として拒否されます。PI_DELEGATE_SECRET_GUARD=0を設定すると、この機能は無効になります。 - セッションはメモリ上に保持され、MCP プロセスの終了とともに終了します。永続ストレージ、フォールバック、ソフト期限、回答猶予ターン、ネイティブ MCP、コーディネーターは、明示的に有効にしない限り無効です。
- デフォルトでは、サーバープロセスごとに同時実行できるデリゲートは最大4つです(
PI_DELEGATE_MAX_CONCURRENT)。解決できないモデル名は拒否され、デフォルトのモデルに置き換えられることはありません。
ドキュメント
MIT · howznguyen/pi-delegate-mcp と Pi Durable を基盤に構築されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。