Goose Setup
Overview
Goose (Block's autonomous developer agent) now supports direct remote HTTP endpoints for connecting to Civic MCP servers with full OAuth2 support.
Prerequisites
Setup with Remote HTTP Endpoint
- 1Set up your Civic account
If you haven't already, complete onboarding at app.civic.com:
- 1Create a free Civic account
Go to app.civic.com and sign in with Google, GitHub, or email.
- 2Select your MCP servers
During onboarding, choose which services you want your AI to access — GitHub, Slack, Google Workspace, Dropbox, and more. This creates your default toolkit.
- 3Get your MCP URL
Your connection URL is the same for every Civic account:
https://app.civic.com/hub/mcpThe URL is not personalized — what makes it yours is authentication. When you connect your client and complete the OAuth flow, Civic links that session to your account and toolkit.
- 2Configure Goose
Add the Civic MCP server to your Goose configuration:
- Open your Goose configuration file — typically
~/.config/goose/config.yaml(global) or.goose/config.yamlin your project root - Add the following MCP server configuration:
mcp:servers:civic:type: httpurl: https://app.civic.com/hub/mcpname: "Civic"noteGoose supports HTTP endpoints directly, no local bridge required.
- Open your Goose configuration file — typically
- 3Restart Goose
Restart Goose to load the new configuration:
goose restartOr if running as a service:
goose stopgoose start - 4Test Connection
Verify the connection is working:
"What MCP servers are available?""Show me my connected tools"Goose should respond with the list of available Civic tools.
- 5Authenticate with Civic
On the first tool call, Goose opens a browser window to app.civic.com. Sign in with your Civic account to authorize the session. This is a one-time OAuth flow — credentials are cached after the first login.
Individual services (GitHub, Slack, etc.) will each prompt for their own OAuth authorization the first time you use them.
noteYour service credentials are never exposed to Goose or stored locally. Civic manages OAuth tokens on your behalf.
Alternative: Hub Bridge Setup
If you prefer to use the local Hub Bridge instead of direct HTTP endpoints:
- 1Configure Hub Bridge
Add this to your Goose configuration:
mcp:servers:civic:type: stdiocommand: npxargs: ["-y", "@civic/hub-bridge"] - 2Install Node.js
Make sure Node.js 18+ is installed for the Hub Bridge to work
- 3Restart and Test
Restart Goose and test with: "What MCP servers are available?"