Communication and meetings

The Klaviyo connector.

Profiles, segments and campaign performance. Connect once with your own key. Every agent your team runs reads the same 6 tools under one permission model.

How access is governed

6

Read tools

Open by default. They run when called, and every call is logged with the endpoint, tool and capability.

0

Write tools

Klaviyo exposes no write tools. Nothing it does mutates external state.

0

Destructive tools

Klaviyo defines no destructive tools. Nothing here deletes data.

Defaults come from the capability on each tool definition, and an admin can tighten or open any tool individually. The endpoint's capability ceiling can only tighten that policy. An endpoint scoped to read never surfaces a write tool.

Every Klaviyo tool

6 tools, named as the agent sees them.

  • list_profilesread

    List profiles (people) in the account. Contains personal data, so this returns only identity and recency fields and defaults to 20 profiles. To look one person up rather than browse, pass filter: equals(email,"someone@example.com"). The `id` returned is the profile id used elsewhere in Klaviyo.

  • list_listsread

    List the account's lists (explicit opt-in audiences) with their opt-in process. Use it to find which list a signup form or flow feeds.

  • list_segmentsread

    List the account's segments (rule-based audiences) and whether each is active or still calculating. Segment definitions can be large; this returns the metadata, not the full condition tree.

  • list_campaignsread

    List campaigns for one channel, newest first. Klaviyo requires a channel filter, so this defaults to email. Returns scheduling and status, not performance — feed the `id` to get_campaign_performance for numbers.

  • list_metricsread

    List the account's metrics (tracked events such as "Placed Order" or "Opened Email") and which integration produces each. The `id` of the metric that represents a conversion is the `conversion_metric_id` that get_campaign_performance requires — call this first to find it.

  • get_campaign_performanceread

    Query aggregated campaign performance over a timeframe — sends, opens, clicks, conversions and revenue, grouped by campaign. Klaviyo requires you to name which metric counts as a conversion: get that id from list_metrics first (e.g. the "Placed Order" metric). Reporting only; it sends nothing.

Use it from any agent

The same Klaviyo tools reach Claude Code, Cursor, Claude Desktop or your own agent through one MCP endpoint. The endpoint is scoped to a group, the token is issued per group and revocable from the dashboard, and an allowed-tool list and capability ceiling limit what it exposes. Reads run. Gated writes refuse unless an admin opens them. Destructive tools remain unavailable over MCP.

.mcp.json · works for Cursor and Claude Desktop too
{
  "mcpServers": {
    "growth": {
      "type": "http",
      "url": "https://app.notara.ai/mcp/g/acme/growth",
      "headers": {
        "Authorization": "Bearer ntr_mcp_xxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

The URL and token are placeholders. Real endpoints are issued per group from the dashboard.

Setup

  1. 01

    Create a Klaviyo Private API Key in your Klaviyo account (where to find it). The key is yours: Notara stores it encrypted and never sees a bill.

  2. 02

    Paste it into the Notara dashboard. Credentials can be scoped to the workspace or to one person.

  3. 03

    The tools appear with their capability defaults already set. Tighten or open any of them per tool, then invite the agent to a channel or issue an MCP token.

More in communication and meetings

Connect Klaviyo once. Use it everywhere.

Use Notara directly, or bring us the workflow that needs to be redesigned and built.