> ## Documentation Index
> Fetch the complete documentation index at: https://docs.civic.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Goose Setup

> Connect Goose autonomous developer agent to Civic

## Overview

Goose (Block's autonomous developer agent) now supports direct remote HTTP endpoints for connecting to Civic MCP servers with full OAuth2 support.

## Prerequisites

<CardGroup cols={2}>
  <Card title="Goose" icon="terminal" href="https://github.com/block/goose">
    Install Goose autonomous developer agent
  </Card>

  <Card title="Civic Account" icon="user" href="https://app.civic.com">
    Create a free account on app.civic.com
  </Card>
</CardGroup>

## Setup with Remote HTTP Endpoint

<Steps>
  <Step title="Set up your Civic account">
    If you haven't already, complete onboarding at app.civic.com:

    <Steps>
      <Step title="Create a free Civic account">
        Go to [app.civic.com](https://app.civic.com) and sign in with Google, GitHub, or email.
      </Step>

      <Step title="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.
      </Step>

      <Step title="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.
      </Step>
    </Steps>
  </Step>

  <Step title="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:

    ```yaml theme={null}
    mcp:
      servers:
        civic:
          type: http
          url: https://app.civic.com/hub/mcp
          name: "Civic"
    ```

    <Note>
      Goose supports HTTP endpoints directly, no local bridge required.
    </Note>
  </Step>

  <Step title="Restart Goose">
    Restart Goose to load the new configuration:

    ```bash theme={null}
    goose restart
    ```

    Or if running as a service:

    ```bash theme={null}
    goose stop
    goose start
    ```
  </Step>

  <Step title="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.
  </Step>

  <Step title="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.
    </Note>
  </Step>
</Steps>

## Alternative: Hub Bridge Setup

If you prefer to use the local Hub Bridge instead of direct HTTP endpoints:

<Steps>
  <Step title="Configure Hub Bridge">
    Add this to your Goose configuration:

    ```yaml theme={null}
    mcp:
      servers:
        civic:
          type: stdio
          command: npx
          args: ["-y", "@civic/hub-bridge"]
    ```
  </Step>

  <Step title="Install Node.js">
    Make sure Node.js 18+ is installed for the Hub Bridge to work
  </Step>

  <Step title="Restart and Test">
    Restart Goose and test with: "What MCP servers are available?"
  </Step>
</Steps>

## Resources

<CardGroup cols={2}>
  <Card title="Client Compatibility" icon="table" href="/civic/reference/client-compatibility">
    Goose MCP support details (Remote URL method)
  </Card>

  <Card title="Claude Desktop Guide" icon="desktop" href="/civic/quickstart/clients/claude-desktop">
    Similar Remote URL setup process
  </Card>

  <Card title="Troubleshooting" icon="wrench" href="/civic/troubleshooting">
    Common connection issues
  </Card>

  <Card title="Get Help" icon="slack" href="https://join.slack.com/t/civic-developers/shared_invite/zt-37tv9fyo7-aDT43mUjOFQwdQFmfZLTRw">
    Join our developer community for Goose setup help
  </Card>
</CardGroup>
