Klaviyo MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KLAVIYO_API_BASE | No | Override the Klaviyo API base URL (default https://a.klaviyo.com/api). | https://a.klaviyo.com/api |
| KLAVIYO_KEY_MAIN | No | Private API key for one Klaviyo account. The server also accepts any variable named KLAVIYO_KEY_<name>, e.g., KLAVIYO_KEY_STOREONE. The name after KLAVIYO_KEY_ becomes the account argument. At least one KLAVIYO_KEY_* variable is required. | |
| KLAVIYO_RETRY_BASE_MS | No | Base delay in milliseconds for the retry backoff (default 1000). | 1000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| logging | {} |
| completions | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_accountsA | List all configured Klaviyo accounts. Use this first to see which brands are available. |
| list_campaignsA | List recent email campaigns for a specific Klaviyo account. Returns campaign IDs, names, status, and send dates. |
| campaign_reportA | Get email campaign performance metrics for a Klaviyo account. Returns opens, clicks, revenue, bounce rate, unsubscribes for the specified time period. Rate limited: 2/min. |
| list_metricsA | List available metrics for a Klaviyo account. Use this to find the 'Placed Order' metric ID needed for revenue reporting. |
| multi_account_summaryA | Pull campaign performance summary from ALL configured Klaviyo accounts. Returns a unified cross-brand report. Rate limited: 2/min per account - may take several minutes for many accounts. |
| flow_reportB | Get email flow (automation) performance for a Klaviyo account. Returns metrics for welcome series, abandoned cart, post-purchase, etc. |
| campaign_ab_reportA | Get per-variation (A/B arm) email/SMS campaign metrics for a Klaviyo account. Splits results by variation so you can compare arms. Rate limited: 2/min. |
| flow_series_reportA | Time-series flow (automation) metrics for a Klaviyo account. Buckets by interval. Rate limited: 2/min. |
| segment_reportA | Segment performance metrics for a Klaviyo account: member counts, additions, removals. Rate limited: 2/min. |
| form_reportA | Sign-up form performance for a Klaviyo account: views, submissions, submit rate. Rate limited: 2/min. |
| list_segmentsA | List all segments in a Klaviyo account with name, member count, and creation date. |
| list_listsA | List all email lists in a Klaviyo account with name, opt-in process, and creation date. |
| list_flowsA | List all flows (automations) in a Klaviyo account with name, status, trigger type, and last updated. |
| get_campaign_detailA | Get full details for a single campaign by ID: name, status, send_time, subject, preview text, channel, and message IDs. |
| list_suppressed_profilesA | List profiles suppressed from email marketing for a single reason. Klaviyo only allows |
| metric_aggregateA | Aggregate values for any Klaviyo metric (e.g. opens, clicks, revenue) over a custom timeframe + interval. More flexible than campaign/flow reports - use for any metric. |
| get_templateA | Fetch an email template by ID, including HTML/text content. Use for audit/preview. |
| list_recent_eventsB | List recent events for a Klaviyo account, optionally filtered by metric_id (e.g. Placed Order). Returns up to 100 most recent. |
| account_infoB | Get Klaviyo account metadata: org name, timezone, currency, contact email, industry. |
| list_tagsA | List all tags in a Klaviyo account (used to label campaigns, flows, segments, lists). |
| list_templatesA | List email templates in a Klaviyo account (name, editor type, dates). Use get_template for the HTML of one. |
| get_profileA | Look up a customer profile by email or profile ID: name, location, and email-marketing consent/suppression status. |
| get_flow_detailA | Get a flow's structure by ID: status, trigger, and its actions/steps (type, message channel). Use list_flows for IDs. |
| custom_reportA | Expert escape hatch - run ANY Klaviyo values or series report with full control over statistics, group_by, filter, interval, and timeframe (preset OR custom range, auto-windowed into 1-year chunks back to the 2023-06-01 floor). Returns raw JSON results so you can analyze like a Klaviyo analyst. Use when the specialized report tools do not expose a statistic, dimension, or filter you need. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/scalably-io/klaviyo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server