Skip to main content

Connect Vibe to AI Assistants (MCP)

Vibe's MCP server lets you connect AI assistants like Claude to your Vibe account so you can ask questions and pull campaign data directly from your AI tool — without switching tabs.

Who is this for?

Self-serve advertisers who use an MCP-compatible AI assistant such as Claude, ChatGPT, Cursor, etc.

What you can do with Vibe MCP

  • View campaign performance (any reporting metric or dimension)

  • List active campaigns, strategies, advertisers, and creatives

  • Create or edit campaigns

  • Pull reporting data for specific date ranges, dimensions, and filters

  • Look up TV inventory, geographic regions, and platform business rules

What you can't do yet

  • Upload creatives

Before you start

You'll need:

  • You need a Vibe account with access to at least one advertiser.

  • An AI assistant that supports remote MCP servers over HTTP (Streamable HTTP). The exact place you add the connection depends on your assistant and, for some tools, your plan or admin permissions (see each section below).

  • The Vibe MCP endpoint: https://api.vibe.co/mcp

Setup instructions

Claude Desktop

  1. Open Claude Desktop → Settings → Developer → Edit Config

  2. Add this to claude_desktop_config.json:

{
"mcpServers": {
"vibe": {
"url": "https://api.vibe.co/mcp"
}
}
}

3. Restart Claude Desktop.

Claude Code

  1. Run:

claude mcp add --transport http vibe https://api.vibe.co/mcp

2. Restart Claude Code and type /mcp to verify. On first use, you'll be sent to vibe.co to sign in.

Claude.ai (web)

  1. Pro and Max plans: Settings → Connectors → Add custom connector → enter https://api.vibe.co/mcp. You'll be prompted to sign in to Vibe.

  2. Team and Enterprise plans: An admin needs to add the connector at the org level first (Organization settings → Connectors → Add → Custom → Web → enter https://api.vibe.co/mcp). Once added, each user connects individually under Customize → Connectors.

What you can ask Claude

  • "Pull campaign performance for [advertiser] this week"

  • "What strategies are running on [campaign]? Show me the targeting details"

  • "Check the approval status of our latest creatives"

  • "Query impressions and spend for [campaign] in May"

  • "List all active campaigns for [advertiser]"

Claude uses Vibe automatically when your question calls for it. You can also prompt explicitly: "Using Vibe, show me…"

ChatGPT

In ChatGPT, custom MCP servers are added as connectors (called apps since December 2025) and are enabled through Developer mode. Custom connectors are supported across ChatGPT plans, including Plus, Pro, Business, Enterprise, and Education, but on Business, Enterprise, and Education workspaces your workspace admin must allow Developer mode before you can add one. If you don't see the option described below, ask your ChatGPT admin to enable it.

  1. Turn on Developer mode: go to Settings → Apps & Connectors → Advanced settings (at the bottom of the page) and toggle Developer mode on.

  2. Go to Settings → Apps & Connectors → Create.

  3. Enter the connector details:

    • Connector name — e.g. Vibe.

    • Description — e.g. "Query Vibe CTV campaign performance, campaigns, strategies, creatives, and reporting data." ChatGPT uses this text to decide when to call the connector.

    • Connector URLhttps://api.vibe.co/mcp

  4. Click Create. You'll be prompted to sign in to Vibe. If the connection succeeds, ChatGPT displays the list of tools the Vibe server advertises.

  5. Use it in a chat: open a new conversation, click the + in the message composer, choose More, and select Vibe to add it to the conversation.

If you later need to pick up new Vibe tools, open the connector under Settings → Apps & Connectors and click Refresh.

Gemini

Important: The standard consumer Gemini web and mobile apps do not support adding custom MCP servers. Custom MCP connections are available through Gemini Enterprise (managed in the Google Cloud console) and through the Gemini CLI for developers. Both require the appropriate access — a Gemini Enterprise subscription plus Google Cloud IAM permissions, or a local developer setup. Setting up a Gemini Enterprise connector is an administrator task; if you're not a Google Cloud admin for your organization, share this section with whoever manages your Gemini Enterprise environment.

Gemini Enterprise (Google Cloud console)

Gemini Enterprise connects to a custom MCP server as a data store (also called a connector). This is a Preview feature and only supports the Streamable HTTP transport (SSE is not supported).

Before you begin (admin):

  • Grant the person setting this up the Discovery Engine Editor role (roles/discoveryengine.editor) in Google Cloud IAM.

  • Register Gemini Enterprise as an OAuth client application with your identity provider (e.g. Google, Okta, Azure AD). Set the authorization redirect URL to https://vertexaisearch.cloud.google.com/oauth-redirect, grant the needed scopes, and note the resulting Client ID and Client Secret. You'll also need Vibe's OAuth Authorization URL and Token URL — if you don't have these, contact Vibe support.

Create the data store:

  1. In the Google Cloud console, go to Gemini Enterprise → Data stores.

  2. Click Create data store.

  3. On Select a data source, search for Custom MCP Server and open the Custom MCP Server (Preview) card.

  4. Click Add MCP server and fill in the Authentication settings:

    • MCP Server URLhttps://api.vibe.co/mcp

    • Authorization URL — Vibe's OAuth authorization endpoint (base URL only, no query parameters).

    • Token URL — Vibe's OAuth token endpoint.

    • Client ID / Client Secret — from the OAuth app you registered above.

    • Scopes — the space-separated scopes required to sign in and use Vibe's tools.

  5. Click Login and complete sign-in, then Continue.

  6. In MCP Server Description, describe what the Vibe server does so Gemini knows when to use it, then Continue.

  7. Choose a location and enter a name for the connector, then click Create.

  8. Open the data store and wait for its state to change from Creating to Active.

Enable the tools: By default no actions are enabled. In your Vibe data store, click Actions → Reload custom actions (this runs a tools/list call against Vibe), select the Vibe tools you want, and click Enable actions. Vibe's read tools are annotated readOnlyHint: true, so Gemini can skip the per-call confirmation prompt for them.

Gemini CLI (developers)

Add Vibe as an HTTP MCP server in your Gemini CLI settings (~/.gemini/settings.json):

{   "mcpServers": {     "vibe": {       "httpUrl": "https://api.vibe.co/mcp"     }   } }

Restart the CLI and run /mcp to confirm the Vibe tools are listed. You'll be prompted to authenticate with Vibe on first use.

Current limits

Vibe MCP is read-first today. Claude can query, inspect, and prepare drafts, but cannot yet:

  • Create or edit live (published) campaigns

  • Upload creatives

  • Modify budgets or targeting on published campaigns

Draft campaign upserts are supported.

Available tools

Each tool is published with MCP tool annotations that describe its behavior to clients. All Vibe tools declare openWorldHint: false — they only interact with your Vibe account data, not external systems.

Tool name

Title

What it does

Annotations

query_metrics

Query Metrics

Query reporting metrics (spend, impressions, reach, etc.), grouped by dimensions like date, campaign, or state.

readOnlyHint: true

list_advertisers

List Advertisers

List advertisers in your tenant and find their IDs.

readOnlyHint: true

list_campaigns

List Campaigns

List campaigns with optional filters (delivery state, lifecycle status, goal, publication date).

readOnlyHint: true

get_campaign_details

Get Campaign Details

Get campaign metadata: name, status, dates, budget, and goal.

readOnlyHint: true

list_strategies

List Strategies

List strategies inside a campaign.

readOnlyHint: true

list_audience_interests

List Audience Interests

List audience interest segments to find interest IDs for targeting.

readOnlyHint: true

list_custom_web_audiences

List Custom Web Audiences

List an advertiser's custom web audiences (built from Vibe pixel) for targeting.

readOnlyHint: true

list_crm_audiences

List CRM Audiences

List an advertiser's CRM audiences (Klaviyo, HubSpot, mParticle, etc.) for targeting.

readOnlyHint: true

get_strategy_details

Get Strategy Details

Get detailed strategy info including targeting, bidding, and creatives.

readOnlyHint: true

get_advertiser_details

Get Advertiser Details

Get advertiser info: website, industry, apps, campaign count.

readOnlyHint: true

list_creatives

List Creatives

List video creatives with optional filters.

readOnlyHint: true

get_creative_details

Get Creative Details

Get creative approval status, duration, and active-campaign usage.

readOnlyHint: true

search_locations

Search Regions

Search geographic regions (states, cities, metros, counties, congressional districts) and return codes usable in filters and targeting.

readOnlyHint: true

list_tv_inventory

List TV Inventory

List TV inventory items (apps, channels, sports leagues) from the global catalog.

readOnlyHint: true

get_business_rules

Get Business Rules

Retrieve Vibe platform documentation and best-practice guides for a knowledge domain.

readOnlyHint: true

create_or_update_campaign

Create or Update Campaign

Create a campaign, or update an existing draft or published campaign and its strategies. Published campaigns have edit restrictions; archived campaigns can't be modified.

readOnlyHint: false, destructiveHint: true

idempotentHint: false

publish_campaign

Publish Campaign

Publish a draft campaign, starts ad delivery and spend. Non-reversible.

readOnlyHint: false, destructiveHint: true

get_activity_log

Get Activity Log

View the change history (who changed what, when) for campaigns and related records.

readOnlyHint: true

Per the MCP specification, these are hints — they describe expected behavior but are not enforced guarantees.

Troubleshooting

"Server not found" / "Connection failed"

  • Verify the URL is exactly https://api.vibe.co/mcp.

  • Confirm your client supports HTTP (Streamable HTTP) transport — Vibe MCP does not support stdio.

"401 Unauthorized" / "Invalid API key"

  • Confirm X-API-KEY is set and matches a key from Settings → Developer tools → API Keys.

  • Check the key hasn't been revoked.

"403 Forbidden" / "Tenant mismatch"

  • Confirm X-Vibe-Tenant matches the tenant that owns the API key.

  • For X-Vibe-Advertiser-Ids, use * or comma-separated advertiser IDs the key has access to.

Tool is not listed in my AI client

  • Some clients cache the tool list — fully restart the client after configuring.

Did this answer your question?