MCP server: One MCP server.

Pi Worker MCP

MCP server · External · @zguiyang

A host-agnostic MCP worker runtime for supervising local Pi coding-agent processes.

Free to use.

@zguiyang/pi-worker-mcp

A host-agnostic MCP worker runtime for supervising local Pi coding-agent processes. It uses local stdio MCP and Pi RPC; it is not a hosted service and does not manage Pi credentials, providers, or default models.

Quick start

Prerequisites: Node.js 20+, a locally installed and configured pi executable, and Git when using isolated worktrees.

npx -y @zguiyang/pi-worker-mcp@latest setup

The setup command selects supported hosts and pins their launch configuration to the exact CLI version. A host never silently drifts to a new release.

Supported hosts and scope

HostGlobalProjectConfiguration
Codex~/.codex/config.toml.codex/config.tomlTOML mcp_servers
Zed~/.zed/settings.json on macOS.zed/settings.jsonJSON context_servers
OpenCode~/.config/opencode/opencode.jsonopencode.jsonJSON mcp.servers

Project scope is relative to the directory where setup runs. Zed starts project-defined MCP servers only after the worktree is trusted. Existing configuration is minimally merged; uninstall removes only this server’s entry.

npx -y @zguiyang/pi-worker-mcp@0.1.1 setup --host codex --scope project
npx -y @zguiyang/pi-worker-mcp@0.1.1 setup --host opencode --scope global

Manual / generic MCP configuration

Any stdio MCP client can launch:

command: npx
args:    -y @zguiyang/pi-worker-mcp@0.1.1 serve

This is the release configuration. Do not point user installations at a checkout’s dist/ directory.

Commands

pi-worker-mcp serve
pi-worker-mcp setup [--host codex|zed|opencode] [--scope project|global]
pi-worker-mcp doctor [--host …] [--scope …]
pi-worker-mcp update [--host …] [--scope …]
pi-worker-mcp uninstall [--host …] [--scope …]
pi-worker-mcp version

doctor checks Node, the local Pi executable, and selected host configuration without starting a model task or exposing credentials. update is not a package manager: run a newer CLI via npm/npx and it updates only selected configuration pins. uninstall never removes a whole host config, Pi config, Skills, or npm cache.

Model ownership and host independence

Pi owns provider authentication, available models, and its default model. The worker runtime can validate an optional per-worker override and report the effective model, but never configures credentials. Core runtime behavior—Pi RPC, lifecycle, model semantics, concurrency, and permissions—is independent of Codex, Zed, and OpenCode. Host adapters only read, merge, and remove launch configuration.

MCP tools

pi_spawn, pi_status, pi_steer, pi_continue, pi_abort, and pi_list supervise bounded local workers. Successful spawn/continuation means Pi accepted work, not that it is correct; the supervising agent must inspect results and integrate changes. Use worktree mode for isolated implementation work.

Runtime configuration

Environment variableDefaultPurpose
PI_WORKER_COMMANDpiPi executable
PI_WORKER_MAX_WORKERS4Maximum live workers
PI_WORKER_RPC_TIMEOUT_MS15000Per-RPC timeout
PI_WORKER_IDLE_TIMEOUT_MS600000Idle deadline; 0 disables it
PI_WORKER_TASK_TIMEOUT_MS3600000Activity-cycle deadline
PI_WORKER_ALLOWED_ROOTScurrent directoryPath-delimited allowed roots

No secret environment variable is required; Pi reads its own local authentication configuration.

Development from source

Source mode is only for contributors:

npm install
npm run build
node dist/index.js serve

For release-equivalent testing, use npm pack and execute the resulting .tgz from a clean temporary directory. npm link is not package acceptance.

Registry metadata

server.json follows the official MCP Registry schema and declares an npm stdio package representation. npm and Registry publication remain separate, explicit actions.

License

MIT