Skip to content

Connectors · Email & messaging

Klaviyo MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Klaviyo and the rest of your systems. It gives your agent 423 Klaviyo actions (261 reads, 116 writes and 46 that wait for a confirmation) and holds the Klaviyo credential itself, so the agent never does. It paces Klaviyo's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "klaviyo.catalog_items.list",  intent: "check which Klaviyo account is connected"}# Get Catalog Items · read · 1 upstream call
  • 423actionsin one signed file
  • 261readlook, never change
  • 116writecreate and update
  • 46wait for a yesdestructive, confirmed first

Set up

Connect Klaviyo in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect Klaviyo.

    API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.

    • api_keyKlaviyo private API key (pk_...)
    account { op: "connections.requirements", service: "klaviyo" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "klaviyo.catalog_items.list" }# get catalog items · read · 1 upstream callcheck { action: "klaviyo.lists.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Klaviyo at a glance

Sign-in
API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
You provide
api_key
Limits we pace to
10 calls a second and 150 a minute, per connection
API covered
Klaviyo API revision 2026-10-15 (OpenAPI 3.0.2)a.klaviyo.com
Built from
Klaviyo's documentation, read 22 October 2026OpenAPI spec (GitHub)developers.klaviyo.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
254 of 261 reads, for up to 5 minutes; a write clears what it affects
Shared entities
6, so ask can line Klaviyo up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Klaviyo.

423 actions in 97 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 261readlook, never change
  • 116writecreate and update
  • 46destructivewait for a confirmation
  1. Tags

    19

    8 read · 6 write · 5 destructive

    Get Tags · Create Tag · Update Tag · Get Tag

  2. Campaign messages

    18

    14 read · 3 write · 1 destructive

    Create Campaign Message · Get Tag IDs for Campaign Message · Get Tags for Campaign Message · Get Variation IDs for Campaign Message

  3. Object types

    16

    14 read · 1 write · 1 destructive

    Create Object Type · Get Ingestion Log IDs for Object Type · Get Ingestion Logs for Object Type · Get Object Type Relationships

  4. Profiles

    14

    12 read · 2 write · 0 destructive

    Get Profiles · Create Profile · Get Profile · Update Profile

  5. Lists

    13

    8 read · 3 write · 2 destructive

    Get Lists · Create List · Get List · Update List

  6. Object schemas

    13

    5 read · 6 write · 2 destructive

    Create Object Schema · Create Object Schema Relationship · Create Profile Schema Relationship · Get Object Schema Relationships

  7. Translations

    13

    10 read · 2 write · 1 destructive

    Create Translation · Get Translations · Get Translation · Get Campaign Variation for Translation

  8. Catalog items

    12

    6 read · 4 write · 2 destructive

    Get Catalog Items · Create Catalog Item · Get Catalog Item · Update Catalog Item

89 more areas · 305 actions
  • Campaigns 11
  • Segments 11
  • Campaign variations 10
  • Catalog categories 10
  • Flows 9
  • Campaign audiences 8
  • Flow actions 8
  • Profile bulk import jobs 8
  • Coupon codes 7
  • Coupons 7
  • Custom metrics 7
  • Events 7
  • Forms 7
  • Mapped metrics 7
  • Tag groups 7
  • Metrics 6
  • Push tokens 6
  • Brand buttons 5
  • Brand colors 5
  • Brand logos 5
  • Brand social groups 5
  • Catalog variants 5
  • Flow messages 5
  • Template universal content 5
  • Templates 5
  • Text messaging senders 5
  • Web feeds 5
  • Webhooks 5
  • Data sources 4
  • Images 4
  • Brand email defaults 3
  • Campaign send jobs 3
  • Catalog category bulk create jobs 3
  • Catalog category bulk delete jobs 3
  • Catalog category bulk update jobs 3
  • Catalog item bulk create jobs 3
  • Catalog item bulk delete jobs 3
  • Catalog item bulk update jobs 3
  • Catalog variant bulk create jobs 3
  • Catalog variant bulk delete jobs 3
  • Catalog variant bulk update jobs 3
  • Coupon code bulk create jobs 3
  • Form versions 3
  • Metric properties 3
  • Profile suppression bulk create jobs 3
  • Profile suppression bulk delete jobs 3
  • Reviews 3
  • Template conversion jobs 3
  • Tracking settings 3
  • Accounts 2
  • Billing usage 2
  • Brand voice 2
  • Campaign message schedule 2
  • Campaign recipient estimation jobs 2
  • Source mappings 2
  • Text messaging configurations 2
  • Text messaging sender registrations 2
  • Webhook topics 2
  • Back in stock subscriptions 1
  • Campaign audience clone 1
  • Campaign clone 1
  • Campaign message assign template 1
  • Campaign message clone 1
  • Campaign recipient estimations 1
  • Campaign values reports 1
  • Conversation messages 1
  • Data privacy deletion jobs 1
  • Data source record bulk create jobs 1
  • Data source record create jobs 1
  • Event bulk create jobs 1
  • Flow series reports 1
  • Flow values reports 1
  • Form publish jobs 1
  • Form series reports 1
  • Form unpublish jobs 1
  • Form values reports 1
  • Metric aggregates 1
  • Object record bulk delete jobs 1
  • Object records 1
  • Profile import 1
  • Profile merge 1
  • Profile subscription bulk create jobs 1
  • Profile subscription bulk delete jobs 1
  • Segment series reports 1
  • Segment values reports 1
  • Template clone 1
  • Template preview send jobs 1
  • Template render 1
  • Template universal content clone 1

Top actions

The Klaviyo API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 42 of Klaviyo's 42 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
klaviyo.catalog_items.listGet Catalog ItemsGet Catalog Items.readcommerce.product.list112 connectors
klaviyo.lists.listGet ListsGet Lists.readcomm.audience.list26 connectors
klaviyo.segments.listGet SegmentsGet Segments.readcomm.audience_segment.list22 connectors
klaviyo.tags.listGet TagsGet Tags.readcrm.tag.list65 connectors
klaviyo.lists.createCreate ListCreate List.writecomm.audience.create24 connectors
klaviyo.catalog_items.createCreate Catalog ItemCreate Catalog Item.writecommerce.product.create92 connectors
klaviyo.segments.createCreate SegmentCreate Segment.writecomm.audience_segment.create16 connectors
klaviyo.lists.deleteDelete ListDelete List.destructivecomm.audience.delete21 connectors
klaviyo.campaigns.listGet CampaignsGet Campaigns.readcomm.campaign.list41 connectors
klaviyo.campaigns.createCreate CampaignCreate Campaign.writecomm.campaign.create38 connectors
klaviyo.tags.createCreate TagCreate Tag.writecrm.tag.create49 connectors
klaviyo.profiles.listGet ProfilesGet Profiles.readanalytics.profile.list3 connectors

Try it

Prompts to paste into Claude.

Each one names the Klaviyo actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Find the Klaviyo contacts with no email address, so we can clean them up.

    callsklaviyo.profiles.list

  2. Writewrite

    Create List in Klaviyo. Show me exactly what you will send before you save it.

    callsklaviyo.lists.create

  3. Across systemsread

    Which contacts are in both Klaviyo and HaloPSA, and how many are in only one of them?

    callsklaviyo.profiles.listhalopsa.users.list

Across your systems

Klaviyo, joined to the rest of your business.

One ask fetches from Klaviyo and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

  • Which contacts are in both Klaviyo and HaloPSA, and how many are in only one of them?

    klaviyo.profiles.list + halopsa.users.list, on crm.contact · HaloPSA

  • Which contacts are in both Klaviyo and NetSuite, and how many are in only one of them?

    klaviyo.profiles.list + netsuite.views.contacts, on crm.contact · NetSuite

Also mapped by other connectorscrm.contact 192commerce.product 109crm.tag 47comm.audience 27comm.audience_segment 18analytics.profile 3
ask
ask {  intent: "which contacts are in both Klaviyo and HaloPSA, and how many are in only one of them",  steps: [    { action: "klaviyo.profiles.list", as: "people", input: {}, limit: 100, max_pages: 5 },    { action: "halopsa.users.list", as: "people2", input: {}, limit: 100, max_pages: 5 },    { join: {        left: "people",        right: "people2",        on: "crm.contact",        group_by: "people.email",        select: ["people.email", "count(people2.id) as in_halopsa"]    } }  ]}
Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Klaviyo

Destructive actions wait for a yes.

46 Klaviyo actions are destructive. The first 10:

  • Delete Listklaviyo.lists.delete
  • Delete Catalog Itemklaviyo.catalog_items.delete
  • Delete Segmentklaviyo.segments.delete
  • Delete Campaignklaviyo.campaigns.delete
  • Delete Tagklaviyo.tags.delete
  • Delete Couponklaviyo.coupons.delete
  • Remove Profiles from Listklaviyo.lists.remove_profiles_from_list
  • Merge Profilesklaviyo.profile_merge.merge_profiles
  • Delete Flowklaviyo.flows.delete
  • Delete Templateklaviyo.templates.delete

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

doklaviyo.lists.deleteconfirm_policy: human

Delete List?

intent: the user asked me to delete List

run suspended · waiting for a named person · key klaviyo-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "klaviyo-agent",  allowed_actions: ["klaviyo.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "klaviyo.lists.delete", approver: "[email protected]" },    { match: "klaviyo.catalog_items.delete", approver: "[email protected]" },    { match: "klaviyo.segments.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to Klaviyo only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Klaviyo costs on actionlake.

Every Klaviyo action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Klaviyo refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 423 Klaviyo actions
  • 423actions pageeach page of a long list is one call
  • 254reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Klaviyo action.

423 actions by area: the id your agent calls, what it does, and its effect.

Tags19
  • klaviyo.tags.createCreate Tagwrite
  • klaviyo.tags.getGet Tagread
  • klaviyo.tags.listGet Tagsread
  • klaviyo.tags.updateUpdate Tagwrite
  • klaviyo.tags.deleteDelete Tagdestructive
  • klaviyo.tags.get_campaign_ids_for_tagGet Campaign IDs for Tagread
  • and 13 more in this area
Campaign messages18
  • klaviyo.campaign_messages.createCreate Campaign Messagewrite
  • klaviyo.campaign_messages.get_tag_ids_for_campaign_messageGet Tag IDs for Campaign Messageread
  • klaviyo.campaign_messages.get_tags_for_campaign_messageGet Tags for Campaign Messageread
  • klaviyo.campaign_messages.get_variation_ids_for_campaign_messageGet Variation IDs for Campaign Messageread
  • klaviyo.campaign_messages.deleteDelete Campaign Messagedestructive
  • klaviyo.campaign_messages.getGet Campaign Messageread
  • and 12 more in this area
Object types16
  • klaviyo.object_types.createCreate Object Typewrite
  • klaviyo.object_types.get_ingestion_log_ids_for_object_typeGet Ingestion Log IDs for Object Typeread
  • klaviyo.object_types.get_ingestion_logs_for_object_typeGet Ingestion Logs for Object Typeread
  • klaviyo.object_types.get_object_type_relationshipsGet Object Type Relationshipsread
  • klaviyo.object_types.deleteDelete Object Typedestructive
  • klaviyo.object_types.getGet Object Typeread
  • and 10 more in this area
Profiles14
  • klaviyo.profiles.createCreate Profilewrite
  • klaviyo.profiles.getGet Profileread
  • klaviyo.profiles.listGet Profilesread
  • klaviyo.profiles.updateUpdate Profilewrite
  • klaviyo.profiles.get_conversation_for_profileGet Conversation for Profileread
  • klaviyo.profiles.get_conversation_id_for_profileGet Conversation ID for Profileread
  • and 8 more in this area
Lists13
  • klaviyo.lists.createCreate Listwrite
  • klaviyo.lists.getGet Listread
  • klaviyo.lists.listGet Listsread
  • klaviyo.lists.updateUpdate Listwrite
  • klaviyo.lists.add_profiles_to_listAdd Profiles to Listwrite
  • klaviyo.lists.deleteDelete Listdestructive
  • and 7 more in this area
Object schemas13
  • klaviyo.object_schemas.createCreate Object Schemawrite
  • klaviyo.object_schemas.create_object_schema_relationshipCreate Object Schema Relationshipwrite
  • klaviyo.object_schemas.create_profile_schema_relationshipCreate Profile Schema Relationshipwrite
  • klaviyo.object_schemas.get_object_schema_relationshipsGet Object Schema Relationshipsread
  • klaviyo.object_schemas.delete_object_schema_relationshipDelete Object Schema Relationshipdestructive
  • klaviyo.object_schemas.delete_profile_schema_relationshipDelete Profile Schema Relationshipdestructive
  • and 7 more in this area
Translations13
  • klaviyo.translations.createCreate Translationwrite
  • klaviyo.translations.getGet Translationread
  • klaviyo.translations.get_campaign_variation_for_translationGet Campaign Variation for Translationread
  • klaviyo.translations.listGet Translationsread
  • klaviyo.translations.deleteDelete Translationdestructive
  • klaviyo.translations.get_campaign_variation_id_for_translationGet Campaign Variation ID for Translationread
  • and 7 more in this area
Catalog items12
  • klaviyo.catalog_items.createCreate Catalog Itemwrite
  • klaviyo.catalog_items.getGet Catalog Itemread
  • klaviyo.catalog_items.listGet Catalog Itemsread
  • klaviyo.catalog_items.updateUpdate Catalog Itemwrite
  • klaviyo.catalog_items.add_categories_to_catalog_itemAdd Categories to Catalog Itemwrite
  • klaviyo.catalog_items.deleteDelete Catalog Itemdestructive
  • and 6 more in this area
Campaigns11
  • klaviyo.campaigns.createCreate Campaignwrite
  • klaviyo.campaigns.getGet Campaignread
  • klaviyo.campaigns.listGet Campaignsread
  • klaviyo.campaigns.updateUpdate Campaignwrite
  • klaviyo.campaigns.deleteDelete Campaigndestructive
  • klaviyo.campaigns.get_audience_ids_for_campaignGet Audience IDs for Campaignread
  • and 5 more in this area
Segments11
  • klaviyo.segments.createCreate Segmentwrite
  • klaviyo.segments.getGet Segmentread
  • klaviyo.segments.listGet Segmentsread
  • klaviyo.segments.updateUpdate Segmentwrite
  • klaviyo.segments.deleteDelete Segmentdestructive
  • klaviyo.segments.get_flows_triggered_by_segmentGet Flows Triggered by Segmentread
  • and 5 more in this area
Campaign variations10
  • klaviyo.campaign_variations.createCreate Campaign Variationwrite
  • klaviyo.campaign_variations.getGet Campaign Variationread
  • klaviyo.campaign_variations.get_image_for_campaign_variationGet Image for Campaign Variationread
  • klaviyo.campaign_variations.get_image_id_for_campaign_variationGet Image ID for Campaign Variationread
  • klaviyo.campaign_variations.deleteDelete Campaign Variationdestructive
  • klaviyo.campaign_variations.get_message_for_campaign_variationGet Message for Campaign Variationread
  • and 4 more in this area
Catalog categories10
  • klaviyo.catalog_categories.add_items_to_catalog_categoryAdd Items to Catalog Categorywrite
  • klaviyo.catalog_categories.createCreate Catalog Categorywrite
  • klaviyo.catalog_categories.get_item_ids_for_catalog_categoryGet Item IDs for Catalog Categoryread
  • klaviyo.catalog_categories.get_items_for_catalog_categoryGet Items for Catalog Categoryread
  • klaviyo.catalog_categories.deleteDelete Catalog Categorydestructive
  • klaviyo.catalog_categories.getGet Catalog Categoryread
  • and 4 more in this area
Flows9
  • klaviyo.flows.createCreate Flowwrite
  • klaviyo.flows.getGet Flowread
  • klaviyo.flows.listGet Flowsread
  • klaviyo.flows.updateUpdate Flow Statuswrite
  • klaviyo.flows.deleteDelete Flowdestructive
  • klaviyo.flows.get_action_ids_for_flowGet Action IDs for Flowread
  • and 3 more in this area
Campaign audiences8
  • klaviyo.campaign_audiences.createCreate Campaign Audiencewrite
  • klaviyo.campaign_audiences.getGet Campaign Audienceread
  • klaviyo.campaign_audiences.get_campaign_messages_for_campaign_audienceGet Campaign Messages for Campaign Audienceread
  • klaviyo.campaign_audiences.get_message_ids_for_campaign_audienceGet Message IDs for Campaign Audienceread
  • klaviyo.campaign_audiences.deleteDelete Campaign Audiencedestructive
  • klaviyo.campaign_audiences.get_campaign_for_campaign_audienceGet Campaign for Campaign Audienceread
  • and 2 more in this area
Flow actions8
  • klaviyo.flow_actions.createCreate Flow Actionwrite
  • klaviyo.flow_actions.getGet Flow Actionread
  • klaviyo.flow_actions.get_flow_action_messagesGet Messages For Flow Actionread
  • klaviyo.flow_actions.get_message_ids_for_flow_actionGet Message IDs for Flow Actionread
  • klaviyo.flow_actions.deleteDelete Flow Actiondestructive
  • klaviyo.flow_actions.get_flow_for_flow_actionGet Flow for Flow Actionread
  • and 2 more in this area
Profile bulk import jobs8
  • klaviyo.profile_bulk_import_jobs.bulk_import_profilesBulk Import Profileswrite
  • klaviyo.profile_bulk_import_jobs.get_errors_for_bulk_import_profiles_jobGet Errors for Bulk Import Profiles Jobread
  • klaviyo.profile_bulk_import_jobs.get_list_for_bulk_import_profiles_jobGet List for Bulk Import Profiles Jobread
  • klaviyo.profile_bulk_import_jobs.get_list_ids_for_bulk_import_profiles_jobGet List IDs for Bulk Import Profiles Jobread
  • klaviyo.profile_bulk_import_jobs.get_bulk_import_profiles_jobGet Bulk Import Profiles Jobread
  • klaviyo.profile_bulk_import_jobs.get_profile_ids_for_bulk_import_profiles_jobGet Profile IDs for Bulk Import Profiles Jobread
  • and 2 more in this area
Coupon codes7
  • klaviyo.coupon_codes.createCreate Coupon Codewrite
  • klaviyo.coupon_codes.getGet Coupon Coderead
  • klaviyo.coupon_codes.get_coupon_for_coupon_codeGet Coupon For Coupon Coderead
  • klaviyo.coupon_codes.listGet Coupon Codesread
  • klaviyo.coupon_codes.deleteDelete Coupon Codedestructive
  • klaviyo.coupon_codes.get_coupon_id_for_coupon_codeGet Coupon ID for Coupon Coderead
  • and 1 more in this area
Coupons7
  • klaviyo.coupons.createCreate Couponwrite
  • klaviyo.coupons.getGet Couponread
  • klaviyo.coupons.listGet Couponsread
  • klaviyo.coupons.updateUpdate Couponwrite
  • klaviyo.coupons.deleteDelete Coupondestructive
  • klaviyo.coupons.get_coupon_code_ids_for_couponGet Coupon Code IDs for Couponread
  • and 1 more in this area
Custom metrics7
  • klaviyo.custom_metrics.createCreate Custom Metricwrite
  • klaviyo.custom_metrics.get_metric_ids_for_custom_metricGet Metric IDs for Custom Metricread
  • klaviyo.custom_metrics.get_metrics_for_custom_metricGet Metrics for Custom Metricread
  • klaviyo.custom_metrics.listGet Custom Metricsread
  • klaviyo.custom_metrics.deleteDelete Custom Metricdestructive
  • klaviyo.custom_metrics.getGet Custom Metricread
  • and 1 more in this area
Events7
  • klaviyo.events.createCreate Eventwrite
  • klaviyo.events.getGet Eventread
  • klaviyo.events.get_metric_for_eventGet Metric for Eventread
  • klaviyo.events.listGet Eventsread
  • klaviyo.events.get_metric_id_for_eventGet Metric ID for Eventread
  • klaviyo.events.get_profile_for_eventGet Profile for Eventread
  • and 1 more in this area
Forms7
  • klaviyo.forms.createCreate Formwrite
  • klaviyo.forms.get_version_ids_for_formGet Version IDs for Formread
  • klaviyo.forms.get_versions_for_formGet Versions for Formread
  • klaviyo.forms.listGet Formsread
  • klaviyo.forms.deleteDelete Formdestructive
  • klaviyo.forms.getGet Formread
  • and 1 more in this area
Mapped metrics7
  • klaviyo.mapped_metrics.getGet Mapped Metricread
  • klaviyo.mapped_metrics.get_custom_metric_for_mapped_metricGet Custom Metric for Mapped Metricread
  • klaviyo.mapped_metrics.get_custom_metric_id_for_mapped_metricGet Custom Metric ID for Mapped Metricread
  • klaviyo.mapped_metrics.listGet Mapped Metricsread
  • klaviyo.mapped_metrics.get_metric_for_mapped_metricGet Metric for Mapped Metricread
  • klaviyo.mapped_metrics.get_metric_id_for_mapped_metricGet Metric ID for Mapped Metricread
  • and 1 more in this area
Tag groups7
  • klaviyo.tag_groups.createCreate Tag Groupwrite
  • klaviyo.tag_groups.get_tag_ids_for_tag_groupGet Tag IDs for Tag Groupread
  • klaviyo.tag_groups.get_tags_for_tag_groupGet Tags for Tag Groupread
  • klaviyo.tag_groups.listGet Tag Groupsread
  • klaviyo.tag_groups.deleteDelete Tag Groupdestructive
  • klaviyo.tag_groups.getGet Tag Groupread
  • and 1 more in this area
Metrics6
  • klaviyo.metrics.getGet Metricread
  • klaviyo.metrics.get_flows_triggered_by_metricGet Flows Triggered by Metricread
  • klaviyo.metrics.get_ids_for_flows_triggered_by_metricGet IDs for Flows Triggered by Metricread
  • klaviyo.metrics.listGet Metricsread
  • klaviyo.metrics.get_properties_for_metricGet Properties for Metricread
  • klaviyo.metrics.get_property_ids_for_metricGet Property IDs for Metricread
Push tokens6
  • klaviyo.push_tokens.createCreate or Update Push Tokenwrite
  • klaviyo.push_tokens.getGet Push Tokenread
  • klaviyo.push_tokens.get_profile_for_push_tokenGet Profile for Push Tokenread
  • klaviyo.push_tokens.listGet Push Tokensread
  • klaviyo.push_tokens.deleteDelete Push Tokendestructive
  • klaviyo.push_tokens.get_profile_id_for_push_tokenGet Profile ID for Push Tokenread
Brand buttons5
  • klaviyo.brand_buttons.createCreate Brand Buttonwrite
  • klaviyo.brand_buttons.getGet Brand Buttonread
  • klaviyo.brand_buttons.listGet Brand Buttonsread
  • klaviyo.brand_buttons.updateUpdate Brand Buttonwrite
  • klaviyo.brand_buttons.deleteDelete Brand Buttondestructive
Brand colors5
  • klaviyo.brand_colors.createCreate Brand Colorwrite
  • klaviyo.brand_colors.getGet Brand Colorread
  • klaviyo.brand_colors.listGet Brand Colorsread
  • klaviyo.brand_colors.updateUpdate Brand Colorwrite
  • klaviyo.brand_colors.deleteDelete Brand Colordestructive
Brand logos5
  • klaviyo.brand_logos.createCreate Brand Logowrite
  • klaviyo.brand_logos.getGet Brand Logoread
  • klaviyo.brand_logos.listGet Brand Logosread
  • klaviyo.brand_logos.updateUpdate Brand Logowrite
  • klaviyo.brand_logos.deleteDelete Brand Logodestructive
Brand social groups5
  • klaviyo.brand_social_groups.createCreate Brand Social Groupwrite
  • klaviyo.brand_social_groups.getGet Brand Social Groupread
  • klaviyo.brand_social_groups.listGet Brand Social Groupsread
  • klaviyo.brand_social_groups.updateUpdate Brand Social Groupwrite
  • klaviyo.brand_social_groups.deleteDelete Brand Social Groupdestructive
Catalog variants5
  • klaviyo.catalog_variants.createCreate Catalog Variantwrite
  • klaviyo.catalog_variants.getGet Catalog Variantread
  • klaviyo.catalog_variants.listGet Catalog Variantsread
  • klaviyo.catalog_variants.updateUpdate Catalog Variantwrite
  • klaviyo.catalog_variants.deleteDelete Catalog Variantdestructive

Flow messages 5Template universal content 5Templates 5Text messaging senders 5Web feeds 5Webhooks 5Data sources 4Images 4Brand email defaults 3Campaign send jobs 3Catalog category bulk create jobs 3Catalog category bulk delete jobs 3Catalog category bulk update jobs 3Catalog item bulk create jobs 3Catalog item bulk delete jobs 3Catalog item bulk update jobs 3Catalog variant bulk create jobs 3Catalog variant bulk delete jobs 3Catalog variant bulk update jobs 3Coupon code bulk create jobs 3Form versions 3Metric properties 3Profile suppression bulk create jobs 3Profile suppression bulk delete jobs 3Reviews 3Template conversion jobs 3Tracking settings 3Accounts 2Billing usage 2Brand voice 2Campaign message schedule 2Campaign recipient estimation jobs 2Source mappings 2Text messaging configurations 2Text messaging sender registrations 2Webhook topics 2Back in stock subscriptions 1Campaign audience clone 1Campaign clone 1Campaign message assign template 1Campaign message clone 1Campaign recipient estimations 1Campaign values reports 1Conversation messages 1Data privacy deletion jobs 1Data source record bulk create jobs 1Data source record create jobs 1Event bulk create jobs 1Flow series reports 1Flow values reports 1Form publish jobs 1Form series reports 1Form unpublish jobs 1Form values reports 1Metric aggregates 1Object record bulk delete jobs 1Object records 1Profile import 1Profile merge 1Profile subscription bulk create jobs 1Profile subscription bulk delete jobs 1Segment series reports 1Segment values reports 1Template clone 1Template preview send jobs 1Template render 1Template universal content clone 1

This index shows a sample of each area. All 423 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.

Questions

The Klaviyo MCP server, answered.

Is there a Klaviyo MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 423 Klaviyo actions across tags, campaign messages, object types and profiles, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Klaviyo.

What do I need to connect Klaviyo?

Klaviyo private API key (pk_...). The free call account { op: "connections.requirements", service: "klaviyo" } lists exactly what to paste.

Can an AI agent delete or change things in Klaviyo?

Only if its key allows it, and only with an explicit confirmation. 46 Klaviyo actions are destructive, including delete List, delete Catalog Item and delete Segment. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my Klaviyo API limit?

actionlake paces every call to the limits in the Klaviyo service file: 10 calls a second and 150 a minute per connection. Repeated reads are answered from cache (254 Klaviyo actions can be), which never reaches Klaviyo.

What does a Klaviyo action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (423 Klaviyo actions page). Cache hits, searches, dry runs and calls Klaviyo refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which Klaviyo API does it cover?

The Klaviyo API revision 2026-10-15 (OpenAPI 3.0.2) at a.klaviyo.com. It is built from Klaviyo's documentation as read on 22 October 2026. 423 actions in 97 areas, each one in the signed service file (version 1.0.0).

Can I combine Klaviyo with my other systems?

Yes. ask joins Klaviyo to HaloPSA or NetSuite on the same customer and returns the answer rather than every row. Klaviyo maps crm.contact, which 192 other connectors also map.

Does actionlake keep my Klaviyo data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Klaviyo credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent Klaviyo today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.