Skip to main content

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

  1. 1
    Set up your Civic account

    If you haven't already, complete onboarding at app.civic.com:

    1. 1
      Create a free Civic account

      Go to app.civic.com and sign in with Google, GitHub, or email.

    2. 2
      Select 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.

    3. 3
      Get your MCP URL

      Your connection URL is the same for every Civic account:

      https://app.civic.com/hub/mcp

      The 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.

  2. 2
    Configure Goose

    Add the Civic MCP server to your Goose configuration:

    1. Open your Goose configuration file — typically ~/.config/goose/config.yaml (global) or .goose/config.yaml in your project root
    2. Add the following MCP server configuration:
    mcp:
    servers:
    civic:
    type: http
    url: https://app.civic.com/hub/mcp
    name: "Civic"
    note

    Goose supports HTTP endpoints directly, no local bridge required.

  3. 3
    Restart Goose

    Restart Goose to load the new configuration:

    goose restart

    Or if running as a service:

    goose stop
    goose start
  4. 4
    Test 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.

  5. 5
    Authenticate 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.

    note

    Your 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:

  1. 1
    Configure Hub Bridge

    Add this to your Goose configuration:

    mcp:
    servers:
    civic:
    type: stdio
    command: npx
    args: ["-y", "@civic/hub-bridge"]
  2. 2
    Install Node.js

    Make sure Node.js 18+ is installed for the Hub Bridge to work

  3. 3
    Restart and Test

    Restart Goose and test with: "What MCP servers are available?"

Resources