mcpField
P
Pi Durateam

Pi Durateam

ローカル
github.comAI・エージェント16今日更新

Pi Durateam について

Pi Durateam は Claude Code と Codex 向けに Pi エージェントを実行する MCP サーバーで、対応する複数のモデルプロバイダーを使った並列タスクにも対応します。レポートやファイルパスを返し、実行予算、任意の永続セッション、委任先ごとの MCP ツール制御を備えています。

主な機能

  1. 01委任タスクの並列実行
  2. 02同じプロンプトを複数モデルに割り当て
  3. 03完了セッションからタスクを分岐
  4. 04実行の誘導、継続、中止
  5. 05実行予算と回答チェックの設定
  6. 06任意の永続セッション再開

活用シーン

  1. 01複数モデルによるコード差分のレビュー
  2. 02調査や相互確認タスクの分割
  3. 03セッションをまたいだ委任作業の継続
  4. 04委任先への特定 MCP ツールの提供

MCP 対応

Claude Code や Codex などの MCP クライアントに、タスク委任とセッション管理のツールを提供します。委任タスクには、設定済み MCP サーバーの指定ツールをタスク単位で許可できます。

設定

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

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

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

パッケージ
npmpi-durateam0.7.12

ツール

14

掲載時のツール一覧 · 2 日前に更新

パラメーター型必須説明
cwdstringいいえ委任先のリポジトリです。プロジェクトローカルの pi モデルスコープを読み込みます。
modelsstringいいえモデルリストを絞り込む部分文字列(例:"deepseek")

詳細

pi-durateam — モデルに作業を分担し、知見をまとめます。

English · 简体中文

pi-durateam

あらゆるプロバイダーで利用できる、Claude Code と Codex 向けの Pi エージェントチームです。最後まで完了できるように実行を設計しています。

npm CI Node.js License: MIT

クイックスタート · チーム · MCP ツール · Dura · リファレンス

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"
## チーム:1つのジョブを複数のモデルで処理
  • 委任する。 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 を基盤に構築されています。

コメント

MCP は初めてですか?

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

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