Klaviyo MCP
MCPB · KLAVIYO-MCP.MCPB · 2 COMPONENTS · SCANNED SEP 20
Klaviyo MCP: campaigns, flows, segments, metrics, reports, profiles across many accounts. 24 tools.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security23
- Malware scan not yet available for this package.Unverified
- Known CVEs were checked across the 191 of 191 dependencies we could resolve, so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- 71 of 191 dependencies flagged as unhealthy (2 deprecated). View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 11 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability77
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2666 tokens (~111/item across 24 items; 24 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management37
- Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 95% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 24 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 24 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
mcpb · klaviyo-mcp.mcpb
Download bundleEvery change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 +3
- Stability: unverified → 0.23 ▲ functional
- 9 Sept 26 48
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed mcpb/https://github.com/scalably-io/klaviyo-mcp/releases/download/v1.0.0/klaviyo-mcp.mcpb
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | mcpb |
Background: How many MCP packages publish verified provenance →
Dependencies 191 packages
| Packages resolved | 191 |
|---|---|
| Deprecated | 2 |
| Stale | 70 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
account_info ~36
Get Klaviyo account metadata: org name, timezone, currency, contact email, industry.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
No output schema declared.
No examples provided.
campaign_ab_report ~188
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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
| campaign_id | string | – | Filter to a single campaign ID. |
| conversion_metric_id | string | yes | Placed Order metric ID. Get from list_metrics. |
| end | string | – | Custom range end, YYYY-MM-DD. Defaults to today. |
| quarter | integer | – | Quarter 1-4 (with year) - convenience for a full quarter. |
| start | string | – | Custom range start, YYYY-MM-DD. Overrides timeframe. Data floor: 2023-06-01 (earlier is clamped). |
| timeframe | string | – | – |
| year | integer | – | Year for quarter, e.g. 2024. |
No output schema declared.
No examples provided.
campaign_report ~203
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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
| conversion_metric_id | string | yes | Metric ID for revenue tracking (Placed Order). REQUIRED by Klaviyo API. Get from list_metrics tool first. |
| end | string | – | Custom range end, YYYY-MM-DD. Defaults to today. |
| quarter | integer | – | Quarter 1-4 (with year) - convenience for a full quarter. |
| start | string | – | Custom range start, YYYY-MM-DD. Overrides timeframe. Data floor: 2023-06-01 (earlier is clamped). |
| timeframe | string | – | Preset period. Default: last_30_days. Ignored if a custom range is given. |
| year | integer | – | Year for quarter, e.g. 2024. |
No output schema declared.
No examples provided.
custom_report ~391
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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
| conversion_metric_id | string | – | Required whenever you request a revenue/conversion statistic (e.g. conversion_value, conversion_rate). |
| end | string | – | Custom range end, YYYY-MM-DD. Defaults to today. |
| filter | string | – | Raw Klaviyo filter expression, e.g. equals(campaign_id,"01ABC"). You own its correctness. |
| group_by | array | – | Grouping dimensions, e.g. ["campaign_id","send_channel"]. |
| interval | string | – | For *-series-report only: hourly/daily/weekly/monthly. Default daily. |
| quarter | integer | – | Quarter 1-4 (with year) - convenience for a full quarter. |
| report_type | string | yes | Which Klaviyo report to run. NOTE: there is no campaign-series-report - campaign reports are values-only; use metric_aggregate or per-period campaign-values for campaign trends. |
| start | string | – | Custom range start, YYYY-MM-DD. Overrides timeframe. Data floor: 2023-06-01 (earlier is clamped). |
| statistics | array | yes | Statistics to fetch, e.g. ["recipients","open_rate","conversion_value"]. Must be valid for the chosen report_type. |
| timeframe | string | – | Preset period, OR use start/end/quarter/year. |
| year | integer | – | Year for quarter, e.g. 2024. |
No output schema declared.
No examples provided.
flow_report ~189
Get email flow (automation) performance for a Klaviyo account. Returns metrics for welcome series, abandoned cart, post-purchase, etc.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
| conversion_metric_id | string | yes | Metric ID for revenue tracking (Placed Order). REQUIRED. Get from list_metrics tool first. |
| end | string | – | Custom range end, YYYY-MM-DD. Defaults to today. |
| quarter | integer | – | Quarter 1-4 (with year) - convenience for a full quarter. |
| start | string | – | Custom range start, YYYY-MM-DD. Overrides timeframe. Data floor: 2023-06-01 (earlier is clamped). |
| timeframe | string | – | Preset period. Default: last_30_days. Ignored if a custom range is given. |
| year | integer | – | Year for quarter, e.g. 2024. |
No output schema declared.
No examples provided.
flow_series_report ~163
Time-series flow (automation) metrics for a Klaviyo account. Buckets by interval. Rate limited: 2/min.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
| conversion_metric_id | string | yes | Placed Order metric ID. |
| end | string | – | Custom range end, YYYY-MM-DD. Defaults to today. |
| interval | string | – | – |
| quarter | integer | – | Quarter 1-4 (with year) - convenience for a full quarter. |
| start | string | – | Custom range start, YYYY-MM-DD. Overrides timeframe. Data floor: 2023-06-01 (earlier is clamped). |
| timeframe | string | – | – |
| year | integer | – | Year for quarter, e.g. 2024. |
No output schema declared.
No examples provided.
form_report ~140
Sign-up form performance for a Klaviyo account: views, submissions, submit rate. Rate limited: 2/min.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
| end | string | – | Custom range end, YYYY-MM-DD. Defaults to today. |
| quarter | integer | – | Quarter 1-4 (with year) - convenience for a full quarter. |
| start | string | – | Custom range start, YYYY-MM-DD. Overrides timeframe. Data floor: 2023-06-01 (earlier is clamped). |
| timeframe | string | – | – |
| year | integer | – | Year for quarter, e.g. 2024. |
No output schema declared.
No examples provided.
get_campaign_detail ~56
Get full details for a single campaign by ID: name, status, send_time, subject, preview text, channel, and message IDs.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
| campaign_id | string | yes | Campaign ID. |
No output schema declared.
No examples provided.
get_flow_detail ~58
Get a flow's structure by ID: status, trigger, and its actions/steps (type, message channel). Use list_flows for IDs.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
| flow_id | string | yes | Flow ID. |
No output schema declared.
No examples provided.
get_profile ~68
Look up a customer profile by email or profile ID: name, location, and email-marketing consent/suppression status.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
| string | – | Email address to look up. | |
| profile_id | string | – | Profile ID (alternative to email). |
No output schema declared.
No examples provided.
get_template ~63
Fetch an email template by ID, including HTML/text content. Use for audit/preview.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
| include_html | boolean | – | Include full HTML body. Default false (truncated). |
| template_id | string | yes | Template ID. |
No output schema declared.
No examples provided.
list_accounts ~26
List all configured Klaviyo accounts. Use this first to see which brands are available.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_campaigns ~76
List recent email campaigns for a specific Klaviyo account. Returns campaign IDs, names, status, and send dates.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name (e.g., 'my-store' or 'My Store') |
| status | string | – | Filter by campaign status (case-sensitive Klaviyo values). Default: all. |
No output schema declared.
No examples provided.
list_flows ~53
List all flows (automations) in a Klaviyo account with name, status, trigger type, and last updated.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
| status | string | – | Filter by status. |
No output schema declared.
No examples provided.
list_lists ~38
List all email lists in a Klaviyo account with name, opt-in process, and creation date.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
No output schema declared.
No examples provided.
list_metrics ~43
List available metrics for a Klaviyo account. Use this to find the 'Placed Order' metric ID needed for revenue reporting.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
No output schema declared.
No examples provided.
list_recent_events ~93
List recent events for a Klaviyo account, optionally filtered by metric_id (e.g. Placed Order). Returns up to 100 most recent.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
| metric_id | string | – | Filter to events for one metric. |
| page_cursor | string | – | Cursor from the previous page. |
| page_size | integer | – | Default 25, maximum 100 per page. |
No output schema declared.
No examples provided.
list_segments ~36
List all segments in a Klaviyo account with name, member count, and creation date.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
No output schema declared.
No examples provided.
list_suppressed_profiles ~106
List profiles suppressed from email marketing for a single reason. Klaviyo only allows `equals` (not `any`) for suppression.reason, so call once per reason if you need a full picture. Up to 100 per call. Use cursor for pagination.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
| page_cursor | string | – | Cursor from previous page. |
| reason | string | yes | Suppression reason. Required - Klaviyo allows only `equals` here. |
No output schema declared.
No examples provided.
list_tags ~38
List all tags in a Klaviyo account (used to label campaigns, flows, segments, lists).
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
No output schema declared.
No examples provided.
list_templates ~43
List email templates in a Klaviyo account (name, editor type, dates). Use get_template for the HTML of one.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
No output schema declared.
No examples provided.
metric_aggregate ~192
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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
| end | string | – | Custom end YYYY-MM-DD. Defaults to now. |
| interval | string | – | Note: metric-aggregates uses singular (hour/day/week/month), NOT the series-report plural form. |
| measurement | string | – | count, sum_value (revenue), or unique. Default count. |
| metric_id | string | yes | Metric ID. Get from list_metrics. |
| start | string | – | Custom start YYYY-MM-DD. Raw events have NO 2023 floor - reaches back to account inception. Max 1 year per call. |
| timeframe | string | – | Preset lookback. Use this OR start/end. Default: last_30_days. |
No output schema declared.
No examples provided.
multi_account_summary ~227
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.
| Name | Type | Req | Description |
|---|---|---|---|
| conversion_metric_ids | object | – | Map of account name → Placed Order metric ID (from the klaviyo skill table). STRONGLY recommended: accounts often have duplicate "Placed Order" metrics and auto-discovery can pick the wrong one (reve… |
| end | string | – | Custom range end, YYYY-MM-DD. Defaults to today. |
| quarter | integer | – | Quarter 1-4 (with year) - convenience for a full quarter. |
| start | string | – | Custom range start, YYYY-MM-DD. Overrides timeframe. Data floor: 2023-06-01 (earlier is clamped). |
| timeframe | string | – | Preset period. Default: last_30_days. Ignored if a custom range is given. |
| year | integer | – | Year for quarter, e.g. 2024. |
No output schema declared.
No examples provided.
segment_report ~140
Segment performance metrics for a Klaviyo account: member counts, additions, removals. Rate limited: 2/min.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name |
| end | string | – | Custom range end, YYYY-MM-DD. Defaults to today. |
| quarter | integer | – | Quarter 1-4 (with year) - convenience for a full quarter. |
| start | string | – | Custom range start, YYYY-MM-DD. Overrides timeframe. Data floor: 2023-06-01 (earlier is clamped). |
| timeframe | string | – | – |
| year | integer | – | Year for quarter, e.g. 2024. |
No output schema declared.
No examples provided.
What is the Klaviyo MCP server?
Klaviyo MCP is listed in the public MCP registry as io.scalably/klaviyo-mcp. Klaviyo MCP: campaigns, flows, segments, metrics, reports, profiles across many accounts. 24 tools. This page covers its MCPB bundle (https://github.com/scalably-io/klaviyo-mcp/releases/download/v1.0.0/klaviyo-mcp.mcpb).
Is the Klaviyo MCP server safe to use?
Klaviyo MCP scores 53 out of 100 on VerifyMCP. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Klaviyo MCP server expose?
Klaviyo MCP exposes 24 tools: list_accounts, list_campaigns, campaign_report, list_metrics, multi_account_summary, and 19 more. Their descriptions and schemas cost roughly 2,666 tokens of context every time the server is loaded.
What licence is the Klaviyo MCP server under?
Klaviyo MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.