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

# Connect Your Client

> Connect the Brew MCP server to ChatGPT, Claude, Grok, Cursor, Codex, VS Code, and any major MCP client with OAuth.

Every client connects to the **same clean endpoint**:

```
https://brew.new/api/mcp
```

Brew is its own **OAuth 2.1 connector**, so the first-party flow needs **no key to copy**: add the URL, **sign in with Brew**, and **pick a brand**. The issued token is scoped to that brand and revocable anytime in **Settings → API**.

The `brew:all` scope gives the connected client full access to the one brand you select. It can read and change that brand's emails, audiences, contacts, automations, sending setup, and analytics. Select only a brand you intend that client to use.

<Tip>
  Wiring up a headless / CI setup, or a client with no OAuth UI? Send a
  brand-scoped key as `Authorization: Bearer brew_…` instead. See [the API-key
  alternative](#alternative-connect-with-an-api-key) below.
</Tip>

Pick your agent:

<Tabs>
  <Tab title="Claude Desktop" icon="https://logos.context.dev/?publicClientId=brandLL_33f524ff82fe90e2ef89225570db29a43c6d814badd92873&domain=claude.com">
    <Steps>
      <Step title="Add a custom connector">
        Open **Settings → Connectors**, click **Add custom connector**, and paste the connection URL:

        ```
        https://brew.new/api/mcp
        ```
      </Step>

      <Step title="Connect">
        Click **Connect**, sign in with Brew, and pick a brand.
      </Step>
    </Steps>

    <Note>Works with Claude Desktop and claude.ai.</Note>
  </Tab>

  <Tab title="ChatGPT" icon="https://logos.context.dev/?publicClientId=brandLL_33f524ff82fe90e2ef89225570db29a43c6d814badd92873&domain=openai.com">
    <Steps>
      <Step title="Enable Developer mode">
        Open **Settings → Security and login** and enable **Developer mode**.
      </Step>

      <Step title="Create the Brew plugin">
        Open **Settings → Plugins**, select **+**, and create a plugin named **Brew**. Choose **Server URL**, paste the URL below, and select **OAuth** authentication:

        ```
        https://brew.new/api/mcp
        ```
      </Step>

      <Step title="Approve brand access">
        Sign in with Brew, pick the brand ChatGPT should use, review the disclosed full-brand access, and approve it.
      </Step>

      <Step title="Enable Brew in a new chat">
        Start a new chat and enable **@Brew** from the Plugins menu.
      </Step>

      <Step title="Verify the catalog">
        Ask Brew to call `get_brew_capabilities`. A successful response confirms that ChatGPT loaded the current action catalog.
      </Step>
    </Steps>

    <Note>If an older cached plugin reports an invalid action schema, refresh its actions first. Remove and re-add Brew only after the corrected endpoint is deployed and only if refresh does not work. Your existing OAuth grant remains valid.</Note>
  </Tab>

  <Tab title="Grok" icon="https://logos.context.dev/?publicClientId=brandLL_33f524ff82fe90e2ef89225570db29a43c6d814badd92873&domain=x.ai">
    <Steps>
      <Step title="Create a custom connector">
        Open [grok.com/connectors](https://grok.com/connectors), select **New Connector → Custom**, name it **Brew**, and paste:

        ```
        https://brew.new/api/mcp
        ```
      </Step>

      <Step title="Authenticate">
        Start authentication, sign in with Brew, select a brand, review the full-brand access, and approve it.
      </Step>

      <Step title="Verify in a new chat">
        Start a new Grok chat, enable Brew, and ask it to call `get_brew_capabilities`.
      </Step>
    </Steps>

    <Note>Grok CLI: run `grok mcp add --transport http brew https://brew.new/api/mcp`, authenticate from `/mcps` if needed, then run `grok mcp doctor brew`.</Note>
  </Tab>

  <Tab title="Claude Code" icon="https://logos.context.dev/?publicClientId=brandLL_33f524ff82fe90e2ef89225570db29a43c6d814badd92873&domain=claude.com">
    <Steps>
      <Step title="Add the server">
        Run this in your terminal:

        ```bash theme={null}
        claude mcp add --transport http brew "https://brew.new/api/mcp"
        ```
      </Step>

      <Step title="Sign in">
        Claude opens your browser to sign in with Brew and pick a brand.
      </Step>

      <Step title="Verify">
        Start a session and run `/mcp` to confirm Brew is connected.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Cursor" icon="https://logos.context.dev/?publicClientId=brandLL_33f524ff82fe90e2ef89225570db29a43c6d814badd92873&domain=cursor.com">
    <Steps>
      <Step title="Open your MCP config">
        `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` (this project).
      </Step>

      <Step title="Add the brew server">
        ```json theme={null}
        {
          "mcpServers": {
            "brew": {
              "url": "https://brew.new/api/mcp"
            }
          }
        }
        ```
      </Step>

      <Step title="Sign in">
        Cursor opens your browser to sign in with Brew, then check **Settings → MCP** for a green dot.
      </Step>
    </Steps>
  </Tab>

  <Tab title="OpenCode" icon="https://logos.context.dev/?publicClientId=brandLL_33f524ff82fe90e2ef89225570db29a43c6d814badd92873&domain=opencode.ai">
    <Steps>
      <Step title="Open your config">
        `~/.config/opencode/opencode.json`.
      </Step>

      <Step title="Add the brew server">
        ```json theme={null}
        {
          "mcp": {
            "brew": {
              "type": "remote",
              "url": "https://brew.new/api/mcp",
              "enabled": true
            }
          }
        }
        ```
      </Step>

      <Step title="Sign in">
        Run `opencode mcp auth brew`, sign in with Brew, and pick a brand. Run `opencode mcp list` to confirm Brew is connected.
      </Step>
    </Steps>
  </Tab>

  <Tab title="VS Code" icon="https://logos.context.dev/?publicClientId=brandLL_33f524ff82fe90e2ef89225570db29a43c6d814badd92873&domain=code.visualstudio.com">
    <Steps>
      <Step title="Create .vscode/mcp.json">
        ```json theme={null}
        {
          "servers": {
            "brew": {
              "type": "http",
              "url": "https://brew.new/api/mcp"
            }
          }
        }
        ```
      </Step>

      <Step title="Start & sign in">
        Click **Start** in the `mcp.json` gutter and sign in with Brew when prompted. Brew appears in the agent-mode tools picker.
      </Step>
    </Steps>

    <Note>Requires GitHub Copilot **agent mode**.</Note>
  </Tab>

  <Tab title="OpenAI Codex" icon="https://logos.context.dev/?publicClientId=brandLL_33f524ff82fe90e2ef89225570db29a43c6d814badd92873&domain=openai.com">
    <Steps>
      <Step title="Add the brew server">
        Open `~/.codex/config.toml` and add:

        ```toml theme={null}
        [mcp_servers.brew]
        url = "https://brew.new/api/mcp"
        ```
      </Step>

      <Step title="Sign in">
        Run `codex mcp login brew`, sign in with Brew, and pick a brand. Start Codex and use `/mcp` to confirm Brew is connected.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Manus" icon="https://logos.context.dev/?publicClientId=brandLL_33f524ff82fe90e2ef89225570db29a43c6d814badd92873&domain=manus.im">
    <Steps>
      <Step title="Add a custom MCP server">
        Open **Manus → Settings → MCP / Connectors** and add a custom MCP server with the connection URL:

        ```
        https://brew.new/api/mcp
        ```
      </Step>

      <Step title="Connect">
        Sign in with Brew and pick a brand.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Windsurf" icon="https://logos.context.dev/?publicClientId=brandLL_33f524ff82fe90e2ef89225570db29a43c6d814badd92873&domain=windsurf.com">
    <Steps>
      <Step title="Open the raw config">
        **Settings → Cascade → MCP Servers → View raw config** (`~/.codeium/windsurf/mcp_config.json`).
      </Step>

      <Step title="Add the brew server">
        Add Brew as a remote Streamable HTTP server. Current Windsurf builds accept `serverUrl` or `url`; this example uses `serverUrl`:

        ```json theme={null}
        {
          "mcpServers": {
            "brew": {
              "serverUrl": "https://brew.new/api/mcp"
            }
          }
        }
        ```
      </Step>

      <Step title="Refresh & sign in">
        Click **Refresh** in the MCP panel and sign in with Brew when prompted.
      </Step>
    </Steps>

    <Note>Windsurf limits the total enabled MCP tool count to 100. Brew currently exposes 69 tools.</Note>
  </Tab>

  <Tab title="Cline" icon="https://logos.context.dev/?publicClientId=brandLL_33f524ff82fe90e2ef89225570db29a43c6d814badd92873&domain=cline.bot">
    <Steps>
      <Step title="Open MCP settings">
        Cline → **MCP Servers → Configure MCP Servers**.
      </Step>

      <Step title="Add the brew server">
        ```json theme={null}
        {
          "mcpServers": {
            "brew": {
              "url": "https://brew.new/api/mcp",
              "disabled": false
            }
          }
        }
        ```
      </Step>

      <Step title="Sign in">
        Save; Cline connects to the remote server and signs in with Brew.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Goose" icon="https://logos.context.dev/?publicClientId=brandLL_33f524ff82fe90e2ef89225570db29a43c6d814badd92873&domain=block.xyz">
    <Steps>
      <Step title="Run the configurator">
        ```bash theme={null}
        goose configure
        #  → Add Extension → Remote Extension (Streamable HTTP)
        #  name:     brew
        #  endpoint: https://brew.new/api/mcp
        ```
      </Step>

      <Step title="Sign in">
        Name it `brew`, paste the connection URL, then sign in with Brew.
      </Step>
    </Steps>

    <Note>Restart Goose after editing the config.</Note>
  </Tab>

  <Tab title="Any client" icon="https://logos.context.dev/?publicClientId=brandLL_33f524ff82fe90e2ef89225570db29a43c6d814badd92873&domain=modelcontextprotocol.io">
    <Steps>
      <Step title="Add the canonical block">
        Add Brew to your client's `mcpServers` map with the bare URL:

        ```json theme={null}
        {
          "mcpServers": {
            "brew": {
              "url": "https://brew.new/api/mcp"
            }
          }
        }
        ```
      </Step>

      <Step title="Sign in">
        Reload or restart the client, then sign in with Brew (OAuth) on first connect and pick your brand. If your client can't do the OAuth handshake, add an `Authorization: Bearer <brew key>` header instead (see below).
      </Step>
    </Steps>
  </Tab>
</Tabs>

## Alternative: Connect with an API Key

If your client has no OAuth connector UI (or you're wiring up a headless / CI setup) authenticate with a **brand-scoped API key** instead. Create one at **Settings → API** and send it as a bearer header. The key carries the org + brand, so the URL stays the same:

```json theme={null}
{
  "mcpServers": {
    "brew": {
      "url": "https://brew.new/api/mcp",
      "headers": { "Authorization": "Bearer brew_YOUR_API_KEY" }
    }
  }
}
```

Claude Desktop's connector UI has no header field, so a key uses the `mcp-remote` bridge: open **Settings → Developer → Edit Config**, paste this, then fully quit and reopen Claude:

```json theme={null}
{
  "mcpServers": {
    "brew": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://brew.new/api/mcp",
        "--header",
        "Authorization:Bearer ${BREW_API_KEY}"
      ],
      "env": { "BREW_API_KEY": "brew_YOUR_API_KEY" }
    }
  }
}
```

<Note>
  Write `Authorization:Bearer …` with no space after the colon (an `mcp-remote`
  arg quirk); it sends the correct header on the wire.
</Note>

## Verify Your Connection

Once connected, ask your agent to call **`get_brew_capabilities`**. It returns the tool catalog, credit costs, and the guided workflows. Or smoke-test the endpoint directly with a key:

```bash theme={null}
curl -sN https://brew.new/api/mcp \
  -H "Authorization: Bearer brew_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
```

Next: the [quickstart](/api-reference/mcp/quickstart) create → send → analyze loop, the full [tool catalog](/api-reference/mcp/tools), and the guided [workflows](/api-reference/mcp/workflows).

## Need help?

Our team is ready to support you at every step of your journey with Brew. Choose the option that works best for you:

<Tabs>
  <Tab title="Self-Service Tools">
    <CardGroup cols="2">
      <Card title="Search Documentation" icon="magnifying-glass" color="#c44925">
        Type in the "Ask any question" search bar at the top left to instantly find relevant documentation pages.
      </Card>

      <Card title="ChatGPT/Claude Integration" icon="robot" color="#c44925">
        Click "Open in ChatGPT" at the top right of any page to analyze documentation with ChatGPT or Claude for deeper insights.
      </Card>
    </CardGroup>
  </Tab>

  <Tab title="Talk to Our Team">
    <CardGroup cols="2">
      <Card title="Schedule a Call" icon="calendar" color="#c44925" href="https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ1iYoRUG1J792XQpbuQLjSRRDupr7MwraFK-HQRCtTYdBmrQi8nZu2qXfzKQigb8gbKJK3KN3-R">
        Book time with our founders for personalized guidance on strategy, best practices, or complex implementation questions.
      </Card>

      <Card title="Call Us Directly" icon="phone" color="#c44925">
        Need immediate assistance? Reach us at **+1-(332)-203-2145** for urgent issues or time-sensitive questions.
      </Card>

      <Card title="Slack Channel" icon="slack" color="#c44925">
        Our preferred support channel. You'll receive an invite after signup for direct founder support and fast responses.
      </Card>

      <Card title="Email Support" icon="envelope" color="#c44925" href="mailto:support@brew.new">
        Contact us at **[support@brew.new](mailto:support@brew.new)** for detailed inquiries or if you prefer not to use Slack.
      </Card>
    </CardGroup>
  </Tab>
</Tabs>
