Klaviyo logo
Email & Marketing
Live

Klaviyo MCP server

The deepest connector here: an entire email and SMS programme, readable end to end.

Tools
125
Read-only
75
Write
50
Off by default
Destructive
0
Flagged distinctly
What it does

Klaviyo through an assistant

Profiles, lists, segments, campaigns and flows are all queryable, along with the reports behind them -- per-campaign and per-flow performance, segment membership over time, and aggregate metric queries against your own event data. The catalogue, templates, images and tags are readable too. Building in Klaviyo -- profiles, lists, segments, campaigns, templates, coupons -- is opt-in, tool by tool.

  • Profiles, lists and segments, with filtering
  • Campaign, flow and segment performance reports
  • Metric aggregates and raw event queries against your own data
  • Catalogue items, templates, images and tags
  • Bulk profile import, suppression and export jobs
  • Create and update profiles, lists, segments, campaigns and templates (opt-in)
Ask your assistant

What people actually ask

Real questions, answered from live Klaviyo data.

Which flow made the most revenue last month, and which message inside it?

klaviyo_list_flowsklaviyo_get_flow_report

How big is my engaged-30-day segment, and how has it moved this quarter?

klaviyo_get_segmentklaviyo_query_segment_series

Compare open and click rates across every campaign we sent last month.

klaviyo_list_campaignsklaviyo_get_campaign_report
Tool catalogue

125 Klaviyo tools

Grouped by what they touch. Every tool is individually toggleable — you expose only what you want.

Profiles

23 tools10 read-only · 13 write

Showing 10 of 10 tools

  • klaviyo_add_profiles_to_list
    Write

    Add a batch of profiles to a Klaviyo list by profile ID (max 1,000 per request).

  • klaviyo_add_profile_to_list
    Write

    Add one or more profiles to a Klaviyo list by profile ID.

  • klaviyo_bulk_import_profiles
    Write

    Create or update a batch of up to 10,000 profiles in a single job via Klaviyo's Bulk Profile Import API.

  • klaviyo_bulk_suppress_profiles
    Write

    Suppress email marketing for a batch of profiles by email address, or for all members of a list/segment. This is a bulk action affecting many profiles' deliverability and marketing status — requires confirm_suppress: true.

  • klaviyo_bulk_unsuppress_profiles
    Write

    Remove USER_SUPPRESSED suppressions for a batch of profiles by email address, or for all members of a list/segment (does not affect unsubscribes or INVALID_EMAIL/HARD_BOUNCE suppressions). This is a bulk action affecting many profiles' deliverability and marketing status — requires confirm_unsuppress: true.

  • klaviyo_create_or_update_profile
    Write

    Create a new profile or update an existing one, matched by email/phone/external_id. Returns 201 if created, 200 if an existing profile was updated. Setting a field to null clears it; omitting a field leaves it unchanged.

  • klaviyo_create_profile
    Write

    Create a new customer profile in Klaviyo.

  • klaviyo_delete_profile
    Write

    Request deletion of a profile and its data (processed via Klaviyo's data privacy job queue).

  • klaviyo_get_bulk_import_profiles_job
    Read-only

    Get the status of a bulk profile import job by ID.

  • klaviyo_get_bulk_import_profiles_jobs
    Read-only

    List all bulk profile import jobs, optionally filtered by status.

+ 13 more profiles tools see the full catalogue

Catalog

18 tools18 read-only · 0 write

Showing 10 of 10 tools

  • klaviyo_get_bulk_create_catalog_items_job
    Read-only

    Get the status of a Klaviyo bulk catalog item create job by job ID.

  • klaviyo_get_bulk_create_catalog_items_jobs
    Read-only

    List all Klaviyo bulk catalog item create jobs.

  • klaviyo_get_bulk_create_variants_job
    Read-only

    Get the status of a Klaviyo bulk catalog variant create job by job ID.

  • klaviyo_get_bulk_create_variants_jobs
    Read-only

    List all Klaviyo bulk catalog variant create jobs.

  • klaviyo_get_bulk_delete_catalog_items_job
    Read-only

    Get the status of a Klaviyo bulk catalog item delete job by job ID.

  • klaviyo_get_bulk_delete_catalog_items_jobs
    Read-only

    List all Klaviyo bulk catalog item delete jobs.

  • klaviyo_get_bulk_delete_variants_job
    Read-only

    Get the status of a Klaviyo bulk catalog variant delete job by job ID.

  • klaviyo_get_bulk_delete_variants_jobs
    Read-only

    List all Klaviyo bulk catalog variant delete jobs.

  • klaviyo_get_bulk_update_catalog_items_job
    Read-only

    Get the status of a Klaviyo bulk catalog item update job by job ID.

  • klaviyo_get_bulk_update_catalog_items_jobs
    Read-only

    List all Klaviyo bulk catalog item update jobs.

+ 8 more catalog tools see the full catalogue

Campaigns

17 tools7 read-only · 10 write

Showing 10 of 10 tools

  • klaviyo_assign_template_to_campaign_message
    Write

    Assign an existing email template to a campaign message. Use after creating both the template and the campaign.

  • klaviyo_cancel_campaign_send
    Write

    Cancel or revert the send of a currently sending or scheduled campaign. 'cancel' permanently cancels the campaign; 'revert' stops the send and returns the campaign to draft.

  • klaviyo_clone_campaign
    Write

    Create a copy of an existing Klaviyo campaign under a new name.

  • klaviyo_create_campaign
    Write

    Create a fully-populated email campaign in Klaviyo, including HTML content, audience, and optional scheduling.

  • klaviyo_delete_campaign
    Write

    Delete a Klaviyo campaign.

  • klaviyo_get_campaign
    Read-only

    Get details of a single Klaviyo campaign.

  • klaviyo_get_campaign_message
    Read-only

    Get the content/details of a single message within a Klaviyo campaign.

  • klaviyo_get_campaign_recipient_estimation
    Read-only

    Get the estimated recipient count for a Klaviyo campaign based on its current audience.

  • klaviyo_get_campaign_recipient_estimation_job
    Read-only

    Get the status of a campaign recipient estimation job triggered by refresh_campaign_recipient_estimation.

  • klaviyo_get_campaign_report
    Read-only

    Get campaign performance data (opens, clicks, conversions, deliveries, unsubscribes, etc.) matching what the Klaviyo UI shows, based on send date. Requires conversion_metric_id — use klaviyo_list_metrics to find the metric named 'Placed Order' as a sensible default if none is specified.

+ 7 more campaigns tools see the full catalogue

Templates

10 tools3 read-only · 7 write

Showing 10 of 10 tools

  • klaviyo_clone_template
    Write

    Create a copy of an existing Klaviyo template under a new name.

  • klaviyo_create_dnd_email_template
    Write

    Create a new drag-and-drop (DND) email template from a structured definition of sections, rows, columns, and blocks, rather than raw HTML.

  • klaviyo_create_template
    Write

    Create a reusable HTML email template in Klaviyo.

  • klaviyo_create_template_preview_send_job
    Write

    Send a test/preview email of a template to up to 5 recipient addresses, optionally rendered with merge-variable context.

  • klaviyo_delete_template
    Write

    Delete a Klaviyo email template.

  • klaviyo_get_template
    Read-only

    Get a single Klaviyo email template's details and HTML content.

  • klaviyo_list_email_templates
    Read-only

    List email templates in the account with optional filtering and sorting.

  • klaviyo_render_template
    Read-only

    Render a Klaviyo template with sample data to preview the final HTML/text output.

  • klaviyo_update_dnd_email_template
    Write

    Update an existing drag-and-drop (DND) email template's name, text, or structured definition. The definition fully replaces the existing one — partial section/block updates are not supported.

  • klaviyo_update_template
    Write

    Update an existing Klaviyo email template's name or HTML content.

Metrics

9 tools9 read-only · 0 write

Showing 9 of 9 tools

  • klaviyo_get_custom_metric
    Read-only

    Get a single custom metric by ID, including its aggregation method and metric groups definition.

  • klaviyo_get_custom_metrics
    Read-only

    List all custom metrics (metrics with a custom aggregation definition) in the account.

  • klaviyo_get_flows_triggered_by_metric
    Read-only

    Get all Klaviyo flows that use the given metric as their trigger.

  • klaviyo_get_mapped_metric
    Read-only

    Get the account-specific metric (or custom metric) that Klaviyo has mapped to a standard conceptual metric like 'revenue' or 'started_checkout'.

  • klaviyo_get_mapped_metrics
    Read-only

    List all mapped metrics in the account — the standard conceptual metrics (revenue, started_checkout, viewed_product, etc.) and which account-specific metric or custom metric each is mapped to.

  • klaviyo_get_metric
    Read-only

    Get a single metric by ID.

  • klaviyo_get_metric_property
    Read-only

    Get a single metric property by ID — a property key observed on events for a metric, with its inferred type and label.

  • klaviyo_list_metrics
    Read-only

    List all metrics (event types) tracked in your Klaviyo account.

  • klaviyo_query_metric_aggregates
    Read-only

    Aggregate raw event data for a metric, optionally grouped by dimensions (e.g. $message, $flow, $campaign_channel) and broken into hour/day/week/month intervals. IMPORTANT: aggregates by EVENT time (when the event fired), not send time — for campaign/flow performance matching the Klaviyo UI, use klaviyo_get_campaign_report or klaviyo_get_flow_report instead. Use this only for time-series/dimension breakdowns those two don't support.

Flows

7 tools6 read-only · 1 write

Showing 7 of 7 tools

  • klaviyo_get_flow
    Read-only

    Get a single Klaviyo flow's details and status.

  • klaviyo_get_flow_action
    Read-only

    Get details of a single action/step within a Klaviyo flow.

  • klaviyo_get_flow_message
    Read-only

    Get the content/details of a single message within a Klaviyo flow.

  • klaviyo_get_flow_report
    Read-only

    Get flow performance data (opens, clicks, conversions, deliveries, unsubscribes, etc.) matching what the Klaviyo UI shows, based on send date. Requires conversion_metric_id — use klaviyo_list_metrics to find the metric named 'Placed Order' as a sensible default if none is specified.

  • klaviyo_get_flows_triggered_by_segment
    Read-only

    Get all Klaviyo flows that use the given segment as their trigger.

  • klaviyo_list_flows
    Read-only

    List all automation flows in your Klaviyo account.

  • klaviyo_update_flow_status
    Write

    Activate, pause (manual), or set a Klaviyo flow to draft. Cannot create or edit flow logic — Klaviyo's API doesn't support authoring flows.

Segments

7 tools4 read-only · 3 write

Showing 7 of 7 tools

  • klaviyo_create_segment
    Write

    Create a dynamic segment in Klaviyo from a condition definition.

  • klaviyo_delete_segment
    Write

    Delete a Klaviyo segment.

  • klaviyo_get_segment
    Read-only

    Get a single Klaviyo segment's details and definition.

  • klaviyo_list_segments
    Read-only

    List all segments in your Klaviyo account.

  • klaviyo_query_segment_series
    Read-only

    Get segment membership statistics (members_added, members_removed, net_members_changed, total_members) as a time series broken into hourly/daily/weekly/monthly intervals. Data unavailable before June 1 2023; max timeframe span 1 year.

  • klaviyo_query_segment_values
    Read-only

    Get aggregate segment membership statistics (members_added, members_removed, net_members_changed, total_members) as totals across a timeframe, not broken into a time series. Data unavailable before June 1 2023; max timeframe span 1 year.

  • klaviyo_update_segment
    Write

    Update a Klaviyo segment's name or condition definition.

Lists

6 tools3 read-only · 3 write

Showing 6 of 6 tools

  • klaviyo_create_list
    Write

    Create a new contact list in Klaviyo.

  • klaviyo_delete_list
    Write

    Delete a Klaviyo list.

  • klaviyo_get_flows_triggered_by_list
    Read-only

    Get all Klaviyo flows that use the given list as their trigger.

  • klaviyo_get_list
    Read-only

    Get a single Klaviyo list's details by ID.

  • klaviyo_list_lists
    Read-only

    List all contact lists in your Klaviyo account.

  • klaviyo_update_list
    Write

    Update a Klaviyo list's name or opt-in process.

Tags

6 tools4 read-only · 2 write

Showing 6 of 6 tools

  • klaviyo_create_tag
    Write

    Create a new tag in Klaviyo for organizing campaigns, flows, lists, and segments.

  • klaviyo_get_tag
    Read-only

    Get a single Klaviyo tag by ID.

  • klaviyo_get_tag_group
    Read-only

    Get a single Klaviyo tag group by ID.

  • klaviyo_get_tag_groups
    Read-only

    List all tag groups in the Klaviyo account. Tag groups organize tags into categories; every account has one default tag group.

  • klaviyo_list_tags
    Read-only

    List all tags in the Klaviyo account.

  • klaviyo_tag_resource
    Write

    Apply an existing tag to a campaign, flow, list, or segment.

Events

5 tools4 read-only · 1 write

Showing 5 of 5 tools

  • klaviyo_create_event
    Write

    Track a custom event for a profile in Klaviyo (e.g. Placed Order, Viewed Product).

  • klaviyo_get_download_for_event_bulk_export_job
    Read-only

    Get the download link(s) for a completed event bulk export job's gzipped CSV file.

  • klaviyo_get_event
    Read-only

    Get a single Klaviyo event by ID.

  • klaviyo_get_event_bulk_export_job
    Read-only

    Get the status and details of an event bulk export job. When complete, the response includes expiration and file size of the exported events file.

  • klaviyo_get_events
    Read-only

    List individual Klaviyo event records for a given filter (e.g. profile_id or metric_id). For aggregated metrics, prefer report/aggregate tools instead — this returns raw event rows.

Translations

5 tools2 read-only · 3 write

Showing 5 of 5 tools

  • klaviyo_create_translation
    Write

    BETA. Create a new translation collection linking a Klaviyo resource (campaign variation, flow message, template, or universal content block) to its localization settings for multi-language sends. Valid channel + resource combinations: email -> campaign-variation, flow-message, template, template-universal-content; sms -> campaign-variation, flow-message; mobile_push -> campaign-variation, flow-message; whatsapp -> template only.

  • klaviyo_delete_translation
    Write

    BETA. Delete a translation collection by ID, removing all localization settings and translation values for the resource.

  • klaviyo_get_translation
    Read-only

    BETA. Get a translation collection by ID, returning its localization settings (source/target locales, channel, fallback). Pass include_values to also get the source text and per-locale translations for each translatable field.

  • klaviyo_get_translations
    Read-only

    BETA. List all translation collections in the account. Each translation links a Klaviyo resource (campaign variation, flow message, template, or universal content block) to its localization settings. Supports filtering on channel, resource_type, and related_resource_id.

  • klaviyo_update_translation
    Write

    BETA. Update a translation's settings and/or import translation values. All attributes are optional; only provided fields are updated. To import values, first call klaviyo_get_translation with include_values, then provide the values array with updated translations (each value has a composite id like 'scheduled_message::abc::subject' and a translations map of locale codes to translated text).

More tools

12 tools5 read-only · 7 write

Showing 10 of 10 tools

  • klaviyo_create_coupon
    Write

    Create a coupon in Klaviyo, which coupon codes can then be generated under.

  • klaviyo_create_coupon_codes
    Write

    Bulk-generate unique coupon codes under an existing Klaviyo coupon.

  • klaviyo_create_universal_content
    Write

    Create a reusable universal content block in Klaviyo (button, drop_shadow, horizontal_rule, html, image, spacer, or text) that can be referenced across multiple email templates.

  • klaviyo_delete_universal_content
    Write

    Delete a Klaviyo universal content block.

  • klaviyo_get_account
    Read-only

    Get your Klaviyo account details and contact information.

  • klaviyo_get_all_universal_content
    Read-only

    List all universal content blocks in the Klaviyo account, optionally filtered by name, id, created/updated, or block type.

  • klaviyo_get_image
    Read-only

    Get a single image from the Klaviyo image library by ID.

  • klaviyo_get_universal_content
    Read-only

    Get a single Klaviyo universal content block by ID.

  • klaviyo_list_images
    Read-only

    List images in the Klaviyo account's image library.

  • klaviyo_update_image
    Write

    Rename an image in the Klaviyo library or hide/unhide it from the asset library.

+ 2 more more tools tools see the full catalogue

Every tool name and description, machine-readable: /llms-full.txt

Access & safety

You decide what it can touch

The same model applies to every connector, and it defaults closed.

Authorize once

Connect Klaviyo through its own consent screen. Credentials are encrypted with AES-256-GCM and never returned by any API response or tool call.

Writes off by default

A new connection switches on a read-oriented default set only. Every write tool must be enabled deliberately before any client can call it.

Roles enforced server-side

READ, WRITE and ADMIN gate tool invocation on the server, not just in the UI. A READ member's token is refused any write tool.

Setup

Connect Klaviyo in minutes

No infrastructure to run. Copy one URL and one token into your client.

  1. 1Create a free workspace and connect Klaviyo.
  2. 2Choose which tools to expose — writes stay off until you enable them.
  3. 3Copy your MCP endpoint URL and bearer token.
  4. 4Paste them into Claude, Cursor, or any MCP client.
claude_desktop_config.json
{
  "mcpServers": {
    "serve-mcp": {
      "url": "https://servemcp.com/api/mcp/your-workspace",
      "transport": "http",
      "headers": {
        "Authorization": "Bearer smcp_..."
      }
    }
  }
}

Put Klaviyo in front of your assistant

Free plan, no card required. Connect in minutes.