productivity
Klaviyo MCP Integration for Generic MCP Clients
Connect Klaviyo to Generic MCP Clients through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect Klaviyo to Generic MCP Clients
Connect any stdio-compatible MCP client to local KosmoKrator integration tools.
Register kosmo mcp:serve as the command for a local stdio MCP server. The gateway is local, scoped to this integration, and starts with
--write=deny so MCP clients can inspect read-capable tools without receiving write access by default.
Klaviyo MCP Config for Generic MCP Clients
Start with read-only write policy and expand only for trusted projects.
{
"mcpServers": {
"kosmokrator-klaviyo": {
"type": "stdio",
"command": "kosmo",
"args": [
"mcp:serve",
"--integration=klaviyo",
"--write=deny"
]
}
}
} Run the Gateway Manually
kosmokrator mcp:serve --integration=klaviyo --write=deny Why Use KosmoKrator Here
Expose only Klaviyo instead of a broad multi-service tool list.
Reuse credentials already configured for the KosmoKrator CLI and Lua runtime.
Start read-only, then opt into ask or allow for trusted workspaces.
Klaviyo Tools Visible to MCP clients
MCP clients sees stable MCP tool names generated from the Klaviyo integration catalog.
| MCP tool | Source function | Type | Description |
|---|---|---|---|
integration__klaviyo__klaviyo_create_profile | klaviyo.klaviyo_create_profile | Write | Create a new profile in Klaviyo. Provide at least an email address or phone number. Optionally set first name, last name, and custom properties. Returns the newly created profile with its Klaviyo ID. |
integration__klaviyo__klaviyo_get_profile | klaviyo.klaviyo_get_profile | Read | Retrieve a single Klaviyo profile by its ID. Returns the full profile including email, phone number, name, and custom properties. |
integration__klaviyo__klaviyo_update_profile | klaviyo.klaviyo_update_profile | Write | Update an existing Klaviyo profile by ID. Provide only the fields you want to change — omitted fields are left untouched. Supports updating email, phone number, first name, last name, and custom properties. |
integration__klaviyo__klaviyo_list_profiles | klaviyo.klaviyo_list_profiles | Read | List profiles in Klaviyo with cursor-based pagination. Returns each profile's ID, email, phone number, name, and custom properties. Use the page_cursor from a previous response to fetch the next page of results. |
integration__klaviyo__klaviyo_subscribe_profile | klaviyo.klaviyo_subscribe_profile | Write | Subscribe a profile to a Klaviyo list using their email address. Requires a valid list ID and the subscriber's email. Optionally provide a phone number and an ISO 8601 consented_at timestamp. |
integration__klaviyo__klaviyo_create_event | klaviyo.klaviyo_create_event | Write | Track a new event for an existing Klaviyo profile. Provide the profile ID, event name, and optional properties, numeric value, and timestamp. Events are used to trigger flows and segment profiles based on behaviour. |
integration__klaviyo__klaviyo_get_event | klaviyo.klaviyo_get_event | Read | Retrieve a single Klaviyo event by its ID. Returns the event with its metric name, properties, value, timestamp, and associated profile. |
integration__klaviyo__klaviyo_list_events | klaviyo.klaviyo_list_events | Read | List events in Klaviyo with optional filtering and cursor-based pagination. Supports Klaviyo filter expressions (e.g. "greater-than(timestamp,2024-01-01)") to narrow results. Use page_cursor to paginate through large result sets. |
integration__klaviyo__klaviyo_list_lists | klaviyo.klaviyo_list_lists | Read | List all lists in the connected Klaviyo account. Returns each list's ID, name, and other metadata. Use cursor-based pagination to iterate through large numbers of lists. |
integration__klaviyo__klaviyo_create_list | klaviyo.klaviyo_create_list | Write | Create a new list in Klaviyo. Provide a name for the list. Returns the newly created list with its ID. |
integration__klaviyo__klaviyo_get_list | klaviyo.klaviyo_get_list | Read | Retrieve a single Klaviyo list by its ID. Returns the list's name, member count, and other metadata. |
integration__klaviyo__klaviyo_list_list_profiles | klaviyo.klaviyo_list_list_profiles | Read | List profiles that belong to a specific Klaviyo list. Returns each profile's ID, email, phone number, name, and custom properties. Use cursor-based pagination to iterate through large lists. |
integration__klaviyo__klaviyo_list_flows | klaviyo.klaviyo_list_flows | Read | List all flows in the connected Klaviyo account. Returns each flow's ID, name, status, and other metadata. Use cursor-based pagination to iterate through large numbers of flows. |
integration__klaviyo__klaviyo_get_flow | klaviyo.klaviyo_get_flow | Read | Retrieve a single Klaviyo flow by its ID. Returns the flow's name, status, trigger type, and other metadata. |
integration__klaviyo__klaviyo_list_campaigns | klaviyo.klaviyo_list_campaigns | Read | List all campaigns in the connected Klaviyo account. Returns each campaign's ID, name, status, and other metadata. Use cursor-based pagination to iterate through large numbers of campaigns. |