Skip to main content
config/mcp.json lists the MCP servers a session can turn on, in pi’s format. Servers authenticate with headers. In a header, ${GITHUB_TOKEN} is the session’s GitHub token, the one it uses for git, limited to its repository and renewed on every dispatch, so GitHub’s MCP server needs no token of its own:
A turn’s mcp lists the servers to turn on, from mcp.json or registered by an extension with pi.registerMcpServer(). The session keeps the list until a turn sends another, and subagents use it:
Each server’s tools are named mcp__<server>__<tool> and run as recorded steps under policy. A server’s tool list is recorded too, so a replay builds the same prompt without connecting.