PlugWiki

Iterable MCP Server, Iterable's official MCP server (beta)

Official · by IterableLocal
Getnpm@iterable/mcpiterable/mcp-serverDocs

Lets your AI assistant look up Iterable campaigns, templates, journeys and users, and, if you allow it, build and send campaigns.

This is Iterable's own server, still in beta. It runs on your computer and lets Claude, Cursor and other desktop apps read your Iterable project: campaigns, metrics, templates, journeys, catalogs and lists. It starts read-only, with customer data, changes and sends all switched off. You can turn those on per API key, but sends reach real customers, so try them on a sandbox project first.

Good for

  • Lifecycle marketers who want campaign and email stats by asking Claude
  • CRM and email teams drafting templates and campaigns in a sandbox project
  • Support and growth staff looking up a customer's events and list memberships
  • Developers working with catalogs, lists and data exports from Claude Code or Cursor

Works in

5 supported · 7 should work

Tap an app to see how to set it up and any known problems.

Install mcp-server

Claude Code

  1. 1

    Copy this prompt.

    Add the mcp-server server to Claude Code. Run this command:
    
    npx @iterable/mcp setup --claude-code
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires Node.js 20 or later, Iterable API key.

Read-only mode: Read-only is the default. Skip --advanced during setup and do not set the writes or sends variables.

Run npx @iterable/mcp keys add once to store your API key and pick the US or EU region; the key manager entries then need no key in the config. Use the env-var entries only where the key manager is not available, such as CI. Restart your AI app after switching keys.

From the project README. Source.

Tools

  • Shows the details of one campaign

    Get detailed information about a specific campaign. Available in the default read-only setup.

    Try: “Get details on campaign 12345”

    Read · get_campaign

  • Shows a campaign's results over a date range

    Get campaign performance metrics. Requires a date range. Always use the narrowest window possible for performance. Available in the default read-only setup.

    Try: “How did campaign 12345 do last week?”

    Read · get_campaign_metrics

  • Lists your campaigns

    Retrieve campaigns. Available in the default read-only setup.

    Try: “List my campaigns from this month”

    Read · get_campaigns

  • Lists the campaigns a recurring campaign has created

    Get child campaigns generated by a recurring campaign. Available in the default read-only setup.

    Try: “Show the sends created by my weekly digest campaign”

    Read · get_child_campaigns

  • Stops a campaign that is sending right now

    Abort a campaign that is currently running. Needs writes turned on for your key.

    Try: “Abort campaign 12345”

    Delete · abort_campaign

  • Archives campaigns, cancelling or stopping any that are live

    Archive one or more campaigns. Scheduled/recurring campaigns will be cancelled, running campaigns will be aborted. Needs writes turned on for your key.

    Try: “Archive campaigns 101 and 102”

    Delete · archive_campaigns

  • Cancels a scheduled or recurring campaign

    Cancel a scheduled or recurring campaign. Needs writes turned on for your key.

    Try: “Cancel the scheduled campaign 12345”

    Delete · cancel_campaign

  • Creates a one-off campaign from a template

    Create a new one-off (blast) campaign from an existing template. Needs writes turned on for your key.

    Try: “Create a campaign called 'Holiday Sale' using template 456”

    Write · create_blast_campaign

  • Creates a triggered campaign from a template, ready to activate

    Create a new triggered campaign from an existing template. The campaign is created in Ready state and must be activated before it can send. Needs writes turned on for your key.

    Try: “Create a triggered welcome campaign from template 789”

    Write · create_triggered_campaign

  • Turns off a triggered campaign

    Deactivate a triggered campaign (requires API triggered campaign deactivation enabled). Needs writes turned on for your key.

    Try: “Deactivate triggered campaign 789”

    Write · deactivate_triggered_campaign

  • Turns on a triggered campaign so it starts sending

    Activate a triggered campaign (requires API triggered campaign activation enabled). Needs writes and sends turned on for your key.

    Try: “Activate triggered campaign 789”

    Write · activate_triggered_campaign

  • Schedules a campaign to send at a set time

    Schedule an existing campaign to be sent at a specific time. Needs writes and sends turned on for your key.

    Try: “Schedule campaign 12345 for tomorrow at 9am”

    Write · schedule_campaign

Read from the source code

Pros and cons

Good

  • Made and maintained by Iterable, free and open source.
  • Read-only by default, with customer data, changes and sends each switched on separately.
  • Permissions are saved per API key, so a sandbox key can do more than a production key.
  • A setup wizard stores the key and configures Claude Code, Claude Desktop or Cursor for you.
  • Keys are kept in the system keychain on macOS and encrypted on Windows.
  • Covers most of the Iterable API, including campaigns, journeys, catalogs and data exports.

Watch out

  • Still in beta and may change or be withdrawn.
  • Runs only on your computer; web apps cannot connect and there is no hosted version.
  • Needs Node.js 20 or later.
  • With every permission on it passes the 100-tool limit in Windsurf.
  • Shares your project's API rate limits and does not retry when it hits them.
  • No tool for a journey's full definition yet.

Permissions

medium risk · 4 things to watch

Medium risk

Out of the box it can only read, but a key with writes and sends turned on can delete data and message real customers. Keep those off for production and test them on a sandbox project.

What it can do

Watch out for

  • With sends on, it can message real customers

    Sends let the agent trigger campaigns and send email, SMS and push. Only enable them on a sandbox project key. github.com

  • With writes on, it can delete users and data

    Writes include deleting users, lists, catalogs and templates. Keep writes off for production keys. github.com

  • Risky tools are not flagged to your app

    Send and delete tools are not marked as destructive, so your app may not warn you. Review each call before you allow it. github.com

  • PII tools expose customer profiles

    With PII on, the assistant can read email addresses, phone numbers and custom fields. Leave it off unless you need it. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlyDefault. Writes, sends and PII tools stay off unless enabled per key with setup --advanced or keys update --advanced, or with ITERABLE_ENABLE_WRITES, ITERABLE_ENABLE_SENDS and ITERABLE_USER_PII set to true.
Talks toapi.iterable.com (or your EU or custom endpoint)
Sign-in and keysAPI keys in ~/.iterable-mcp/keys.json, with the values in the macOS Keychain, Windows DPAPI, or a 0600 file on Linux.
Scopes
  • User PII

  • Writes

  • Sends

Alternatives

Use Iterable's own server; it starts read-only and you switch on changes and sends per key. The community alternative is an early project with no GitHub stars yet.

ServerOfficialRunsSign-inCan change thingsToolsGitHub stars
For Iterable
Iterable MCP ServerThis pageOfficialLocalAPI keyYes11815
Other tools for the same job
iterable-mcp (jginorio)CommunityLocal–––0

What people say

Users want a hosted version and clearer warnings on risky tools, and ask for more journey detail.

What people like

  • Users ask for more tools, such as full journey definitions, which shows they use it for real journey work.

Common complaints

  • Teams want a hosted version so each person does not keep an Iterable API key on their laptop.
  • Users point out that send and delete tools are not flagged as risky to their AI app.

In their words

Questions

Is the Iterable MCP server free?

Yes. It is open source under the MIT licence. You need an Iterable account and an API key.

Is it read-only by default?

Yes. Setup starts with customer data, changes and sends all switched off. Run setup or keys update with --advanced to turn any of them on for a key.

Can it send emails to my customers?

Only if you turn on both writes and sends for that key. Then it can send email, SMS and push and trigger campaigns, so use that only on a sandbox project.

Can I use it in claude.ai or ChatGPT on the web?

No. It runs on your computer, so you need a desktop or command-line app such as Claude Desktop, Claude Code or Cursor.

Does it work with EU Iterable projects?

Yes. When you add a key you pick the US or EU region, or a custom endpoint, and the key remembers it.

Can I use different keys for sandbox and production?

Yes. Store several keys, each with its own permissions, and switch between them. Restart your AI app after switching so it picks up the new key.

Why do the Iterable tools not load in Windsurf?

Windsurf allows 100 tools per server, and with every permission on this server goes over. Turn off a permission you do not need, such as sends.

Does it count against my API rate limits?

Yes. It shares your project's limits with your other API traffic and does not retry when it is rate limited.

How do I add it to Claude Code?

Run the setup command in the box above and pick Claude Code. It stores your key and adds the server for you.

Examples

  • Summarize what is running right now

    Summarize active campaigns right now.

    Source
  • Check last week's email performance

    Show email performance (opens/clicks) for the last seven days.

    Source
  • Look up one customer's recent activity

    Show me events for user@example.com from the last 30 days

    Source
  • Browse a product catalog

    List product catalogs and show 10 items from demo-catalog.

    Source

Information

updated Nov 2, 2026

Publisher
Iterable (official)
Package
@iterable/mcp
Registry
npm
Transport
stdio
Auth
token in env
Version
1.9.0
License
MIT
Last commit
Sep 30, 2026
Open issues
4

WebsiteDocsGitHubnpmInstall guideChangelogIssues

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 8
  1. Iterable MCP Server README · github.com
  2. Overview of Iterable's MCP Server · support.iterable.com
  3. Available Iterable MCP Tools · github.com
  4. Tools are registered without title or annotations · github.com
  5. Setting up Iterable's MCP Server · support.iterable.com
  6. Feature Request: Native Streamable HTTP and/or SSE Transport Support · github.com
  7. Feature request: get_journey tool · github.com
  8. jginorio/iterable-mcp · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.