자연어를 사용하여 캠페인을 조회하고, 템플릿을 관리하며, 메시지를 트리거하는 방식으로 AI 클라이언트가 Iterable 데이터와 상호작용할 수 있게 합니다.
다른 이름 Iterable/mcp-server, @iterable/mcp
- 스타
- 15
- Tools
- —
- 다운로드, 30일
- 13,779
- 최신 버전
- —
- 마지막 커밋
- 2026년 11월 6일
- 라이선스
- MIT
Iterable MCP란?
Iterable은(는) MCP server입니다. 자연어를 사용하여 캠페인을 조회하고, 템플릿을 관리하며, 메시지를 트리거하는 방식으로 AI 클라이언트가 Iterable 데이터와 상호작용할 수 있게 합니다.
프로젝트 README에서 생성된 요약
Iterable MCP server 정보
이 MCP server는 개발자와 마케터가 자연어를 통해 마케팅 자동화 및 고객 참여 데이터를 관리할 수 있도록 지원합니다. Claude Desktop, Cursor 또는 Windsurf와 같은 클라이언트에 연결하면 Iterable 대시보드를 직접 탐색할 필요 없이 캠페인 조회, 템플릿 검사, 사용자 리스트 관리가 가능합니다. 이 server는 텍스트 명령을 API 호출로 변환하는 가교 역할을 하여 신속한 데이터 검색과 리소스 관리를 가능하게 합니다.
설정에는 Node.js와 Iterable API key가 필요합니다. 기본적으로 데이터 변경을 방지하는 안전한 읽기 전용 모드로 동작합니다. 더 고급 작업을 수행하려면 구성 과정에서 User PII, Writes 또는 Sends에 대한 권한을 명시적으로 활성화해야 합니다. 이를 통해 AI가 캠페인 생성, 템플릿 업데이트, 또는 이메일, SMS, 푸시, WhatsApp을 통한 메시지 트리거와 같은 작업을 수행할 수 있습니다. 사용자는 내장된 키 관리 명령을 사용하여 스테이징 또는 프로덕션과 같은 다양한 환경에 대해 여러 API key를 관리할 수 있습니다.
활용 사례
- 1캠페인 성과 조회최근 마케팅 활동이나 캠페인 수에 관한 구체적인 세부 정보를 AI 클라이언트에 요청합니다.
- 2이메일 템플릿 관리자연어를 사용하여 기존 템플릿 목록을 가져오거나 새로운 템플릿 생성을 요청합니다.
- 3메시지 전송 자동화다양한 채널을 통해 사용자에게 도달할 수 있도록 특정 캠페인이나 저니를 트리거합니다.
- 4사용자 데이터 감사특정 세그먼트 내의 특정 사용자 이벤트나 리스트 멤버를 검색합니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
Iterable MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Goose에 추가Claude Code에 Iterable MCP 설치
$ claude mcp add mcp-server -- npx -y @iterable/mcpCursor에 Iterable MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@iterable/mcp"
]
}
}
}VS Code에 Iterable MCP 설치
.vscode/mcp.json
{
"servers": {
"mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@iterable/mcp"
]
}
}
}VS Code CLI에 Iterable MCP 설치
$ code --add-mcp '{"name":"mcp-server","type":"stdio","command":"npx","args":["-y","@iterable/mcp"]}'Claude Desktop에 Iterable MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@iterable/mcp"
]
}
}
}Codex에 Iterable MCP 설치
$ codex mcp add mcp-server -- npx -y @iterable/mcpCodex config.toml에 Iterable MCP 설치
~/.codex/config.toml
[mcp_servers.mcp-server] command = "npx" args = ["-y", "@iterable/mcp"]
Gemini CLI에 Iterable MCP 설치
$ gemini mcp add -s user mcp-server npx -- -y @iterable/mcpGemini settings.json에 Iterable MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@iterable/mcp"
]
}
}
}구성
ITERABLE_API_KEYITERABLE_BASE_URLITERABLE_MCP_NODE_PATHITERABLE_MCP_NPX_PATH
| 이름 | 설명 | 유형 |
|---|---|---|
| ITERABLE_API_KEY | — | |
| ITERABLE_BASE_URL | — | |
| ITERABLE_MCP_NODE_PATH | — | |
| ITERABLE_MCP_NPX_PATH | — |
자동 검사
2026년 11월 13일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능통과
- 오픈 소스 라이선스 (OSI)통과
- 최근 1년 내 커밋 또는 릴리스통과
- 패키지 이름이 인기 패키지와 유사하지 않음통과
- 원격 엔드포인트가 HTTPS 사용검사되지 않음
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 모델에 대한 숨겨진 지침 없음통과
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
README
GitHub에서 보기Iterable MCP Server
Talk to your Iterable data using natural language. Ask questions or give instructions like "How many campaigns did we send last week?", "Show me my most recent templates", or "Build me a beautiful email template that does the following..." and get instant answers without writing code or navigating dashboards.
Supported AI clients:
What is MCP?
Model Context Protocol (MCP) is an open standard that lets AI assistants securely connect to external tools and APIs. This server acts as a bridge between your AI client and Iterable, translating natural language requests into safe API calls.
Installation
Prerequisites:
- Node.js >= 20 (v22 LTS recommended)
- An Iterable API key
npx @iterable/mcp setup
To always use the latest version (auto-update on each restart), add --auto-update:
npx @iterable/mcp setup --auto-update
By default, the setup wizard configures the server in a safe, read‑only mode (no PII tools, no writes, no sends). To selectively enable elevated capabilities during setup, pass --advanced:
# Example: enable advanced setup to configure permissions
npx @iterable/mcp setup --advanced
What you'll choose (optional):
- User PII (
ITERABLE_USER_PII): access user profile data, including email addresses, phone numbers, and custom data fields. - Writes (
ITERABLE_ENABLE_WRITES): create, update, and delete resources such as templates, lists, catalogs, campaigns, snippets, and user profiles. - Sends (
ITERABLE_ENABLE_SENDS): send messages (email, SMS, push, in-app, WhatsApp), trigger campaigns and journeys, schedule and abort campaigns, and track events. Requires writes to be enabled. Note: creating a blast campaign will schedule it for delivery, matching the behavior of the underlying Iterable API; there is no way to create a draft campaign. If you only need to draft content, you can do so with sends disabled by working with templates instead.
IMPORTANT: Enabling writes and sends allows the AI agent to take real, potentially irreversible actions against your Iterable project, including sending messages to real users and deleting data. If you do not have the technical knowledge to properly review the agent's tool calls before they are executed, you should avoid enabling these flags, especially in production environments. It is entirely your choice to accept this risk. If you enable these capabilities, it is your responsibility to carefully review each action before allowing the agent to proceed.
Note that permission settings are saved per key (see key management section below), allowing you to enable different permissions for different projects, e.g. only enable writes and sends for a sandbox project and disable them in production.
What you can do
See the available tools for all tools with descriptions. All tools map directly to Iterable API endpoints.
Try these prompts:
- "Get details on campaign 12345"
- "What email templates are available?"
- "Show me all my product catalogs"
- "What journeys are currently active?"
- "Show me events for user@example.com from the last 30 days"
- "Create a campaign called 'Holiday Sale' using template 456"
- "Export all user data from January 2024"
- "List users in my 'VIP Customers' list"
API Key Management
Key Storage:
API keys are stored in the ~/.iterable-mcp/keys.json file and managed via the npx @iterable/mcp keys commands. On macOS the actual API key values are stored in the system Keychain. On Windows, API key values are encrypted using the Windows Data Protection API (DPAPI). On Linux, the API key values are stored directly in the file with restricted permissions (0o600).
Each key is tied to its API endpoint (US, EU, or custom) and to its permissions (view PII, write operations, send messages).
How Key Selection Works:
- You can store multiple API keys with different names (e.g., "production", "staging", "dev")
- Only ONE key is marked as active at a time
- The MCP server automatically uses whichever key is currently active
- Your first key is automatically set as active
- Switch between keys using the
activatecommand - After
keys activate, restart your AI client (or reload its MCP servers) so the Iterable MCP process picks up the new active key. Some clients may require fully quitting and reopening the application.
# List stored keys (shows which one is active with ● ACTIVE badge)
npx @iterable/mcp keys list
# Add a new key (interactive: prompts for name, region/endpoint, and API key)
# Your first key becomes active automatically
# Uses secure defaults: PII, writes, and sends disabled
npx @iterable/mcp keys add
# Add a key and choose permissions (PII / writes / sends) interactively
npx @iterable/mcp keys add --advanced
# Switch to a different key by name or ID (also switches endpoint)
npx @iterable/mcp keys activate production
npx @iterable/mcp keys activate staging
# Update an existing key (interactive: prompts for new name/endpoint/API key)
# Without --advanced, existing permissions are left unchanged
npx @iterable/mcp keys update <name-or-id>
# Update a key and change its permissions (required to enable PII / writes / sends)
npx @iterable/mcp keys update <name-or-id> --advanced
# Delete a key by ID (requires ID for safety)
# Note: Cannot delete the currently active key - activate another first
npx @iterable/mcp keys delete <key-id>
Permissions: By default, keys add and keys update do not prompt for elevated permissions. New keys get secure defaults (PII, writes, and sends disabled); updates keep the key's current permissions. Pass --advanced to choose User PII, Writes, and/or Sends for that key (same options and risks as setup --advanced).
Advanced setup
Prefer a global install?
If you'd rather not use npx, you can install globally. This lets you use iterable-mcp as a shorthand for npx @iterable/mcp.
pnpm add -g @iterable/mcp
iterable-mcp setup
Note: The setup command automatically configures the correct command path.
Claude Code
The setup --claude-code command automatically configures Claude Code by running claude mcp add for you.
Alternatively, you can configure it manually:
# Add your API key first (see API Key Management section above)
npx @iterable/mcp keys add
# Then configure Claude Code
claude mcp add iterable -- npx -y @iterable/mcp
# Verify it was added
claude mcp list
If you have already configured Claude Desktop successfully, you can run this command to copy your MCP server settings to Claude Code:
claude mcp add-from-claude-desktop
Note: All of the above claude mcp commands will save the settings to ~/.claude.json, which makes the configured MCP servers available across all projects. For shared, project-specific MCP configs, create a .mcp.json file in the root of your project.
For more information, see the Claude Code MCP documentation.
Manual configuration (Cursor, Claude Desktop, Windsurf, Gemini CLI & Antigravity)
The above commands will automatically configure your AI tool to use the MCP server by editing the appropriate configuration file, but you can also manually edit the appropriate configuration file:
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json - Cursor:
~/.cursor/mcp.json - Windsurf:
~/.codeium/windsurf/mcp_config.json - Antigravity:
~/.gemini/antigravity/mcp_config.json - Gemini CLI:
~/.gemini/settings.json
All five use the same configuration format:
Recommended: Using key manager:
# First, add your API key (interactive prompts)
npx @iterable/mcp keys add
Then edit your config file:
{
"mcpServers": {
"iterable": {
"command": "npx",
"args": ["-y", "@iterable/mcp"]
}
}
}
No env section needed - API key and base URL are loaded automatically.
Alternative: Environment variables:
{
"mcpServers": {
"iterable": {
"command": "npx",
"args": ["-y", "@iterable/mcp"],
"env": {
"ITERABLE_API_KEY": "your-iterable-api-key-here",
"ITERABLE_BASE_URL": "https://api.iterable.com"
}
}
}
}
Using custom Node/NPX paths
If you need to use a custom path to node or npx (for example, if they are not in your PATH), you can set environment variables before running the setup command:
# Set custom paths
export ITERABLE_MCP_NODE_PATH="/path/to/custom/node"
export ITERABLE_MCP_NPX_PATH="/path/to/custom/npx"
# Then run setup
npx @iterable/mcp setup --cursor
Alternatively, you can manually edit your configuration file (after adding your key):
{
"mcpServers": {
"iterable": {
"command": "/custom/path/to/npx",
"args": ["-y", "@iterable/mcp"]
}
}
}
No env section is needed if using the key manager.
Environment variables
Variables marked as managed are automatically configured by the key manager. They take precedence over environment variables when both are present. Setting environment variables directly is useful for CI/CD pipelines, Docker containers, or other non-interactive environments where the key manager isn't available.
| Variable | Managed | Description |
|---|---|---|
ITERABLE_API_KEY |
✅ | Your Iterable API key. Required if not using key manager |
ITERABLE_BASE_URL |
✅ | Base URL for the Iterable API (default: https://api.iterable.com) |
ITERABLE_USER_PII |
✅ | Set to true to enable tools that access user PII data (default: false) |
ITERABLE_ENABLE_WRITES |
✅ | Set to true to enable tools that perform write operations (default: false) |
ITERABLE_ENABLE_SENDS |
✅ | Set to true to enable tools that can send messages (default: false). Requires writes to be enabled |
ITERABLE_DEBUG |
Set to true for API request logging |
|
LOG_LEVEL |
Set to debug for troubleshooting |
|
ITERABLE_UI_THEME |
Force terminal color theme: dark or light (auto-detected by default) |
Custom endpoints
- The CLI supports selecting the US or EU region, or entering a custom endpoint.
- For security, HTTPS is required for custom endpoints. The only exception is localhost development:
- Allowed:
http://localhost:3000,http://127.0.0.1:8080,http://[::1]:4000 - Not allowed: plain
http://on non-local hosts (usehttps://instead)
- Allowed:
- When a non-
*.iterable.comdomain is provided, the CLI will ask for confirmation.
Troubleshooting
- Claude CLI missing: install
claudeCLI, then re-runnpx @iterable/mcp setup --claude-code. - macOS Keychain issues: Ensure Keychain is accessible and re-run setup if needed.
Client-specific limitations
Tool limits (Windsurf & Antigravity)
Windsurf (100-tool limit) and Antigravity each allow at most 100 tools per MCP server. Enabling all permissions (PII, writes, and sends) can push this server over that limit. If tools fail to load, restrict permissions with keys add --advanced / keys update --advanced (for example, leave sends disabled). See Installation for what each permission enables and the associated risks, and TOOLS.md for the current tool list.
Contributing
See the contributing guidelines for development setup, building from source, and running tests.
Security
See the security policy for reporting vulnerabilities.
Beta Feature Reminder
Iterable's MCP server is currently in beta. MCP functionality may change, be suspended, or be discontinued at any time without notice. This software is provided "as is" and is open source and ready for you to experiment with. For more information, refer to Iterable Beta Terms.
License
This project is licensed under the MIT License. See the license for details.
Iterable MCP 질문
Iterable MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add mcp-server -- npx -y @iterable/mcp를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
Iterable MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
Claude Code와 함께 사용할 수 있나요?
네, Claude Code를 자동으로 설정할 수 있는 전용 설정 명령어가 있습니다.