Connect Pi to Busabase
Minimal, extensible terminal agent harness with native Agent Skills discovery and shell tools.
Paste this into Pi
Read https://busabase.com/SETUP_SKILL.md and set up Busabase for me. Follow it through to the end, then confirm the connection works.

Give your agent this one instruction
You end up with more than a connector: the busabase skill carries the whole change-request workflow, the CLI, and the full API — available in every future session without re-pasting anything.
Asks first
Busabase Cloud or Personal Desktop — your call, before anything happens.
Connects
Signs you in and stores the credential itself. No API key to copy by hand.
Seeds a Base
Creates and fills your first Base, so the workspace is not an empty screen.
Installs the skills
busabase and busabase-app-creator become permanent, for every session after this.
For this agent
Pi discovers ~/.agents/skills and project .agents/skills. It intentionally has no built-in sandbox or permission system, so run setup only in a trusted repository and account.
Prefer a connector?
If you would rather wire Busabase in as MCP tools than let the agent install a skill, use the server URL below.
At a glance
- Vendor
- Earendil Works
- How it connects
- MCP + OAuth · MCP + API key · Plugin / Skill · busabase-cli · REST API
- Transport
- Streamable HTTP
- Authentication
- OAuth (dynamic registration)
- Config file
- ~/.pi/agent/mcp.json (project: .pi/mcp.json, needs project trust)
npm exec -y --package busabase-cli@latest -- busabase-cli login --device-codePi has bash access and discovers Agent Skills from ~/.agents/skills and project .agents/skills, so the Skill path applies: ask Pi Read https://busabase.com/SETUP_SKILL.md and set up Busabase for me.
Prefer a connector?
Pi now documents remote MCP servers. Add Busabase to ~/.pi/agent/mcp.json (user-level; a project .pi/mcp.json entry with the same name overrides it, but only after you grant that project trust):
{
"mcpServers": {
"busabase": {
"url": "https://busabase.com/api/mcp"
}
}
}
or from the shell:
pi mcp add busabase --url https://busabase.com/api/mcp
Run pi mcp login busabase (or /mcp → select busabase → Sign in, in a session) to complete OAuth. Pi registers its own OAuth client automatically — no client id or secret needed — and requests whatever scope Busabase's server advertises, so you do not need to set oauth.scope. Sign out with pi mcp logout busabase.
Ask the agent to call auth_verify to confirm the connection.
For a manual fallback or scripted use, busabase-cli and the REST API at /api/v1 still work:
npm exec -y --package busabase-cli@latest -- busabase-cli login --device-code
npx busabase-cli bases list
Known gotchas
Pi's remote MCP support uses `url` entries that select streamable HTTP; the legacy SSE transport is not supported. Project-level `.pi/mcp.json` is only read after you grant that project trust, so a server added there silently does nothing until trust is granted. This row previously said Pi had no MCP client — that was true of an earlier version; Pi's own docs now cover it.
How it compares
Connection capabilities side by side with other agents already in this directory.
| Capability | |||
|---|---|---|---|
| Type | Terminal agents | Terminal agents | AI editors |
| Recommended path | Agent Skill | Agent Skill | Agent Skill |
| How it connects | MCP + OAuth · MCP + API key · Plugin / Skill · busabase-cli · REST API | MCP + OAuth · Plugin / Skill | MCP + OAuth · Plugin / Skill |
| Transport | Streamable HTTP | Streamable HTTP | Streamable HTTP |
| Authentication | OAuth (dynamic registration) | OAuth (dynamic registration) | OAuth (dynamic registration) |
Written from this agent's own documentation. We have not re-run every step on a real machine, so check the linked docs if a command has changed.
Let your agent do the setup
One instruction, one authorization, and every change it makes afterwards carries a message and a diff you can check or revert.
Browse every agentPaste this into Pi
Read https://busabase.com/SETUP_SKILL.md and set up Busabase for me. Follow it through to the end, then confirm the connection works.