Connect Goose to Busabase
Block's open-source terminal agent, where MCP servers are called "extensions".
Paste this into Goose
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.
npx skills add busabase/skillsPrefer a connector?
If you would rather wire Busabase in as MCP tools than let the agent install a skill, use the server URL below.
Goose MCP documentationAt a glance
- Vendor
- Block
- How it connects
- MCP + OAuth · MCP + API key · Plugin / Skill
- Transport
- Streamable HTTP
- Authentication
- OAuth (dynamic registration)
- Config file
- ~/.config/goose/config.yaml
goose configure
# → Add Extension → Remote Extension (Streamable HTTP)
# → name: busabase
# → URI: https://busabase.com/api/mcpRun the interactive configurator:
goose configure
Choose Add Extension → Remote Extension (Streamable HTTP), name it busabase, and paste https://busabase.com/api/mcp as the URI.
This writes into ~/.config/goose/config.yaml (Windows: %APPDATA%\Block\goose\config\config.yaml) with type: streamable_http and a uri field. Remote extensions that require OAuth normally obtain a client ID automatically — via a Client ID Metadata Document or Dynamic Client Registration — and sign you in; ask Goose to call auth_verify to confirm. A static Authorization: Bearer <key> header in the same config remains an option for instances that use an API key instead.
Known gotchas
Goose is the odd one out on naming: the field is `uri`, not `url`, and the transport is `streamable_http` with an underscore. Copying another client's snippet verbatim will not work. OAuth note (docs rechecked 2026-11-09): remote extensions normally get a client ID automatically via CIMD or Dynamic Client Registration; only a server supporting neither needs a pre-registered `client_id` (and `client_secret_key` for confidential clients) on the extension. The OAuth callback is served on 127.0.0.1 with an ephemeral port — set `GOOSE_OAUTH_CALLBACK_PORT` when the authorization server only allows a fixed port.
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 | 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 Goose
Read https://busabase.com/SETUP_SKILL.md and set up Busabase for me. Follow it through to the end, then confirm the connection works.