Skip to main content
Glama
Klaviyo MCP Server

Klaviyo MCP Server

Klaviyo MCP Server

A comprehensive Model Context Protocol (MCP) server for interacting with the Klaviyo API. This server provides tools and resources for managing profiles, lists, segments, campaigns, flows, and more in Klaviyo.

## Features

- Complete coverage of Klaviyo API endpoints
- MCP tools for all major Klaviyo operations
- MCP resources for accessing Klaviyo data
- Easy integration with LLMs via the Model Context Protocol

## Setup

1. Clone this repository
2. Install dependencies:
   ```
   npm install
   ```
3. Create a `.env` file based on `.env.example` and add your Klaviyo API key:
   ```
   KLAVIYO_API_KEY=your_private_api_key_here
   ```
4. Start the server:
   ```
   npm run dev
   ```

## Testing with MCP Inspector

You can test the server using the MCP Inspector:

```
npm run inspect
```

This will open a web interface where you can test all the available tools and resources.

## Available Tools

### Profiles
- `get_profiles`: Get profiles from Klaviyo
- `get_profile`: Get a specific profile from Klaviyo
- `create_profile`: Create a new profile in Klaviyo
- `update_profile`: Update an existing profile in Klaviyo
- `delete_profile`: Delete a profile from Klaviyo

### Lists
- `get_lists`: Get lists from Klaviyo
- `get_list`: Get a specific list from Klaviyo
- `create_list`: Create a new list in Klaviyo
- `add_profiles_to_list`: Add profiles to a list in Klaviyo

### Segments
- `get_segments`: Get segments from Klaviyo
- `get_segment`: Get a specific segment from Klaviyo

### Events
- `get_events`: Get events from Klaviyo
- `create_event`: Create a new event in Klaviyo

### Metrics
- `get_metrics`: Get metrics from Klaviyo
- `get_metric`: Get a specific metric from Klaviyo

### Campaigns
- `get_campaigns`: Get campaigns from Klaviyo
- `get_campaign`: Get a specific campaign from Klaviyo

### Flows
- `get_flows`: Get flows from Klaviyo
- `get_flow`: Get a specific flow from Klaviyo
- `update_flow_status`: Update the status of a flow in Klaviyo

### Templates
- `get_templates`: Get templates from Klaviyo
- `get_template`: Get a specific template from Klaviyo
- `create_template`: Create a new template in Klaviyo

### Catalogs
- `get_catalogs`: Get catalogs from Klaviyo
- `get_catalog_items`: Get items from a catalog in Klaviyo
- `get_catalog_item`: Get a specific item from a catalog in Klaviyo

### Tags
- `get_tags`: Get tags from Klaviyo
- `create_tag`: Create a new tag in Klaviyo
- `add_tag_to_resource`: Add a tag to a resource in Klaviyo

### Webhooks
- `get_webhooks`: Get webhooks from Klaviyo
- `create_webhook`: Create a new webhook in Klaviyo
- `delete_webhook`: Delete a webhook from Klaviyo

### Data Privacy
- `request_profile_deletion`: Request deletion of a profile for data privacy compliance

### Coupons
- `get_coupons`: Get coupons from Klaviyo
- `create_coupon_code`: Create a new coupon code in Klaviyo

### Forms
- `get_forms`: Get forms from Klaviyo
- `get_form`: Get a specific form from Klaviyo

### Reviews
- `get_product_reviews`: Get product reviews from Klaviyo
- `get_product_review`: Get a specific product review from Klaviyo

### Images
- `get_images`: Get images from Klaviyo
- `get_image`: Get a specific image from Klaviyo

## Available Resources

- `klaviyo://profile/{id}`: Get information about a specific profile
- `klaviyo://list/{id}`: Get information about a specific list
- `klaviyo://segment/{id}`: Get information about a specific segment
- `klaviyo://campaign/{id}`: Get information about a specific campaign
- `klaviyo://flow/{id}`: Get information about a specific flow
- `klaviyo://template/{id}`: Get information about a specific template
- `klaviyo://metric/{id}`: Get information about a specific metric
- `klaviyo://catalog/{id}`: Get information about a specific catalog

## API Documentation

For more information about the Klaviyo API, see the [official documentation](https://developers.klaviyo.com/en/reference/api_overview).

Available Tools

41 tools
add_profiles_to_listD

Inputs: list_id (required), profile_ids (required).

add_tag_to_resourceD

Inputs: tag_id (required), resource_id (required), resource_type (required).

create_coupon_codeD

Inputs: code (required), coupon_id (required).

create_eventD

Inputs: metric (required), profile (required), time, value, +1 more.

create_listD

Inputs: name (required), list_type (required).

create_profileD

Inputs: email, last_name, first_name, properties, +2 more.

create_tagD

Inputs: name (required), tag_type (required).

create_templateD

Inputs: html (required), name (required), text.

create_webhookD

Inputs: events (required), endpoint (required), profile_id.

delete_profileD

Inputs: id (required).

delete_webhookD

Inputs: id (required).

get_campaignD

Inputs: id (required).

get_campaignsD

Inputs: filter, page_size, page_cursor.

get_catalog_itemD

Inputs: item_id (required), catalog_id (required).

get_catalog_itemsD

Inputs: catalog_id (required), filter, page_size, page_cursor.

get_catalogsD

Inputs: page_size, page_cursor.

get_couponsD

Inputs: filter, page_size, page_cursor.

get_eventsD

Inputs: filter, page_size, page_cursor.

get_flowD

Inputs: id (required).

get_flowsD

Inputs: filter, page_size, page_cursor.

get_formD

Inputs: id (required).

get_formsD

Inputs: filter, page_size, page_cursor.

get_imageD

Inputs: id (required).

get_imagesD

Inputs: filter, page_size, page_cursor.

get_listD

Inputs: id (required).

get_listsD

Inputs: filter, page_size, page_cursor.

get_metricD

Inputs: id (required).

get_metricsD

Inputs: filter, page_size, page_cursor.

get_product_reviewD

Inputs: id (required).

get_product_reviewsD

Inputs: filter, page_size, page_cursor.

get_profileD

Inputs: id (required).

get_profilesD

Inputs: filter, page_size, page_cursor.

get_segmentD

Inputs: id (required).

get_segmentsD

Inputs: filter, page_size, page_cursor.

get_tagsD

Inputs: filter, page_size, page_cursor.

get_templateD

Inputs: id (required).

get_templatesD

Inputs: filter, page_size, page_cursor.

get_webhooksD

Inputs: page_size, page_cursor.

request_profile_deletionD

Inputs: email, profile_id, phone_number.

update_flow_statusD

Inputs: id (required), status (required).

update_profileD

Inputs: id (required), email, last_name, first_name, +3 more.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    D1.5/5.0

    Scored across 41 tools

    Disambiguation3/5

    Many tools follow a plural/singular pattern for list vs single resource, which helps distinguish them. However, tools like delete_profile and request_profile_deletion appear to overlap, and pairs like get_metric/get_metrics rely on naming convention alone without descriptions, creating potential misselection.

    Naming Consistency4/5

    Most tools use a consistent verb_noun pattern (get, create, update, delete, add), and plural/singular nouns generally indicate list vs single. Inconsistencies exist, such as add_profiles_to_list (plural) vs add_tag_to_resource (singular), and request_profile_deletion deviates from the delete_* style.

    Tool Count2/5

    With 41 tools, the server is well above the typical 3-15 range. Many resources have both plural and singular getters, inflating the count, and the broad scope makes it feel heavy rather than well-scoped.

    Completeness2/5

    The server provides extensive read operations but lacks update/delete for many resources (lists, segments, templates, catalogs, etc.), no remove_tag_from_resource, and no update operations for webhooks or coupons. This leaves significant lifecycle gaps for a CRUD-style API.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      F
      maintenance
      Comprehensive MCP server for the Mautic marketing automation API, providing 203 tools for managing contacts, campaigns, emails, segments, and more.
      2
      ISC
    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server for interacting with Keap CRM, enabling contact and tag management, batch operations, custom fields, and advanced query optimization.
      MIT