Customer Io
live ReferenceMCP server for Customer Io
Tools
cio_list_campaigns Return Customer.io lifecycle campaigns with IDs, names, state, trigger configuration, actions, tags, and timestamps. Answers which automations exist and whether they are running, drafted, or stopped.
No parameters required.
Try it
cio_campaign_metrics Return time-bucketed Customer.io delivery, bounce, open, click, unsubscribe, and conversion metrics for one campaign. Answers how a lifecycle campaign performed and when engagement changed.
No parameters required.
Try it
cio_list_segments Return Customer.io audience segments with IDs, names, descriptions, dynamic or manual type, build progress, tags, and timestamps. Answers which audiences are available for targeting or analysis.
No parameters required.
Try it
cio_list_messages Return a bounded page of Customer.io message deliveries with recipients, channel, campaign or newsletter parent, and delivery engagement timestamps. Answers which messages reached, bounced, opened, cl
No parameters required.
Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/customer-io/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' curl -X POST https://gateway.pipeworx.io/customer-io/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"cio_list_campaigns","arguments":{}}}' Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("cio_list_campaigns", {}); // Or ask in plain English:
const answer = await px.ask("mcp server for customer io");