KosmoKrator

productivity

Klaviyo MCP Integration for Vercel AI SDK

Connect Klaviyo to Vercel AI SDK through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.

15 functions 10 read 5 write API key auth

Connect Klaviyo to Vercel AI SDK

Use KosmoKrator as a local integration gateway for Vercel AI SDK agents and scripts.

Create an MCP client that starts or connects to the KosmoKrator gateway for the selected integration. The gateway is local, scoped to this integration, and starts with --write=deny so Vercel AI SDK can inspect read-capable tools without receiving write access by default.

Klaviyo MCP Config for Vercel AI SDK

Prefer CLI JSON calls when a workflow only needs one deterministic integration operation.

{
  "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

Scoped tools

Expose only Klaviyo instead of a broad multi-service tool list.

Local credentials

Reuse credentials already configured for the KosmoKrator CLI and Lua runtime.

Write policy

Start read-only, then opt into ask or allow for trusted workspaces.

Klaviyo Tools Visible to Vercel AI SDK

Vercel AI SDK sees stable MCP tool names generated from the Klaviyo integration catalog.

MCP toolSource functionTypeDescription
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.

Related Klaviyo Pages