@iterable/mcp 1.0.0 → 1.0.1
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 +59 -64
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/index.js +11 -5
- package/dist/index.js.map +1 -1
- package/dist/install.d.ts +1 -0
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +26 -7
- package/dist/install.js.map +1 -1
- package/dist/key-manager.d.ts.map +1 -1
- package/dist/key-manager.js +8 -5
- package/dist/key-manager.js.map +1 -1
- package/dist/keys-cli.d.ts.map +1 -1
- package/dist/keys-cli.js +91 -29
- package/dist/keys-cli.js.map +1 -1
- package/dist/utils/cli-env.d.ts.map +1 -1
- package/dist/utils/cli-env.js +12 -2
- package/dist/utils/cli-env.js.map +1 -1
- package/dist/utils/endpoint-prompt.d.ts.map +1 -1
- package/dist/utils/endpoint-prompt.js +26 -5
- package/dist/utils/endpoint-prompt.js.map +1 -1
- package/dist/utils/formatting.d.ts.map +1 -1
- package/dist/utils/formatting.js +1 -1
- package/dist/utils/formatting.js.map +1 -1
- package/dist/utils/tool-config.d.ts.map +1 -1
- package/dist/utils/tool-config.js.map +1 -1
- package/dist/utils/ui.d.ts +2 -0
- package/dist/utils/ui.d.ts.map +1 -1
- package/dist/utils/ui.js +97 -32
- package/dist/utils/ui.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,76 +1,59 @@
|
|
|
1
1
|
# Iterable MCP Server
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+

|
|
4
4
|
|
|
5
|
-
## Quick Start
|
|
6
5
|
|
|
7
|
-
|
|
6
|
+
With the new Iterable MCP server, you can now connect Iterable to your favorite AI tools like Cursor, Claude Desktop, and Claude Code!
|
|
8
7
|
|
|
9
|
-
- API keys are stored in macOS Keychain (values), and metadata lives in `~/.iterable-mcp/keys.json` with 0600 permissions. No plaintext keys on disk.
|
|
10
|
-
- PII access, write operations, and message sends are disabled by default for safety.
|
|
11
|
-
- Enable explicitly via envs:
|
|
12
|
-
- `ITERABLE_USER_PII=true`
|
|
13
|
-
- `ITERABLE_ENABLE_WRITES=true`
|
|
14
|
-
- `ITERABLE_ENABLE_SENDS=true` (requires writes enabled as well)
|
|
15
|
-
- Custom endpoints must be HTTPS and require confirmation when not an `*.iterable.com` domain.
|
|
16
|
-
- Logs avoid printing headers/bodies and sanitize 32‑character hex keys.
|
|
17
8
|
|
|
18
|
-
## Troubleshooting
|
|
19
9
|
|
|
20
|
-
|
|
21
|
-
- Claude CLI missing: install `claude` CLI, then re-run `iterable-mcp setup --claude-code`.
|
|
22
|
-
- Keychain issues: Ensure Keychain is available; re-run setup. Stale locks are auto‑recovered.
|
|
23
|
-
- Emojis too noisy? Set `ITERABLE_UI_ICONS=false` (default). Enable with `ITERABLE_UI_ICONS=true`.
|
|
10
|
+
## What is MCP?
|
|
24
11
|
|
|
25
|
-
|
|
12
|
+
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.
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
26
15
|
|
|
27
16
|
**Prerequisites:**
|
|
28
17
|
- Node.js >= 18
|
|
29
|
-
- Iterable API key
|
|
30
|
-
- macOS (for secure keychain storage; Windows/Linux use environment variables)
|
|
31
|
-
|
|
32
|
-
**Note:** On macOS, API keys are stored securely in Keychain. The setup wizard will prompt you to name your key and store it automatically.
|
|
18
|
+
- An Iterable API key
|
|
33
19
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
20
|
+
```bash
|
|
21
|
+
npx @iterable/mcp setup
|
|
22
|
+
```
|
|
37
23
|
|
|
38
|
-
|
|
24
|
+
To always use the latest version (auto-update on each restart), add `--auto-update`:
|
|
39
25
|
|
|
40
26
|
```bash
|
|
41
|
-
|
|
42
|
-
npx @iterable/mcp setup --cursor --claude-desktop --claude-code
|
|
27
|
+
npx @iterable/mcp setup --auto-update
|
|
43
28
|
```
|
|
44
29
|
|
|
45
|
-
#### Advanced permissions (`--advanced`)
|
|
46
|
-
|
|
47
30
|
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`:
|
|
48
31
|
|
|
49
32
|
```bash
|
|
50
|
-
# Example: enable advanced
|
|
51
|
-
npx @iterable/mcp setup --
|
|
33
|
+
# Example: enable advanced setup to configure permissions
|
|
34
|
+
npx @iterable/mcp setup --advanced
|
|
52
35
|
```
|
|
53
36
|
|
|
54
|
-
|
|
55
|
-
-
|
|
56
|
-
- Writes (ITERABLE_ENABLE_WRITES)
|
|
57
|
-
-
|
|
37
|
+
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
|
|
58
41
|
|
|
59
|
-
|
|
60
|
-
- Sends
|
|
61
|
-
- When you
|
|
62
|
-
- Prompts
|
|
42
|
+
Safety notes:
|
|
43
|
+
- Sends require Writes to be enabled.
|
|
44
|
+
- When you use an existing Keychain key, your choices are saved per key.
|
|
45
|
+
- Prompts are generated from read‑only tools for extra safety.
|
|
63
46
|
|
|
64
|
-
|
|
47
|
+
## Prefer a global install?
|
|
65
48
|
|
|
66
49
|
```bash
|
|
67
50
|
pnpm add -g @iterable/mcp
|
|
68
|
-
iterable-mcp setup
|
|
51
|
+
iterable-mcp setup
|
|
69
52
|
```
|
|
70
53
|
|
|
71
54
|
**Note:** The setup command automatically configures the correct command path.
|
|
72
55
|
|
|
73
|
-
|
|
56
|
+
## Install from source
|
|
74
57
|
|
|
75
58
|
```bash
|
|
76
59
|
git clone https://github.com/iterable/mcp-server.git
|
|
@@ -78,7 +61,7 @@ cd mcp-server
|
|
|
78
61
|
pnpm install-dev:cursor # or install-dev:claude-desktop or install-dev:claude-code
|
|
79
62
|
```
|
|
80
63
|
|
|
81
|
-
|
|
64
|
+
## Claude Code
|
|
82
65
|
|
|
83
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.
|
|
84
67
|
|
|
@@ -112,7 +95,7 @@ claude mcp add-from-claude-desktop
|
|
|
112
95
|
|
|
113
96
|
For more information, see the [Claude Code MCP documentation](https://docs.claude.com/en/docs/claude-code/mcp).
|
|
114
97
|
|
|
115
|
-
|
|
98
|
+
## Manual configuration (Cursor & Claude Desktop)
|
|
116
99
|
|
|
117
100
|
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:
|
|
118
101
|
- **Claude Desktop:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
@@ -138,7 +121,7 @@ Then edit your config file:
|
|
|
138
121
|
|
|
139
122
|
Note: No `env` needed on macOS - API key and base URL are loaded from Keychain.
|
|
140
123
|
|
|
141
|
-
**Windows/Linux (using environment
|
|
124
|
+
**Windows/Linux (using environment variables):**
|
|
142
125
|
```json
|
|
143
126
|
{
|
|
144
127
|
"mcpServers": {
|
|
@@ -154,7 +137,7 @@ Note: No `env` needed on macOS - API key and base URL are loaded from Keychain.
|
|
|
154
137
|
}
|
|
155
138
|
```
|
|
156
139
|
|
|
157
|
-
|
|
140
|
+
### Using custom Node/NPX paths
|
|
158
141
|
|
|
159
142
|
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:
|
|
160
143
|
|
|
@@ -180,13 +163,13 @@ Alternatively, you can manually edit your configuration file (after adding your
|
|
|
180
163
|
}
|
|
181
164
|
```
|
|
182
165
|
|
|
183
|
-
Note: No `env` needed on macOS
|
|
166
|
+
Note: No `env` needed on macOS — API key and base URL are loaded from Keychain.
|
|
184
167
|
|
|
185
|
-
## What
|
|
168
|
+
## What you can do
|
|
186
169
|
|
|
187
170
|
See [TOOLS.md](TOOLS.md) for all available tools with descriptions. All tools map directly to [Iterable API endpoints](https://api.iterable.com/api/docs).
|
|
188
171
|
|
|
189
|
-
|
|
172
|
+
Try these prompts:
|
|
190
173
|
- *"How many campaigns do I have running?"*
|
|
191
174
|
- *"Get details on campaign 12345"*
|
|
192
175
|
- *"Show me events for user@example.com from the last 30 days"*
|
|
@@ -198,11 +181,11 @@ See [TOOLS.md](TOOLS.md) for all available tools with descriptions. All tools ma
|
|
|
198
181
|
- *"What journeys are currently active?"*
|
|
199
182
|
- *"Send a welcome email to new-user@company.com"*
|
|
200
183
|
|
|
201
|
-
## Configuration
|
|
184
|
+
## Configuration & security
|
|
202
185
|
|
|
203
186
|
### API Key Management
|
|
204
187
|
|
|
205
|
-
**macOS
|
|
188
|
+
**macOS Keychain:** API keys are stored securely in Keychain. Each key is tied to its API endpoint (US, EU, or custom).
|
|
206
189
|
|
|
207
190
|
**How Key Selection Works:**
|
|
208
191
|
- You can store multiple API keys with different names (e.g., "production", "staging", "dev")
|
|
@@ -230,21 +213,21 @@ iterable-mcp keys delete <key-id>
|
|
|
230
213
|
# To update a key: delete the old one and add a new one with the same name
|
|
231
214
|
```
|
|
232
215
|
|
|
233
|
-
**Windows/Linux:** Use
|
|
216
|
+
**Windows/Linux:** Use `ITERABLE_API_KEY` and (optionally) `ITERABLE_BASE_URL` env vars.
|
|
234
217
|
|
|
235
|
-
### Environment
|
|
218
|
+
### Environment variables
|
|
236
219
|
|
|
237
220
|
| Variable | Required | Description |
|
|
238
221
|
|----------|----------|-------------|
|
|
239
|
-
| `ITERABLE_API_KEY` |
|
|
240
|
-
| `ITERABLE_BASE_URL` |
|
|
241
|
-
| `ITERABLE_DEBUG` |
|
|
242
|
-
| `LOG_LEVEL` |
|
|
243
|
-
| `ITERABLE_USER_PII` |
|
|
244
|
-
| `ITERABLE_ENABLE_WRITES` |
|
|
245
|
-
| `ITERABLE_ENABLE_SENDS` |
|
|
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) |
|
|
224
|
+
| `ITERABLE_DEBUG` | No | Set to `true` for API request logging |
|
|
225
|
+
| `LOG_LEVEL` | No | Set to `debug` for troubleshooting |
|
|
226
|
+
| `ITERABLE_USER_PII` | No | Set to `true` to enable tools that access user PII data (default: `false`) |
|
|
227
|
+
| `ITERABLE_ENABLE_WRITES` | No | Set to `true` to enable tools that perform write operations (default: `false`) |
|
|
228
|
+
| `ITERABLE_ENABLE_SENDS` | No | Set to `true` to enable tools that can send messages (default: `false`). Requires writes to be enabled |
|
|
246
229
|
|
|
247
|
-
### Custom
|
|
230
|
+
### Custom endpoints
|
|
248
231
|
|
|
249
232
|
- The CLI supports selecting the US or EU region, or entering a custom endpoint.
|
|
250
233
|
- For security, HTTPS is required for custom endpoints. The only exception is localhost development:
|
|
@@ -254,7 +237,7 @@ iterable-mcp keys delete <key-id>
|
|
|
254
237
|
|
|
255
238
|
## Development
|
|
256
239
|
|
|
257
|
-
### Running
|
|
240
|
+
### Running tests
|
|
258
241
|
|
|
259
242
|
The project includes both unit and integration tests:
|
|
260
243
|
|
|
@@ -269,7 +252,7 @@ pnpm test:unit
|
|
|
269
252
|
pnpm test:integration
|
|
270
253
|
```
|
|
271
254
|
|
|
272
|
-
### Integration
|
|
255
|
+
### Integration tests
|
|
273
256
|
|
|
274
257
|
Integration tests make real API calls to Iterable and require a valid API key.
|
|
275
258
|
|
|
@@ -294,7 +277,7 @@ Integration tests make real API calls to Iterable and require a valid API key.
|
|
|
294
277
|
|
|
295
278
|
**Note:** Integration tests require a valid API key (env or active macOS Keychain key). The suite fails fast if none is found.
|
|
296
279
|
|
|
297
|
-
### Development
|
|
280
|
+
### Development workflow
|
|
298
281
|
|
|
299
282
|
```bash
|
|
300
283
|
# Install dependencies
|
|
@@ -313,6 +296,18 @@ pnpm dev
|
|
|
313
296
|
pnpm run install-dev
|
|
314
297
|
```
|
|
315
298
|
|
|
299
|
+
## Troubleshooting
|
|
300
|
+
|
|
301
|
+
- 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
|
+
|
|
304
|
+
|
|
305
|
+
## Beta Feature Reminder
|
|
306
|
+
Iterable's MCP server is currently in beta. MCP functionality may change, be
|
|
307
|
+
suspended, or be discontinued at any time without notice. This software is
|
|
308
|
+
provided "as is" and is open source and ready for you to experiment with. For
|
|
309
|
+
more information, refer to [Iterable Beta Terms](https://iterable.com/trust/beta-terms/).
|
|
310
|
+
|
|
316
311
|
## License
|
|
317
312
|
|
|
318
313
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
package/dist/config.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAmBrD,MAAM,UAAU,iBAAiB,CAC/B,MAA0C,EAC1C,GAAsB;IAEtB,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/* eslint-disable no-console */
|
|
3
|
-
// Preflight:
|
|
3
|
+
// Preflight: fail fast on unsupported Node versions (requires >= 18)
|
|
4
4
|
try {
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const [majorStr, minorStr] = process.versions.node.split(".");
|
|
6
|
+
const major = parseInt(majorStr || "0", 10);
|
|
7
|
+
const minor = parseInt(minorStr || "0", 10);
|
|
8
|
+
const isSupported = Number.isFinite(major) && (major > 18 || (major === 18 && minor >= 0));
|
|
9
|
+
if (!isSupported) {
|
|
10
|
+
console.error("\n❌ Unsupported Node.js version\n");
|
|
11
|
+
console.error(`This CLI requires Node.js v18 or newer. Detected: v${process.versions.node}`);
|
|
12
|
+
console.error("\nTips:\n • Install the LTS version from https://nodejs.org\n • Or with nvm: nvm install --lts && nvm use --lts\n");
|
|
13
|
+
process.exit(1);
|
|
8
14
|
}
|
|
9
15
|
}
|
|
10
16
|
catch {
|
|
11
|
-
//
|
|
17
|
+
// If detection fails for any reason, continue (Node will likely still be new enough)
|
|
12
18
|
}
|
|
13
19
|
import { logger } from "@iterable/api";
|
|
14
20
|
import { setupMcpServer } from "./install.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,+BAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,+BAA+B;AAC/B,qEAAqE;AACrE,IAAI,CAAC;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,WAAW,GACf,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACnD,OAAO,CAAC,KAAK,CACX,sDAAsD,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAC9E,CAAC;QACF,OAAO,CAAC,KAAK,CACX,sHAAsH,CACvH,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAAC,MAAM,CAAC;IACP,qFAAqF;AACvF,CAAC;AACD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,uBAAuB;AACvB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,0BAA0B;AAC1B,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;QACzC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,IACL,OAAO,KAAK,OAAO;IACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EACnB,CAAC;IACD,mCAAmC;IACnC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;QACtC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,6CAA6C;IAC7C,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACvC,MAAM;SACH,GAAG,EAAE;SACL,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC"}
|
package/dist/install.d.ts
CHANGED
package/dist/install.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/install.js
CHANGED
|
@@ -54,12 +54,13 @@ export const buildMcpConfig = (options) => {
|
|
|
54
54
|
const isLocal = options.isLocal ?? isLocalDevelopmentBuild();
|
|
55
55
|
const nodePath = options.nodePath || process.env.ITERABLE_MCP_NODE_PATH || "node";
|
|
56
56
|
const npxPath = options.npxPath || process.env.ITERABLE_MCP_NPX_PATH || "npx";
|
|
57
|
+
const packageName = NPX_PACKAGE_NAME + (options.autoUpdate ? "@latest" : "");
|
|
57
58
|
return {
|
|
58
59
|
type: "stdio",
|
|
59
60
|
command: isLocal ? nodePath : npxPath,
|
|
60
61
|
args: isLocal
|
|
61
62
|
? [path.resolve(process.cwd(), "dist", "index.js")]
|
|
62
|
-
: ["-y",
|
|
63
|
+
: ["-y", packageName],
|
|
63
64
|
env: options.env,
|
|
64
65
|
};
|
|
65
66
|
};
|
|
@@ -116,6 +117,7 @@ export const setupMcpServer = async () => {
|
|
|
116
117
|
const args = process.argv.slice(2);
|
|
117
118
|
const showHelp = args.includes("--help") || args.includes("-h");
|
|
118
119
|
const advanced = args.includes("--advanced");
|
|
120
|
+
const autoUpdate = args.includes("--auto-update");
|
|
119
121
|
let tools = [
|
|
120
122
|
...(args.includes("--claude-desktop") ? ["claude-desktop"] : []),
|
|
121
123
|
...(args.includes("--cursor") ? ["cursor"] : []),
|
|
@@ -140,7 +142,10 @@ export const setupMcpServer = async () => {
|
|
|
140
142
|
setupTable.push([`${commandName} setup --claude-desktop`, "Configure for Claude Desktop"], [`${commandName} setup --cursor`, "Configure for Cursor"], [`${commandName} setup --claude-code`, "Configure for Claude Code"], [
|
|
141
143
|
`${commandName} setup --cursor --claude-desktop`,
|
|
142
144
|
"Configure multiple tools",
|
|
143
|
-
], [`${commandName} setup --cursor --debug`, "Enable debug logging"]
|
|
145
|
+
], [`${commandName} setup --cursor --debug`, "Enable debug logging"], [
|
|
146
|
+
`${commandName} setup --cursor --auto-update`,
|
|
147
|
+
"Always use latest version",
|
|
148
|
+
]);
|
|
144
149
|
console.log(setupTable.toString());
|
|
145
150
|
console.log();
|
|
146
151
|
console.log();
|
|
@@ -219,7 +224,7 @@ export const setupMcpServer = async () => {
|
|
|
219
224
|
}
|
|
220
225
|
// Start the setup flow
|
|
221
226
|
console.clear();
|
|
222
|
-
const { formatKeyValue, icons, showCompletion, showError, showInfo, showIterableLogo, showSection, showSuccess, showWarning, } = await import("./utils/ui.js");
|
|
227
|
+
const { formatKeyValue, icons, showCompletion, showError, showInfo, showIterableLogo, showSection, showSuccess, showWarning, linkColor, valueColor, } = await import("./utils/ui.js");
|
|
223
228
|
const chalk = (await import("chalk")).default;
|
|
224
229
|
showIterableLogo(packageJson.version);
|
|
225
230
|
// Succinct overview of what will be configured
|
|
@@ -353,7 +358,7 @@ export const setupMcpServer = async () => {
|
|
|
353
358
|
showSuccess(`Using API endpoint from selected key: ${baseUrl}`);
|
|
354
359
|
}
|
|
355
360
|
console.log();
|
|
356
|
-
console.log(formatKeyValue("Selected endpoint", baseUrl,
|
|
361
|
+
console.log(formatKeyValue("Selected endpoint", baseUrl, linkColor()));
|
|
357
362
|
console.log();
|
|
358
363
|
// Step 3: Store the key securely (macOS only). On other platforms, use env vars.
|
|
359
364
|
let existingKeyWithValue = null;
|
|
@@ -591,9 +596,23 @@ export const setupMcpServer = async () => {
|
|
|
591
596
|
console.log();
|
|
592
597
|
showSection("Configuring AI Tools", icons.zap);
|
|
593
598
|
console.log();
|
|
599
|
+
// Ask about auto-update unless flag was provided
|
|
600
|
+
let useAutoUpdate = autoUpdate;
|
|
601
|
+
if (!autoUpdate) {
|
|
602
|
+
const { enableAutoUpdate } = await inquirer.prompt([
|
|
603
|
+
{
|
|
604
|
+
type: "confirm",
|
|
605
|
+
name: "enableAutoUpdate",
|
|
606
|
+
message: "Always use the latest version? (Checks for updates on each restart)",
|
|
607
|
+
default: false,
|
|
608
|
+
},
|
|
609
|
+
]);
|
|
610
|
+
useAutoUpdate = enableAutoUpdate;
|
|
611
|
+
}
|
|
594
612
|
const iterableMcpConfig = buildMcpConfig({
|
|
595
613
|
...(args.includes("--local") && { isLocal: true }),
|
|
596
614
|
env: mcpEnv,
|
|
615
|
+
autoUpdate: useAutoUpdate,
|
|
597
616
|
});
|
|
598
617
|
// Preflight confirmation summary before applying changes
|
|
599
618
|
const prettyName = (t) => t === "cursor"
|
|
@@ -602,11 +621,11 @@ export const setupMcpServer = async () => {
|
|
|
602
621
|
? "Claude Desktop"
|
|
603
622
|
: "Claude Code";
|
|
604
623
|
console.log(chalk.gray("Summary:"));
|
|
605
|
-
console.log(formatKeyValue("Tools", tools.map(prettyName).join(", "),
|
|
624
|
+
console.log(formatKeyValue("Tools", tools.map(prettyName).join(", "), valueColor()));
|
|
606
625
|
if (usedKeyName) {
|
|
607
|
-
console.log(formatKeyValue("API Key", usedKeyName,
|
|
626
|
+
console.log(formatKeyValue("API Key", usedKeyName, valueColor()));
|
|
608
627
|
}
|
|
609
|
-
console.log(formatKeyValue("Endpoint", baseUrl,
|
|
628
|
+
console.log(formatKeyValue("Endpoint", baseUrl, valueColor()));
|
|
610
629
|
console.log(formatKeyValue("User PII", mcpEnv.ITERABLE_USER_PII === "true"
|
|
611
630
|
? chalk.green("Enabled")
|
|
612
631
|
: chalk.gray("Disabled")));
|
package/dist/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-manager.d.ts","sourceRoot":"","sources":["../src/key-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"key-manager.d.ts","sourceRoot":"","sources":["../src/key-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAwDH,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEnE,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,4FAA4F;IAC5F,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AASD,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAEhD;;;;;;OAMG;gBACS,SAAS,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,gBAAgB;IAc/D;;;;;;;;OAQG;YACW,kBAAkB;IAmEhC;;;;;;;;;;;;OAYG;YACW,WAAW;IAsFzB;;;;;;;;;OASG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BjC;;OAEG;YACW,YAAY;IAU1B;;OAEG;YACW,cAAc;IAa5B;;OAEG;YACW,YAAY;IA6C1B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAoCvB;;;;;;;;;;;;OAYG;IACG,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC;IAmElB;;OAEG;IACG,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;;;;;;OAQG;IACG,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAY3C;;;;;;;;OAQG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgDtD;;;;;;;;OAQG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAiB5C;;;;;;;;OAQG;IACG,oBAAoB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAY5D;;;;;;;;;OASG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BnD;;;;;;;;;;;;OAYG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkE1C;;;;;;;OAOG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAYjC;;;;;;;;;OASG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAiCzE;;;;;;;;;;;;OAYG;IACG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,IAAI,SAAY,GACf,OAAO,CAAC,MAAM,CAAC;CAoBnB;AAKD;;GAEG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAK1C"}
|
package/dist/key-manager.js
CHANGED
|
@@ -165,7 +165,10 @@ export class KeyManager {
|
|
|
165
165
|
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
166
166
|
try {
|
|
167
167
|
// Try to create lock file exclusively (atomic operation)
|
|
168
|
-
const lockData = JSON.stringify({
|
|
168
|
+
const lockData = JSON.stringify({
|
|
169
|
+
pid: process.pid,
|
|
170
|
+
created: Date.now(),
|
|
171
|
+
});
|
|
169
172
|
await fs.writeFile(this.lockFile, lockData, {
|
|
170
173
|
// Create exclusively and set restrictive permissions on first write
|
|
171
174
|
flag: "wx", // O_CREAT | O_EXCL - atomic, no TOCTOU
|
|
@@ -175,7 +178,9 @@ export class KeyManager {
|
|
|
175
178
|
return async () => {
|
|
176
179
|
try {
|
|
177
180
|
// Only remove the lock if it still belongs to this process
|
|
178
|
-
const data = await fs
|
|
181
|
+
const data = await fs
|
|
182
|
+
.readFile(this.lockFile, "utf-8")
|
|
183
|
+
.catch(() => "");
|
|
179
184
|
if (data) {
|
|
180
185
|
try {
|
|
181
186
|
const parsed = JSON.parse(data);
|
|
@@ -294,7 +299,6 @@ export class KeyManager {
|
|
|
294
299
|
const backupFile = `${this.metadataFile}.backup`;
|
|
295
300
|
const data = await fs.readFile(this.metadataFile, "utf-8");
|
|
296
301
|
await fs.writeFile(backupFile, data, { mode: 0o600 });
|
|
297
|
-
logger.debug("Created metadata backup", { backupFile });
|
|
298
302
|
}
|
|
299
303
|
catch (error) {
|
|
300
304
|
// If original file doesn't exist, that's ok - no backup needed
|
|
@@ -380,8 +384,7 @@ export class KeyManager {
|
|
|
380
384
|
throw new Error("Base URL must use HTTPS protocol for security. Insecure HTTP is only permitted for localhost.");
|
|
381
385
|
}
|
|
382
386
|
// Warn if not a standard Iterable domain
|
|
383
|
-
const isIterableDomain = url.hostname === "iterable.com" ||
|
|
384
|
-
url.hostname.endsWith(".iterable.com");
|
|
387
|
+
const isIterableDomain = url.hostname === "iterable.com" || url.hostname.endsWith(".iterable.com");
|
|
385
388
|
const isLocalhost = isLocalhostHost(url.hostname);
|
|
386
389
|
if (!isIterableDomain && !isLocalhost) {
|
|
387
390
|
logger.warn("Non-standard Iterable domain detected", {
|