mcpField
P
Pi Durabletask MCP

Pi Durabletask MCP

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

Pi Durabletask MCP について

Pi Durabletask MCPは、現在 pi-durateam としてインストールされ、Claude CodeとCodexを複数プロバイダーのPiエージェントに接続します。並列実行やタスクの制御に対応し、任意でセッションを永続化できます。

主な機能

  1. 01委任タスクを個別または並列で実行
  2. 02複数モデルに同じプロンプトを送信
  3. 03完了セッションから分岐して質問
  4. 04実行中のタスクを制御・継続・停止
  5. 05実行予算と任意の復旧機能を設定

活用シーン

  1. 01複数モデルでコード差分をレビュー
  2. 02リポジトリ調査と相互確認を委任
  3. 03サーバー再起動後にタスクを継続
  4. 04長いレポートをファイルで受け取る

MCP 対応

Claude CodeとCodex向けのMCPサーバーとして動作し、Piエージェントへのタスク投入、監視、制御、結果取得のツールを提供します。Piで設定したMCPサーバーのツールを、委任先に選択して許可できます。

設定

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

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

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

パッケージ
npmpi-durabletask-mcp0.7.12

ツール

14

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
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 はデフォルトで呼び出しごとに最大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 は委任先には影響しません。tools に記載されたすべてのツールは委任先に直接宣言されるため、対話型の Pi ではサーバーを deferred または codemode のままにできます。hidden に設定されたツールにはアクセスできません。スクリプト化されたループでのみ tools に codemode を追加してください。スクリプトも同じ名前付きツールにアクセスします。
  • extensions は false のままでもかまいません。バッチタスクは nativeMcp と mcpServers を引き継ぎます。コーディネーターのメンバーは、それぞれ独自に選択します。
  • 許可された 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 つのサーバーを複数のクライアントで再利用できます。