Customer Io
liveReferenceReturn Customer.io lifecycle campaigns with IDs, names, state, trigger configuration, actions, tags, and timestamps.
Tools
cio_list_campaignsReturn 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_metricsReturn 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_segmentsReturn 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_messagesReturn 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("return customer");