Per-client setup for the Brew MCP server across ChatGPT, Claude, Grok, Cursor, Codex, VS Code, and every other major MCP client, using 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 (or your whole organization). The issued token is scoped to that choice and revocable anytime in Settings → MCP.The brew:all scope gives the connected client full access to what you select. It can read and change emails, audiences, contacts, automations, sending setup, and analytics there. An organization connection reaches every brand you can access, so pick a single brand unless the client needs them all. See Brand scoping.
Wiring up a headless / CI setup, or a client with no OAuth UI? Send an
API key as Authorization: Bearer brew_… instead. See the API-key
alternative below.
Pick your agent:
Claude Desktop
ChatGPT
Grok
Claude Code
Cursor
OpenCode
VS Code
OpenAI Codex
Manus
Windsurf
Cline
Goose
Any client
1
Add a custom connector
Open Settings → Connectors, click Add custom connector, and paste the connection URL:
https://brew.new/api/mcp
2
Connect
Click Connect, sign in with Brew, and pick a brand.
Works with Claude Desktop and claude.ai.
1
Enable Developer mode
Open Settings → Security and login and enable Developer mode.
2
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
3
Approve brand access
Sign in with Brew, pick the brand ChatGPT should use, review the disclosed full-brand access, and approve it.
4
Enable Brew in a new chat
Start a new chat and enable @Brew from the Plugins menu.
5
Verify the catalog
Ask Brew to call get_brew_capabilities. A successful response confirms that ChatGPT loaded the current action catalog.
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.
1
Create a custom connector
Open grok.com/connectors, select New Connector → Custom, name it Brew, and paste:
https://brew.new/api/mcp
2
Authenticate
Start authentication, sign in with Brew, select a brand, review the full-brand access, and approve it.
3
Verify in a new chat
Start a new Grok chat, enable Brew, and ask it to call get_brew_capabilities.
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.
1
Add the server
Run this in your terminal:
claude mcp add --transport http brew "https://brew.new/api/mcp"
2
Sign in
Claude opens your browser to sign in with Brew and pick a brand.
3
Verify
Start a session and run /mcp to confirm Brew is connected.
1
Open your MCP config
~/.cursor/mcp.json (global) or .cursor/mcp.json (this project).
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).
If your client has no OAuth connector UI (or you’re wiring up a headless / CI setup) authenticate with an API key instead. Create one at Settings → API and send it as a bearer header. A brand key connects to its one brand. An organization key connects to the whole organization, and tools then take a brand_id. The URL stays the same either way:
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:
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: