MCP Server

Connect AI agents like ChatGPT, Claude, or custom clients to Kevel through a standard Model Context Protocol (MCP) server.

Kevel's MCP server gives agents secure, read-only access to campaign, inventory, reporting, forecasting, and related network data using your existing Kevel API key.

Overview

Kevel's MCP server lets AI agents query Kevel through a standard MCP interface instead of integrating directly with multiple APIs. The server is read-only and is designed for safe exploration and analysis of data across your network.

Use cases include:

  • Reviewing advertisers, campaigns, flights, ads, creatives, and targeting
  • Querying inventory such as channels, sites, and zones
  • Running and polling reports
  • Checking forecasts and ad products
  • Reading catalog, content, and job data
  • Requesting ad decisions for analysis or testing

How to use

Before you begin

You will need:

  • Access to the Kevel Management UI
  • A valid Kevel API key

To generate an API key:

  • Open the Kevel Management UI
  • Go to Settings
  • Generate or copy an API key
📘

Please note

We recommend generating a new API key specifically for MCP usage rather than reusing a shared key. This makes it possible to audit on a per-user basis, since each key can be associated with a single user and use case.

Connect to the MCP server

Add the Kevel MCP server to your MCP-compatible client using:

Server URL: https://mcp.kevel.com/
Authentication: Kevel API key

After adding the server, authenticate using your API key from the Kevel Management UI.

The exact setup flow depends on the client you are using. Setup steps for the most common clients are below.

Claude

Custom remote MCP connectors are available on Claude Pro, Max, Team, and Enterprise plans. On Team and Enterprise plans, an Owner must add the connector at the organization level before individual members can enable it.

  1. Open Claude in your browser and click your profile icon, then Settings.
  2. In the sidebar, click Connectors.
  3. Scroll to the bottom and click Add custom connector.
  4. Enter:
    • Name: Kevel
    • Remote MCP server URL: https://mcp.kevel.com/
  5. Click Add.
  6. Back on the Connectors page, open the new Kevel connector and connect using your Kevel API key when prompted.

Once connected, Kevel tools will appear automatically in your Claude conversations.

ChatGPT

Custom MCP connectors in ChatGPT require Developer Mode, which is available on Pro, Plus, Business, Enterprise, and Edu plans. On Business and Enterprise/Edu workspaces, an admin must first enable Developer Mode in workspace settings before users can add connectors.

  1. In ChatGPT, go to SettingsApps & ConnectorsAdvanced settings.
  2. Toggle Developer Mode to ON and confirm the warning.
  3. Return to Apps & Connectors and click Add new connector.
  4. Enter:
    • Name: Kevel
    • Description: Kevel ad server (optional)
    • MCP Server URL: https://mcp.kevel.com/
  5. Complete the connector setup and authenticate with your Kevel API key when prompted.

Enabling Developer Mode disables ChatGPT memory automatically.

Cursor

Cursor supports remote MCP servers via the mcp.json configuration file. You can scope the server globally or per project.

  1. Open Cursor and go to SettingsTools & Integrations (or Tools on the Free plan).

  2. Under MCP Tools, click Add Custom MCP. Cursor opens the mcp.json file.

    • Global config lives at ~/.cursor/mcp.json (macOS/Linux) or %USERPROFILE%\.cursor\mcp.json (Windows).
    • Project-scoped config lives at .cursor/mcp.json in your project root.
  3. Add the Kevel server entry:

    {
      "mcpServers": {
        "kevel": {
          "url": "https://mcp.kevel.com/"
        }
      }
    }
  4. Save the file. Cursor will prompt you to authenticate with your Kevel API key. A green dot next to the server name indicates a successful connection.

Other clients

For client-specific setup instructions not covered above, refer to your MCP client's documentation. This is the best place to find the latest steps for MCP-compatible tools.

Verifying the connection

In any client, ask the agent to list available tools or run a simple read, for example:

List my advertisers in Kevel.

The agent should call kevel_list_advertisers and return results from your network.

Available tools

Reporting (7 tools)

kevel_create_report, Create async queued report (returns GUID)
kevel_get_report, Poll for queued report results
kevel_get_instant_counts, Real-time counts for a single entity (90-day window)
kevel_get_bulk_counts, Real-time counts for multiple entities
kevel_list_report_runs, List report execution history
kevel_list_scheduled_reports, List scheduled reports
kevel_get_scheduled_report, Get scheduled report by ID

Management (19 tools)

kevel_list_advertisers, List/search advertisers
kevel_get_advertiser, Get advertiser by ID
kevel_list_campaigns, List/search campaigns
kevel_get_campaign, Get campaign by ID
kevel_list_flights, List flights (filter by campaign/advertiser)
kevel_get_flight, Get flight by ID
kevel_list_ads, List ads (filter by flight)
kevel_get_ad, Get ad by ID
kevel_list_creatives, List creatives (filter by advertiser)
kevel_get_creative, Get creative by ID
kevel_list_creative_templates, List creative templates
kevel_get_creative_template, Get creative template by ID
kevel_list_segments, List segments
kevel_get_segment, Get segment by ID
kevel_list_priorities, List priorities (filter by channel)
kevel_get_priority, Get priority by ID
kevel_list_advertiser_segments, List segments for an advertiser
kevel_list_flight_categories, List flight categories
kevel_get_entity_counts, Get counts of all entity types

Inventory (10 tools)

kevel_list_channels, List channels
kevel_get_channel, Get channel by ID
kevel_list_channel_priorities, Get priorities for a channel
kevel_list_channels_for_site, List channels for a site
kevel_list_sites, List sites (filter by channel)
kevel_get_site, Get site by ID
kevel_list_zones, List zones
kevel_get_zone, Get zone by ID
kevel_list_ad_types, List ad types (filter by channel)
kevel_list_channel_site_maps, List channel-site associations

Decision (1 tool)

kevel_request_decision, Request ad decisions

Forecast (8 tools)

kevel_create_forecast, Create a new forecast (existing/available/deliverable)
kevel_list_forecasts, List active forecasts
kevel_get_forecast, Get forecast by ID
kevel_list_traffic_modifiers, List traffic modifiers
kevel_get_traffic_modifier, Get traffic modifier by ID
kevel_get_forecast_network_settings, Get forecast network settings
kevel_list_ad_products, List ad products
kevel_get_ad_product, Get ad product (optionally with targeting sets)

Targeting (8 tools)

kevel_list_flight_segment_targeting, List segment targeting on a flight
kevel_get_flight_segment_targeting, Get segment targeting rule on a flight
kevel_list_ad_segment_targeting, List segment targeting overrides on an ad
kevel_get_ad_segment_targeting, Get segment targeting rule on an ad
kevel_list_flight_sitezone_targeting, List site/zone targeting on a flight
kevel_list_flight_geo_targeting, List geo targeting on a flight
kevel_list_flight_distance_targeting, List distance targeting on a flight
kevel_list_flight_day_parting, List day parting rules on a flight

UserDB (2 tools)

kevel_read_user, Read full user record
kevel_get_user_segments, Get user's segment IDs

ContentDB (1 tool)

kevel_get_content_record, Get content record by schema/key

Catalog (4 tools)

kevel_list_catalogs, List product catalogs
kevel_get_catalog, Get catalog by ID
kevel_list_catalog_items, List catalog items (with search)
kevel_get_catalog_item, Get catalog item by ID

Jobs (2 tools)

kevel_list_jobs, List all jobs
kevel_get_job, Get job by ID