get_account_detailsLABSCO SUMMARY
Adding ?read-only=true to the endpoint URL is the switch to use, because campaigns send email to your customers.
A tool list this long, 'send campaign' included, is a lot of trust to hand a model. Klaviyo's answer is that the restriction lives in the connection rather than in a prompt: a client configured read-only cannot send, whatever it is asked. core-tools-only addresses the other problem — the full tool list riding along in every request — by trimming to Klaviyo's core set. Restricting authorisation to Owner, Admin and Manager is the third layer, and the right one for a tool that can email a list.
What it is
Klaviyo's own endpoint, with a very large tool surface spread across campaigns, flows, profiles, catalogs and more. Crucially it ships connection parameters that cut that down.
What you get
- Campaigns — create, send and report
- Flows, segments and lists
- Profiles, including bulk import and merge
- Catalogs, email templates, events and metrics
- Coupons, forms and webhooks
- Query parameters on the endpoint URL: read-only=true, core-tools-only=true, and toolsets= to keep only the tool groups you name
Requirements
OAuth with dynamic client registration, and only Owner, Admin or Manager roles may authorise. Klaviyo also publishes a local server that takes a private API key.
Setup effort
Paste a URL, then authorize — add the endpoint to your client, then approve the OAuth consent screen
USE CASES
Analysing performance safely
Connect with read-only=true so reporting cannot become sending.
Keeping the tool list manageable
core-tools-only trims the full tool list down to Klaviyo's core set.
Working with profiles at scale
Bulk import and merge rather than one profile at a time.
Building a campaign
Create, then send — deliberately, from a connection that has write access.
274 tools
Listed in project docs. Your client may show a different list.
get_campaignsget_campaigncreate_campaignassign_template_to_campaign_messageget_campaign_send_jobget_campaign_recipient_estimation_jobget_campaign_recipient_estimationget_campaign_messagerefresh_campaign_recipient_estimationcreate_campaign_cloneupdate_campaigndelete_campaignupdate_campaign_messageupdate_image_for_campaign_messagesend_campaigncancel_campaign_sendget_catalog_itemsget_catalog_itemget_catalog_variantget_catalog_categoryget_bulk_create_catalog_items_jobget_bulk_update_catalog_items_jobget_bulk_delete_catalog_items_jobget_bulk_create_variants_jobget_bulk_update_variants_jobget_bulk_delete_variants_jobget_catalog_variantsget_catalog_categoriesget_bulk_create_catalog_items_jobsget_bulk_update_catalog_items_jobsget_bulk_delete_catalog_items_jobsget_bulk_create_variants_jobsget_bulk_update_variants_jobsget_bulk_delete_variants_jobscreate_catalog_itemupdate_catalog_itemdelete_catalog_itemadd_categories_to_catalog_itemremove_categories_from_catalog_itemupdate_categories_for_catalog_itemcreate_back_in_stock_subscriptioncreate_catalog_variantupdate_catalog_variantdelete_catalog_variantcreate_catalog_categoryupdate_catalog_categorydelete_catalog_categoryadd_items_to_catalog_categoryremove_items_from_catalog_categoryupdate_items_for_catalog_categorybulk_create_catalog_itemsbulk_update_catalog_itemsbulk_delete_catalog_itemsbulk_create_catalog_variantsbulk_update_catalog_variantsbulk_delete_catalog_variantsget_eventscreate_eventget_metricsget_metricquery_metric_aggregatesget_eventget_custom_metricget_mapped_metricget_metric_propertyget_custom_metricsget_mapped_metricsget_flows_triggered_by_metriccreate_custom_metricupdate_custom_metricdelete_custom_metricupdate_mapped_metricbulk_create_eventsget_download_for_event_bulk_export_jobget_event_bulk_export_jobget_flowsget_flowget_flow_messageget_flow_actioncreate_flowupdate_flowdelete_flowupdate_flow_actionget_listsget_listget_segmentsget_segmentget_flows_triggered_by_listget_flows_triggered_by_segmentcreate_listupdate_listdelete_listadd_profiles_to_listremove_profiles_from_listcreate_segmentupdate_segmentdelete_segmentupload_image_from_fileupload_image_from_urlget_imageget_imagesupdate_imageget_profilesget_profilecreate_profileupdate_profilesubscribe_profile_to_marketingunsubscribe_profile_from_marketingget_bulk_import_profiles_jobget_bulk_suppress_profiles_jobget_bulk_unsuppress_profiles_jobget_push_tokenget_bulk_import_profiles_jobsget_bulk_suppress_profiles_jobsget_bulk_unsuppress_profiles_jobsget_push_tokenscreate_or_update_profilecreate_push_tokendelete_push_tokenbulk_import_profilesbulk_suppress_profilesbulk_unsuppress_profilesmerge_profilesget_download_for_profile_bulk_export_jobget_profile_bulk_export_jobget_campaign_reportget_flow_reportquery_form_valuesquery_form_seriesquery_segment_valuesquery_segment_seriescreate_email_templateget_email_templatecreate_dnd_email_templateupdate_dnd_email_templatelist_email_templatesupdate_email_templateclone_email_templatedelete_email_templaterender_email_templateget_universal_contentget_all_universal_contentcreate_universal_contentupdate_universal_contentdelete_universal_contentcreate_template_preview_send_jobget_translationsget_translationcreate_translationupdate_translationdelete_translationget_couponget_bulk_create_coupon_codes_jobget_couponsget_coupon_codesget_coupon_codeget_bulk_create_coupon_code_jobscreate_couponupdate_couponcreate_coupon_codeupdate_coupon_codedelete_coupon_codedelete_couponbulk_create_coupon_codesget_tag_groupget_tagsget_tagget_tag_groupscreate_tagupdate_tagdelete_tagcreate_tag_groupupdate_tag_groupdelete_tag_grouptag_campaignstag_flowstag_liststag_segmentsremove_tag_from_campaignsremove_tag_from_flowsremove_tag_from_listsremove_tag_from_segmentsget_webhookget_webhook_topicsget_webhook_topicget_webhookscreate_webhookupdate_webhookdelete_webhookget_formget_formsget_form_versioncreate_formdelete_formget_reviewsget_reviewupdate_reviewrequest_profile_deletionget_applicationslist_billing_usageget_billing_usagecreate_brand_buttoncreate_brand_colorcreate_brand_logocreate_brand_social_groupdelete_brand_buttondelete_brand_colordelete_brand_logodelete_brand_social_groupget_brand_buttonget_brand_buttonsget_brand_colorget_brand_colorsget_brand_email_defaultget_brand_email_defaultsget_brand_logoget_brand_logosget_brand_social_groupget_brand_social_groupsget_brand_voiceupdate_brand_buttonupdate_brand_colorupdate_brand_email_defaultupdate_brand_logoupdate_brand_social_groupupdate_brand_voicecreate_agent_knowledgecreate_agent_skillcreate_agent_toolcreate_customer_agent_responsedelete_agent_knowledgedelete_agent_secretdelete_agent_skilldelete_agent_toolget_agent_knowledgelist_agent_knowledgeget_agent_secretget_agent_secretsget_agent_skillget_agent_skillsget_agent_toolget_agent_toolsget_customer_agentretrieve_customer_agent_conversationlist_customer_agent_conversationsget_agent_messages_for_customer_agent_conversationget_skills_for_agent_toolget_secrets_for_agent_toolget_secret_ids_for_agent_toolget_tools_for_agent_secretget_tool_ids_for_agent_secretquery_customer_agent_skill_valuesquery_customer_agent_valuesupdate_agent_knowledgeupdate_agent_skillupdate_agent_toolupdate_customer_agentupdate_customer_agent_conversationcreate_sending_domain_activation_jobcreate_sending_domaindelete_sending_domainget_sending_domainget_sending_domainscreate_sending_domain_verification_jobcreate_text_messaging_configurationcreate_text_messaging_sendercreate_text_messaging_sender_registrationget_messaging_sender_registration_id_for_text_messaging_senderget_text_messaging_configurationget_text_messaging_senderget_text_messaging_sender_registrationget_text_messaging_sendersreport_unsupported_taskBEFORE YOU INSTALL
What to know first
Tools you get
274 tools named in the project's documentation. Two of them, create_event and upload_image_from_file, are marked as not available on the remote server, so the hosted endpoint offers 272. Those two need Klaviyo's local server.
Requires
- an MCP client that can reach a remote endpoint
- OAuth with dynamic client registration, limited to Owner, Admin and Manager roles; the local version uses a private API key
INSTALLATION
Connect your client
Add the endpoint to your client, then approve the OAuth consent screen.
Server setup
https://mcp.klaviyo.com/mcpRequirements
- OAuth with dynamic client registration, limited to Owner, Admin and Manager roles; the local version uses a private API key
- To expose only the tools that do not change Klaviyo data, add read-only=true as a query parameter to the endpoint URL: https://mcp.klaviyo.com/mcp?read-only=true. Parameters combine with &, for example https://mcp.klaviyo.com/mcp?read-only=true&core-tools-only=true to also limit the server to the ~40 core tools. The listed Claude connector and ChatGPT app cannot take query parameters; add the URL as a custom connector there instead.