Skip to main content
Glama
Vibe.co MCP Server

Vibe.co MCP Server

Vibe.co MCP Server

CI Coverage Status CodeQL OpenSSF Scorecard npm version npm downloads License Node

A Model Context Protocol (MCP) server for the Vibe CTV/streaming advertising platform.

This server allows AI assistants (like Claude) to interact with your Vibe advertising data securely via the Vibe Streaming API.

Quick Start

Prerequisites

  • Node.js v22 or higher

  • A Vibe account with API access

  • A Vibe API key (see Step 1)

Step 1: Get a Vibe API Key

  1. Log in to your Vibe account

  2. Navigate to Developer Tool > API Keys

  3. Create or copy your API key

Step 2: Configure Your MCP Client

Choose the setup that matches your MCP client:

Add to your claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "vibe": {
      "command": "npx",
      "args": ["-y", "vibeco-mcp"],
      "env": {
        "VIBE_API_KEY": "your-api-key"
      }
    }
  }
}

Claude Code (CLI)

Add to your Claude Code MCP settings (~/.claude/mcp.json or project-level):

{
  "mcpServers": {
    "vibe": {
      "command": "npx",
      "args": ["-y", "vibeco-mcp"],
      "env": {
        "VIBE_API_KEY": "your-api-key"
      }
    }
  }
}

Cursor

In Cursor settings, add an MCP server:

{
  "mcpServers": {
    "vibe": {
      "command": "npx",
      "args": ["-y", "vibeco-mcp"],
      "env": {
        "VIBE_API_KEY": "your-api-key"
      }
    }
  }
}

Related MCP server: AdButler MCP Server

Configuration Reference

Environment Variables

Variable

Required

Default

Description

VIBE_API_KEY

Yes

-

Vibe API key

VIBE_API_BASE_URL

No

https://clear-platform.vibe.co/rest/reporting/v1

API base URL (override for testing)

MCP_TRANSPORT

No

stdio

Transport mode: stdio or http

MCP_SERVER_HOST

No

127.0.0.1

Host to bind the HTTP server to

MCP_SERVER_PORT

No

3000

Port for the HTTP server

Features

Tools

The server provides 8 tools for full Vibe API coverage:

Connectivity

Tool

Description

vibe.ping

Check server status and API key configuration

Advertisers

Tool

Description

vibe.advertisers.list

List all advertiser IDs

Apps

Tool

Description

vibe.apps.list

List app IDs for an advertiser

Campaigns

Tool

Description

vibe.campaigns.list

List campaign details for an advertiser

Reports

Tool

Description

vibe.reports.create

Create an async report (rate limited: 15/hr)

vibe.reports.status

Check report status and get download URL

Purchases

Tool

Description

vibe.purchases.list

List purchase IDs for an advertiser

Resources

The server exposes data as MCP resources:

Static Resources

Resource URI

Description

vibe://advertisers

List all advertiser IDs

Resource Templates

Resource URI

Description

vibe://advertisers/{advertiser_id}/apps

App IDs for a specific advertiser

vibe://advertisers/{advertiser_id}/campaigns

Campaign details for a specific advertiser

Prompts

The server provides guided prompts for common workflows:

Prompt

Description

campaign-report

Guided workflow for creating a campaign performance report

setup-api-key

Instructions for configuring the Vibe API key

Development

Setup

# Clone the repo
git clone https://github.com/jacob-hartmann/vibeco-mcp.git
cd vibeco-mcp

# Use the Node.js version from .nvmrc
# (macOS/Linux nvm): nvm install && nvm use
# (Windows nvm-windows): nvm install 22 && nvm use 22
nvm install
nvm use

# Install dependencies
pnpm install

# Copy .env.example and configure
cp .env.example .env
# Edit .env with your API key

Running Locally

# Development mode (auto-reload)
pnpm dev

# Production build
pnpm build

# Production run
pnpm start

Debugging

You can use the MCP Inspector to debug the server:

# Run from source
pnpm inspect

# Run from built output
pnpm inspect:dist

pnpm inspect loads .env automatically via dotenv (see .env.example).

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines on how to contribute to this project.

Security

See SECURITY.md for security policy and reporting vulnerabilities.

Support

This is a community project provided "as is" with no guaranteed support. See SUPPORT.md for details.

License

MIT © Jacob Hartmann

Available Tools

7 tools
vibe.advertisers.listList AdvertisersA
Read-onlyIdempotent

List all advertiser IDs available to your Vibe API key.

Inputs: no named parameters. Returns: object

vibe.apps.listList AppsA
Read-onlyIdempotent

List all app IDs for a specific advertiser.

Inputs: advertiser_id (required). Returns: object

vibe.campaigns.listList CampaignsA
Read-onlyIdempotent

List campaign details for a specific advertiser.

Inputs: advertiser_id (required). Returns: object

vibe.pingPingA
Read-onlyIdempotent

Check that the Vibe MCP server is running and that API credentials are configured. Does not make any API calls to Vibe.

Inputs: no named parameters.

vibe.purchases.listList PurchasesA
Read-onlyIdempotent

List purchase IDs for a specific advertiser.

Inputs: advertiser_id (required), start_date, end_date. Returns: object

vibe.reports.createCreate ReportA

Create an async report for a Vibe advertiser. Returns a report_id to check status with vibe.reports.status. Rate limited to 15 requests per hour.

Inputs: advertiser_id (required), start_date (required), end_date (required), metrics (required), +7 more. Returns: object

vibe.reports.statusReport StatusA
Read-onlyIdempotent

Check the status of an async report. Returns status and download URL when complete.

Inputs: report_id (required). Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool targets a distinct resource (advertisers, apps, campaigns, etc.) with clear actions, even the two report tools are well-separated by create vs status. No overlap or ambiguity.

    Naming Consistency5/5

    All tools follow the same 'vibe.<resource>.<action>' pattern (e.g., vibe.advertisers.list, vibe.reports.create). The only exception is vibe.ping, which is a standalone health check, but it's still consistent in style.

    Tool Count5/5

    With 7 tools, the set is scoped well for a media platform server covering listing, reporting, and health checks. It is neither too few nor too many, filling a useful niche.

    Completeness4/5

    The server covers listing of key resources and async report creation/status, which aligns with its apparent purpose. However, it lacks CRUD for advertisers, campaigns, and purchases, which could be considered minor gaps for a more complete management interface.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants to manage TikTok advertising campaigns through the TikTok Ads API. Supports campaign creation, performance analytics, audience management, creative operations, and custom reporting through natural language interactions.
      54
      MIT
    • A
      license
      C
      quality
      C
      maintenance
      Enables managing your entire AdButler advertising account from any AI assistant, exposing over 600 tools covering the full AdButler v2 API for display ads, video, targeting, reporting, programmatic, and more, plus pre-built workflow prompts.
      100
      90 npm
      1
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables AI assistants to interact with the Amazon Advertising API to manage campaigns, keywords, product ads, and retrieve performance metrics.
      9
      49 npm
      3
      MIT