@iterable/mcp 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,8 +5,6 @@
5
5
 
6
6
  With the new Iterable MCP server, you can now connect Iterable to your favorite AI tools like Cursor, Claude Desktop, and Claude Code!
7
7
 
8
-
9
-
10
8
  ## What is MCP?
11
9
 
12
10
  MCP stands for Model Context Protocol. It's a new, open standard that lets AI tools (like Cursor or Claude Desktop) connect to external tools and APIs in a secure, structured way. MCP acts as a "bridge" between your AI app and platforms like Iterable, so you can ask questions or perform actions in plain English, and the AI translates those into safe API calls behind the scenes.
@@ -35,13 +33,13 @@ npx @iterable/mcp setup --advanced
35
33
  ```
36
34
 
37
35
  What you’ll choose (optional):
38
- - View user PII (`ITERABLE_USER_PII`)
39
- - Enable Writes (Create/Update/Delete actions) (`ITERABLE_ENABLE_WRITES`)
40
- - Enable actual sends (`ITERABLE_ENABLE_SENDS`) — requires Writes
36
+ - Enable access to user PII (`ITERABLE_USER_PII`)
37
+ - Enable writes (create/update/delete actions) (`ITERABLE_ENABLE_WRITES`)
38
+ - Enable sends (campaigns/journeys/events) (`ITERABLE_ENABLE_SENDS`) — requires writes
41
39
 
42
40
  Safety notes:
43
- - Sends require Writes to be enabled.
44
- - When you use an existing Keychain key, your choices are saved per key.
41
+ - Enabling sends requires writes to be enabled.
42
+ - Permission settings are saved per key (see key management section below).
45
43
  - Prompts are generated from read‑only tools for extra safety.
46
44
 
47
45
  ## Prefer a global install?
@@ -53,7 +51,9 @@ iterable-mcp setup
53
51
 
54
52
  **Note:** The setup command automatically configures the correct command path.
55
53
 
56
- ## Install from source
54
+ Throughout this guide, commands are shown as `iterable-mcp` for brevity. If not globally installed, use `npx @iterable/mcp` instead (e.g., `npx @iterable/mcp keys list`).
55
+
56
+ ### Install from source
57
57
 
58
58
  ```bash
59
59
  git clone https://github.com/iterable/mcp-server.git
@@ -61,15 +61,14 @@ cd mcp-server
61
61
  pnpm install-dev:cursor # or install-dev:claude-desktop or install-dev:claude-code
62
62
  ```
63
63
 
64
- ## Claude Code
64
+ ### Claude Code
65
65
 
66
- The `setup --claude-code` command automatically configures Claude Code by running `claude mcp add` for you and stores your API key securely in macOS Keychain.
66
+ The `setup --claude-code` command automatically configures Claude Code by running `claude mcp add` for you.
67
67
 
68
- Alternatively, you can run it manually:
68
+ Alternatively, you can configure it manually:
69
69
 
70
70
  ```bash
71
- # Manual installation (alternative to setup --claude-code)
72
- # First, add your API key to the keychain (interactive prompts)
71
+ # Add your API key first (see API Key Management section below)
73
72
  iterable-mcp keys add
74
73
 
75
74
  # Then configure Claude Code
@@ -95,15 +94,15 @@ claude mcp add-from-claude-desktop
95
94
 
96
95
  For more information, see the [Claude Code MCP documentation](https://docs.claude.com/en/docs/claude-code/mcp).
97
96
 
98
- ## Manual configuration (Cursor & Claude Desktop)
97
+ ### Manual configuration (Cursor & Claude Desktop)
99
98
 
100
99
  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:
101
100
  - **Claude Desktop:** `~/Library/Application Support/Claude/claude_desktop_config.json`
102
101
  - **Cursor:** `~/.cursor/mcp.json`
103
102
 
104
- **macOS (with Keychain):**
103
+ **Recommended: Using key manager:**
105
104
  ```bash
106
- # First, add your API key to the keychain (interactive prompts)
105
+ # First, add your API key (interactive prompts)
107
106
  iterable-mcp keys add
108
107
  ```
109
108
 
@@ -119,9 +118,9 @@ Then edit your config file:
119
118
  }
120
119
  ```
121
120
 
122
- Note: No `env` needed on macOS - API key and base URL are loaded from Keychain.
121
+ No `env` section needed - API key and base URL are loaded automatically.
123
122
 
124
- **Windows/Linux (using environment variables):**
123
+ **Alternative: Environment variables:**
125
124
  ```json
126
125
  {
127
126
  "mcpServers": {
@@ -150,7 +149,7 @@ export ITERABLE_MCP_NPX_PATH="/path/to/custom/npx"
150
149
  npx @iterable/mcp setup --cursor
151
150
  ```
152
151
 
153
- Alternatively, you can manually edit your configuration file (after adding your key to the keychain):
152
+ Alternatively, you can manually edit your configuration file (after adding your key):
154
153
 
155
154
  ```json
156
155
  {
@@ -163,7 +162,7 @@ Alternatively, you can manually edit your configuration file (after adding your
163
162
  }
164
163
  ```
165
164
 
166
- Note: No `env` needed on macOS — API key and base URL are loaded from Keychain.
165
+ No `env` section is needed if using the key manager.
167
166
 
168
167
  ## What you can do
169
168
 
@@ -185,7 +184,11 @@ Try these prompts:
185
184
 
186
185
  ### API Key Management
187
186
 
188
- **macOS Keychain:** API keys are stored securely in Keychain. Each key is tied to its API endpoint (US, EU, or custom).
187
+ **Key Storage:**
188
+
189
+ API keys are stored in the `~/.iterable-mcp/keys.json` file and managed via the `iterable-mcp keys` commands. On macOS the actual API key values are stored in the system Keychain. On Linux, the API key values are stored directly in the file with restricted permissions (0o600). On Windows, the file is protected by default NTFS home directory permissions.
190
+
191
+ Each key is tied to its API endpoint (US, EU, or custom) and to its permissions (view PII, write operations, send messages).
189
192
 
190
193
  **How Key Selection Works:**
191
194
  - You can store multiple API keys with different names (e.g., "production", "staging", "dev")
@@ -213,14 +216,12 @@ iterable-mcp keys delete <key-id>
213
216
  # To update a key: delete the old one and add a new one with the same name
214
217
  ```
215
218
 
216
- **Windows/Linux:** Use `ITERABLE_API_KEY` and (optionally) `ITERABLE_BASE_URL` env vars.
217
-
218
219
  ### Environment variables
219
220
 
220
221
  | Variable | Required | Description |
221
222
  |----------|----------|-------------|
222
- | `ITERABLE_API_KEY` | No* | Your Iterable API key (*Optional on macOS if using Keychain manager, Required on Windows and Linux) |
223
- | `ITERABLE_BASE_URL` | No** | Base URL for the Iterable API (**Not needed on macOS when using key manager - URL is stored with each key) |
223
+ | `ITERABLE_API_KEY` | No* | Your Iterable API key (*Optional if using key manager, otherwise required) |
224
+ | `ITERABLE_BASE_URL` | No** | Base URL for the Iterable API (**Not needed when using key manager - URL is stored with each key) |
224
225
  | `ITERABLE_DEBUG` | No | Set to `true` for API request logging |
225
226
  | `LOG_LEVEL` | No | Set to `debug` for troubleshooting |
226
227
  | `ITERABLE_USER_PII` | No | Set to `true` to enable tools that access user PII data (default: `false`) |
@@ -263,7 +264,7 @@ Integration tests make real API calls to Iterable and require a valid API key.
263
264
  export ITERABLE_API_KEY=your_actual_api_key
264
265
  ```
265
266
 
266
- 2. Or on macOS, add a key to the keychain (interactive):
267
+ 2. Or add a key to key manager (interactive):
267
268
  ```bash
268
269
  iterable-mcp keys add
269
270
  ```
@@ -275,7 +276,7 @@ Integration tests make real API calls to Iterable and require a valid API key.
275
276
  pnpm test:integration
276
277
  ```
277
278
 
278
- **Note:** Integration tests require a valid API key (env or active macOS Keychain key). The suite fails fast if none is found.
279
+ **Note:** Integration tests require a valid API key (env var or active key manager key). The suite fails fast if none is found.
279
280
 
280
281
  ### Development workflow
281
282
 
@@ -299,8 +300,7 @@ pnpm run install-dev
299
300
  ## Troubleshooting
300
301
 
301
302
  - Claude CLI missing: install `claude` CLI, then re-run `iterable-mcp setup --claude-code`.
302
- - macOS Keychain issues: Ensure Keychain is available; re-run setup. Stale locks are auto‑recovered.
303
-
303
+ - macOS Keychain issues: Ensure Keychain is accessible and re-run setup if needed.
304
304
 
305
305
  ## Beta Feature Reminder
306
306
  Iterable's MCP server is currently in beta. MCP functionality may change, be
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,8FAA8F;IAC9F,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,uDAAuD;IACvD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC1C,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAQtE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,eAAe,CAAC,CAwFpE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,8FAA8F;IAC9F,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,uDAAuD;IACvD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC1C,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAQtE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,eAAe,CAAC,CA0FpE"}
package/dist/config.js CHANGED
@@ -14,9 +14,8 @@ export async function loadMcpServerConfig() {
14
14
  let apiKey = null;
15
15
  let baseUrl = process.env.ITERABLE_BASE_URL || "https://api.iterable.com";
16
16
  let keyEnv;
17
- // Try to load API key from KeyManager first (macOS only)
18
17
  // SAFETY: Skip keyManager in test environments to prevent production data access
19
- if (process.platform === "darwin" && process.env.NODE_ENV !== "test") {
18
+ if (process.env.NODE_ENV !== "test") {
20
19
  try {
21
20
  const keyManager = getKeyManager();
22
21
  await keyManager.initialize();
@@ -52,9 +51,10 @@ export async function loadMcpServerConfig() {
52
51
  logger.error("Unexpected error loading from key manager", {
53
52
  error: sanitizedMessage,
54
53
  });
55
- console.error("⚠️ Warning: Failed to load API key from macOS Keychain:", sanitizedMessage);
56
- // Provide helpful guidance for sync issues
57
- if (sanitizedMessage.includes("could not be found")) {
54
+ console.error("⚠️ Warning: Failed to load API key from key storage:", sanitizedMessage);
55
+ // Provide helpful guidance for sync issues (macOS Keychain specific)
56
+ if (process.platform === "darwin" &&
57
+ sanitizedMessage.includes("could not be found")) {
58
58
  console.error("\n💡 This may be a sync issue. Restarting the server will automatically clean up orphaned keys.");
59
59
  }
60
60
  console.error(" Falling back to ITERABLE_API_KEY environment variable");
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/install.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export declare const findCommand: (command: string) => Promise<string>;
1
2
  export declare const buildMcpConfig: (options: {
2
3
  isLocal?: boolean;
3
4
  env: Record<string, string>;
@@ -24,6 +25,11 @@ export declare function pickPersistablePermissionEnv(env: Record<string, string>
24
25
  ITERABLE_ENABLE_WRITES: "true" | "false";
25
26
  ITERABLE_ENABLE_SENDS: "true" | "false";
26
27
  };
28
+ /**
29
+ * Remove permission flags from env (they're loaded from key manager)
30
+ * Returns only non-persisted env vars like debug flags
31
+ */
32
+ export declare function omitPersistablePermissionEnv(env: Record<string, string>): Record<string, string>;
27
33
  /**
28
34
  * Enforce that Sends require Writes. If Sends is enabled but Writes is disabled,
29
35
  * disable Sends and optionally emit a warning.
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AA+EA,eAAO,MAAM,cAAc,GAAI,SAAS;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;;;;;CAeA,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBxB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IACzE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,sBAAsB,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC;CACzC,CAWA;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB,CAEA;AAED,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,IAAI,CAwzBnD,CAAC"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAsEA,eAAO,MAAM,WAAW,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,MAAM,CAajE,CAAC;AAkBF,eAAO,MAAM,cAAc,GAAI,SAAS;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;;;;;CAeA,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBxB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IACzE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,sBAAsB,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC;CACzC,CAWA;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxB;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB,CAEA;AAED,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,IAAI,CAuzBnD,CAAC"}