
Pi Durateam
io.github.NyarlathotepppppPublished by GitHub account Nyarlathotepppppv0.7.12Updated Oct 28, 2026
Pi agent teams on any provider: parallel delegates, forks, MCP tools; runs built to finish.
Overview
Runs a team of Pi delegate agents on any model provider, so your main agent can fan out parallel reading, searching and review tasks and get back compact…
- What you can do
- Start, batch, run and collect delegate tasks, including the same question to several models and forks that reuse a finished session's transcript
- Steer, answer, follow up on, abort and check the status of running or finished delegates
- Pass attachments by path, save long reports to files, and read token usage and cost
- Grant selected MCP servers and named tools to individual delegates
- Opt into a coordinator that dispatches members and writes one synthesis
- Inspect available models, provider credentials and settings
- When to use it
- Useful when a task benefits from several models or parallel readers — reviewing a diff, cross-checking findings, or reading a large codebase — while keeping your main Claude Code or Codex session small. Also handy for long runs that need turn and time budgets, fallback models or resumable sessions.
- Requirements
- macOS or Linux, Node.js 22.19+ and Pi installed and logged in to a provider; the npm package pi-durateam is installed globally and registered as a stdio MCP server. Model calls use your own provider credentials. Optional features are configured through PI_DELEGATE_* environment variables.
Installation
In SourceWeft
- Open Pi Durateam in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[pi-durateam — Split work across models. Bring findings together.]
English · 简体中文
pi-durateam
A team of Pi agents for Claude Code and Codex, on any provider, with runs built to finish.
[npm] [CI] [Node.js] [License: MIT]
Quick start · Team · MCP tools · Dura · Reference
Renamed from
pi-durabletask-mcp: installpi-durateam. The old command still works; configuration,PI_DELEGATE_*variables, stored state and tool names are unchanged.
Your main agent plans, picks the models and judges the results. The reading, searching and cross-checking run on Pi delegates — Gemini, Grok, GPT, DeepSeek or any other provider Pi supports — and spend those quotas instead of your Claude Code or Codex one; what comes back is a compact status and the final report, or just a file path. In our own pre-release review, four agents read about two million tokens of this codebase on Gemini, Grok and a GPT model, and our Claude session received about 7 KB of reports.
- team — one task or several in parallel, the same question to several models, forks that read once and answer many questions, an opt-in coordinator, and MCP servers (read-only GitHub, a browser) granted per delegate.
- dura — every run has turn and time budgets and a last turn without tools, reserved for the answer.
maxToolCallsadds an optional tool-call cap. Opt in to a soft deadline, model fallback on provider errors, and sessions that survive a server restart.
For example, ask your agent: "Use Pi to review the attached diff with Gemini, Grok and GPT in parallel. Don't edit files. Report only real defects with file:line." It calls spawn_batch with one shared prompt and three models, collects with wait, and gets three independent reports with token usage and cost.
Quick start
Requires macOS or Linux, Node.js 22.19+ and Pi. CI runs Node.js 22 and 24 against Pi 1.0.0, 1.0.4, 1.1.0 and 1.3.0. Model calls use your own provider credentials.
1 · Install Pi (skip if you have it) and log in to a provider:
2 · Install pi-durateam:
Or install from source
3 · Connect. Claude Code:
Codex (~/.codex/config.toml):
The Codex desktop app starts MCP servers with a minimal PATH (no Homebrew or nvm directories), so it may find neither pi-durateam nor the node it runs on. The server then never starts and the session simply has no Pi tools. Use absolute paths there:
Reconnect the MCP server after updating pi-durateam or Pi. Other clients →
4 · Try it: "Use Pi to check the auth module for missing permission checks. Read only." init shows models, provider credentials and settings; models lists what delegates may use.
Optional: install the Agent Skill
The skill teaches your agent the workflow. Put SKILL.md in your client's skills directory:
Team: several models on one job
- Delegate.
spawnstarts one task in the background and returns asessionIdat once.spawn_batchstarts up to 4 per call by default (PI_DELEGATE_BATCH_MAX) and checks every task first, so nothing starts if one is bad.runblocks, for quick questions. Collect withwaitanduntil: "settled". - One question, several models. A batch-level
promptgoes to every task; each task names itsmodel, and its ownpromptis appended. Different model families miss different things, but agreement is not proof: verify findings before acting. - Read once, ask many.
forkFromstarts new tasks from a finished session's transcript, including the files it already read; each fork gets fresh budgets. - Steer and continue.
steera running delegate,answerits questions,follow_upa finished one (it keeps what it read),abortwhen needed.statusreportsidleMsandphase, which tell slow reasoning from a hung request. - Material in, reports out.
attachmentspasses a diff or notes by absolute path;saveTo/saveDirwrite long reports to files and return the path;usagegives tokens and cost. - Coordinator (opt-in). Pass a
coordinatorplan tospawn: a Pi coordinator dispatches your members, can ask one a targeted follow-up, and writes one synthesis that cites the original reports. RequirescodemodeinPI_DELEGATE_ALLOW_TOOLS. For most workspawn_batchand your own judgment are simpler. Workflow →
MCP tools per delegate
A delegate can use MCP servers from Pi's mcp.json — read-only GitHub, Serena, a browser, web search — selected per task; nothing is on by default. Add the server to ~/.pi/agent/mcp.json, permit its exact tool names in pi-durateam's environment (PI_DELEGATE_ALLOW_TOOLS="mcp__github__get_file_contents,mcp__github__search_code") and reconnect. Then select them per call:
- Only the servers in
mcpServersare connected. Of their tools, the delegate gets only themcp__<server>__<tool>names listed intoolsand permitted byPI_DELEGATE_ALLOW_TOOLS; selecting a server never grants all of its tools. - A call that selects servers but grants none of their tools is refused before anything starts — for example with
toolsomitted (the read-only default), or with onlycodemodeortool_search, which reach only tools named intools. Granting only tools hidden inmcp.jsonis refused too.tools: []remains a tool-free run. - The server's
exposureinmcp.jsondoes not matter to delegates: every tool named intoolsis declared to the delegate directly, so you can keep serversdeferredorcodemodethere for interactive Pi. Tools set tohiddenstay unreachable. Addcodemodetotoolsonly for scripted loops; scripts reach the same named tools. extensionscan stayfalse. Batch tasks inheritnativeMcpandmcpServers; coordinator members select their own.- A permitted MCP tool may write or act outside
cwd, and the secret-path guard does not cover external servers. Grant capabilities deliberately.
Setup for GitHub, Serena and agent-browser: optional tools. Web search: research. Details and recovery: native MCP.
Dura: runs built to finish
Always on
- Turn and time budgets.
spawnandspawn_batchdefault to 30 turns and 10 minutes,runto 12 turns and 5 minutes; the ceilings arePI_DELEGATE_MAX_TURNS(default 50) andPI_DELEGATE_MAX_DURATION_MS(default 15 minutes).maxToolCallsoptionally caps the delegate's own calls. - At 75% of the turn budget or tool-call cap (if
maxToolCallsis set), or after 2/3 of the time, the delegate is told to wrap up; its last turn has no tools and is reserved for the answer. answerStateflags an empty (missing) or cut-off (partial) answer. A run that ends without an answer (aborted,error) returns its latest substantial text assalvagedText. Finished results name the model that answered.
Opt-in
- Soft deadline (
PI_DELEGATE_DEADLINE_GRACE_MS): at the deadline the tools go, no new tool call starts, and the delegate has this long to answer; only a run still without an answer is aborted. - Model fallback (
PI_DELEGATE_FALLBACK_MODELS, orfallbackModelsper call): after a provider error that outlasts Pi's retries, the run continues in the same session on the next model listed, e.g."xai/*:high,antigravity/gemini-*". In our use, a Codex quota error now continues on Grok within seconds. - For models that keep calling tools:
PI_DELEGATE_ANSWER_GRACE=1gives one more tool-free turn,PI_DELEGATE_TOOL_CHOICE_NONEsendstoolChoice: "none"on that turn,PI_DELEGATE_FINISH_THINKINGlowers the thinking level once a run is wrapping up. - Durable sessions (
durable: true): SQLite checkpoints; after a server restart the session resumes with its id, history and budgets, and a tool call whose outcome is unknown is never blindly replayed. Finished ones are kept for 7 days by default (retentionDays,PI_DELEGATE_RETENTION_DAYS). handoff:savea note in one Claude/Codex window,readit in another to continue the same durable session.
Safe defaults
- A call that omits
toolsgets the read-only set (read,grep,find,ls, or yourPI_DELEGATE_DEFAULT_TOOLS); anything more must be permitted withPI_DELEGATE_ALLOW_TOOLS. This is not a sandbox: a delegate givenbashcan do anything you can. - Secret paths (
.env,~/.ssh, credentials) are refused for attachments, reads and searches;PI_DELEGATE_SECRET_GUARD=0turns this off. - Sessions live in memory and end with the MCP process. Durable storage, fallback, the soft deadline, the answer grace turn, native MCP and the coordinator are off unless you turn them on.
- By default at most 4 delegates run at once per server process (
PI_DELEGATE_MAX_CONCURRENT). A model name that does not resolve is refused, never replaced by the default.
Documentation
- Reference: tools, configuration, authentication, native MCP
- Optional MCP tools · Web research · Review and synthesize · Coordinator
- Development · Changelog · Issues
MIT · Built on howznguyen/pi-delegate-mcp and Pi Durable.
Source: README.md at commit 15a6193
Tools
0Version history
1- v0.7.12LatestOct 26, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts