Connect your AI Agents to Klaviyo in minutes

Merge lets you securely connect your agents to Klaviyo and thousands of tools instantly

Available tools

create_campaign

Create a new Klaviyo email or SMS campaign. Requires a name, channel (email/sms), and audiences with included list IDs. Use list_lists to find valid list IDs.

get_campaign

Get a Klaviyo campaign by ID. Returns campaign details including name, status, and channel. Use list_campaigns to find valid campaign IDs.

update_campaign

Update a Klaviyo campaign's name or audiences. Only provided fields are updated. Use get_campaign to verify current state first.

delete_campaign

Delete a Klaviyo campaign. Only draft campaigns can be deleted. Use list_campaigns to find valid campaign IDs.

list_campaigns

List Klaviyo campaigns, optionally filtered by channel (email or sms). Returns campaign IDs, names, statuses, and channels.

send_campaign

Send a Klaviyo campaign immediately. The campaign must be in a sendable state (not draft). Use get_campaign to check status first.

create_event

Create a new Klaviyo event (e.g. Placed Order, Viewed Product) for a profile. Events are used to track actions and trigger flows. Use list_profiles to find profile IDs.

get_event

Get a Klaviyo event by ID. Returns event details including metric, profile, properties, and timestamp.

list_events

List Klaviyo events with optional filters by metric ID or profile ID, and pagination. Use list_metrics to find metric IDs. Use cursor from page_info for next page.

get_flow

Get a Klaviyo flow by ID. Returns flow details including name and status (live, draft, manual). Use list_flows to find valid flow IDs.

list_flows

List all Klaviyo flows. Flows are automated sequences triggered by events or conditions. Returns flow IDs, names, and statuses.

update_flow_status

Update a Klaviyo flow's status to live, draft, or manual. Use get_flow to check current status first.

How to set up Merge Agent Handler

In an mcp.json file, add the configuration below, and restart Cursor.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5      "headers": {
6        "Authorization": "Bearer yMt*****"
7      }
8    }
9  }
10}
11
Copy Code

Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.

Make sure Claude is using the Node v20+.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "command": "npx",
5      "args": [
6        "-y",
7        "mcp-remote@latest",
8        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9        "--header",
10        "Authorization: Bearer ${AUTH_TOKEN}"
11      ],
12      "env": {
13        "AUTH_TOKEN": "yMt*****"
14      }
15    }
16  }
17}
Copy Code
Copied!

Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.

Learn more in the official documentation ↗

1{
2    "mcpServers": {
3      "agent-handler": {
4        "command": "npx",
5        "args": [
6          "-y",
7          "mcp-remote@latest",
8          "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9          "--header",
10          "Authorization: Bearer ${AUTH_TOKEN}"
11        ],
12        "env": {
13          "AUTH_TOKEN": "<ah-production-access-key>"
14        }
15      }
16    }
17  }
Copy Code

In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".

You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.

Learn more in the official documentation ↗

1{
2  "inputs": [
3    {
4      "type": "promptString",
5      "id": "agent-handler-auth",
6      "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7      "password": true
8    }
9  ],
10  "servers": {
11    "agent-handler": {
12      "type": "stdio",
13      "command": "npx",
14      "args": [
15        "-y",
16        "mcp-remote@latest",
17        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18        "--header",
19        "Authorization: Bearer ${input:agent-handler-auth}"
20      ]
21    }
22  }
23}
Copy Code

FAQs on using Merge's Klaviyo  MCP server

FAQs on using Merge's Klaviyo  MCP server

Explore other MCP servers built and managed by Merge

gmail
Gmail
gong
Gong
google_bigquery
Google BigQuery
google_calendar
Google Calendar
google_docs
Google Docs
google_drive
Google Drive
google_maps
Google Maps
google_meet
Google Meet
google_sheets
Google Sheets
google_slides
Google Slides
greenhouse
Greenhouse
hibob
HiBob
hubspot
HubSpot
intercom
Intercom
jira
Jira
jira_service_management
Jira Service Management
kintone
Kintone
linear
Linear
linkedin
LinkedIn
looker
Looker
make
Make
microsoft_teams
Microsoft Teams
microsoft_teams_gcc
Microsoft Teams GCC High
miro
Miro

Ready to try it out?

Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now