feat(harness): add pi (Pi coding agent) descriptor #18
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat-harness-pi"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds the 8th harness — Pi (pi.dev) — closing the last descriptor from phase 3.
Findings
mcpServers(top-level), remote server viaurl+headers: {Authorization: "Bearer …"}. Config paths include.mcp.json(collides with Claude) and the Pi-specific.pi/mcp.json.Descriptor
.pi/mcp.json(project) /~/.pi/agent/mcp.json(global) — Pi-specific, avoids stomping Claude's.mcp.json.mcpServers.wraptool = {url, headers:{Authorization: Bearer}}.AuthHeader.order/help/--harnessflags; usable viainit --harness piandup --harness pi.Verified
init --harness pi→.pi/mcp.jsonwith themcpServers/urlshape (+ Bearer with a token). Full suite + lint clean.Caveat
Requires
pi-mcp-adapterinstalled; the remote-entry shape is from the adapter README, not tested against a live Pi. Easy to tweak if your adapter version differs (e.g. needs atypefield or theauth/bearerTokenform).🤖 Generated with Claude Code
Adds the eighth harness. Pi has no native MCP; the third-party pi-mcp-adapter (github.com/nicobailon/pi-mcp-adapter) reads its config. Write the Pi-specific .pi/mcp.json (project) / ~/.pi/agent/mcp.json (global) so it never collides with claude's .mcp.json, using the adapter's remote shape: mcpServers → {url, headers:{Authorization: Bearer}}. Auth = AuthHeader (the adapter supports a static bearer header). Verified: `init --harness pi` writes .pi/mcp.json with the mcpServers/url shape (+ Bearer when a token is set). Registered in order/help/flags. Tests + lint clean. Caveat: Pi requires pi-mcp-adapter installed; the exact remote-entry shape is from the adapter README, not tested against a live Pi. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>