What does the Iterable MCP server do?
The Iterable MCP server lets an AI assistant work with an Iterable project through its API. With default settings it reads campaigns, metrics, templates, journeys, lists and experiments. With flags on it also reaches user profiles, changes resources and sends messages. Iterable's announcement describes reads and writes within the permissions your team sets.
TOOLS.mdgroups the 118 tools into 13 areas, from campaigns and templates to users and webhooks. Your client sees only the tools your flags allow.
Is there an official Iterable MCP server?
Yes. Iterable publishes it in its own GitHub org under the MIT license, as the npm package @iterable/mcp, and announced it on its blog. The README says the server is in beta and may change, be suspended or be discontinued without notice. It runs locally, so updates and keys are yours to manage.
What is the Iterable MCP server URL, and how do you sign in?
There's no hosted URL. The server runs locally through npx @iterable/mcp and signs in with an Iterable API key, which setup stores in a local key manager. It calls https://api.iterable.com by default, and the setup tool also offers the EU region or a custom endpoint. You need Node.js 20 or later.
- Keys are kept in
~/.iterable-mcp/keys.json, with values in the Keychain on macOS and encrypted with DPAPI on Windows. On Linux they stay in that file with 0o600 permissions. - One key is active at a time. After
keys activate, restart your client.
What can the Iterable MCP server read and change?
Setup starts read-only, with no PII, writes or sends. ITERABLE_USER_PII adds profile data, ITERABLE_ENABLE_WRITES adds create, update and delete tools, and ITERABLE_ENABLE_SENDS adds messaging, campaign and journey triggers. Sends need writes on. Flags are saved per key, so production can stay read-only while a sandbox key writes.
What it can read
- No flags: campaigns and campaign metrics, templates, journeys, lists and list sizes, catalogs, experiments, snippets and webhooks. That's 31 tools.
ITERABLE_USER_PIIon: user profiles, list members, user events, sent messages and export jobs.
What it can change
ITERABLE_ENABLE_WRITESon: create, update and delete tools for templates, lists, catalogs, campaigns, snippets and user profiles. Tools that touch users also need PII on.ITERABLE_ENABLE_SENDSon: 19 tools, includingsend_campaign,schedule_campaign,trigger_campaign,trigger_journey,send_email,send_smsandtrack_event. Tools aimed at one user, such assend_email, also need PII on.create_blast_campaignneeds writes only. Iterable's README says creating a blast schedules it for delivery, and its tool list says the campaign is created unscheduled. Treat writes as able to reach customers until you've checked this in a sandbox.
How do you set up the Iterable MCP server in Claude, ChatGPT and Cursor?
Run npx @iterable/mcp setup, which configures supported AI tools in read-only mode. Add --advanced to choose PII, writes or sends. Iterable documents Cursor, Claude Desktop, Claude Code, Gemini CLI, Windsurf and Antigravity. It names no ChatGPT steps, and local servers don't work in Claude on the web.
Claude
Iterable documents Claude Desktop and Claude Code. This is a local server, so it goes in claude_desktop_config.json and doesn't work in Claude on the web.
- For Claude Desktop, run
npx @iterable/mcp setup, or add the entry below toclaude_desktop_config.jsonby hand. - For Claude Code, run
npx @iterable/mcp setup --claude-code, which runsclaude mcp addfor you. - Restart your client.
{
"mcpServers": {
"iterable": {
"command": "npx",
"args": ["-y", "@iterable/mcp"]
}
}
}ChatGPT
Iterable names no ChatGPT steps. This is a local server, and a local server reaches ChatGPT only through OpenAI's Secure MCP Tunnel, which Iterable doesn't cover.
Cursor
Iterable documents Cursor. Run npx @iterable/mcp setup --cursor, or add the entry below to ~/.cursor/mcp.json by hand.
{
"mcpServers": {
"iterable": {
"command": "npx",
"args": ["-y", "@iterable/mcp"]
}
}
}What can you ask the Iterable MCP server?
Start read-only with no flags on. These examples fit the tools Iterable lists for campaigns, journeys, lists, experiments and templates. Metrics tools take a date range, and Iterable says to use the narrowest window you can. The template example needs writes on, so run it with a sandbox key.
Reads
Show performance metrics for campaign 12345 from 1 to 7 October. Use that date range only.
Reads
List our journeys and their states, then list the templates we have for email.
Reads
How many users are in list 678? Don't return any user details.
Reads
Compare the variants in experiment 456 and tell me which one is ahead on the email metrics.
Writes
In the sandbox project, update the subject line on email template 789 and show me a preview of the result.
What are the limits of the Iterable MCP server?
Iterable's README describes no send cap or per-tool filter. Turn on sends and you get 19 tools, 13 of which also need PII. The README warns of real, potentially irreversible actions and says reviewing each one is your job. Windsurf and Antigravity allow 100 tools per server, so every flag on can exceed that.
- Iterable advises starting with read-only prompts and enabling write or send options only in a sandbox.
- Flags saved with a key take precedence over environment variables. Change them with
npx @iterable/mcp keys update <name-or-id> --advanced.
How much does the Iterable MCP server cost?
The server is free and MIT licensed, and you run it yourself. You need an Iterable account and an API key. Iterable's pricing page shows no public prices and points you to a demo. Iterable's README and announcement list no separate fee for MCP, so the cost sits in your Iterable plan.
What are the alternatives to the Iterable MCP server?
If you'd rather have a hosted server, rival lifecycle tools run them. Braze, Klaviyo and Customer.io all publish their own. Zapier can expose five Iterable actions as MCP tools, such as updating a user or tracking an event. It has no read actions, so it suits simple updates only.
- Braze MCP: An official hosted server, if you run Braze beside or instead of Iterable.
- Klaviyo MCP: Official hosted and local servers, if you run Klaviyo.
- Customer.io MCP: An official hosted server, if you run Customer.io.
- Zapier MCP: Five Iterable write actions through one Zapier connection.
Which skill goes with the Iterable MCP server?
Use the free Agent write safety skill before you turn on writes or sends, because this server can message real users and delete data. Use the Event naming convention skill too, because track_event sits behind the sends flag, so the event names an assistant sends need to match the names your journeys and campaigns expect.
- Agent write safety: Sets approvals before an agent can send, trigger or delete anything.
- Event naming convention: Keeps event names consistent before they reach your journeys.
We set up Claude Code and MCP for marketing teams, with access scoped per person and approval before anything changes.
Sources
- Iterable: Iterable/mcp-server on GitHub
- Iterable: TOOLS.md
- Iterable: How Iterable's MCP server powers agentic marketing
- Iterable: Pricing
- Zapier: Iterable and Anthropic (Claude) integration
- OpenAI: Add custom MCP server