@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 +29 -29
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -5
- package/dist/config.js.map +1 -1
- package/dist/install.d.ts +6 -0
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +174 -157
- package/dist/install.js.map +1 -1
- package/dist/key-manager.d.ts +27 -33
- package/dist/key-manager.d.ts.map +1 -1
- package/dist/key-manager.js +157 -144
- package/dist/key-manager.js.map +1 -1
- package/dist/keys-cli.d.ts.map +1 -1
- package/dist/keys-cli.js +27 -18
- package/dist/keys-cli.js.map +1 -1
- package/dist/server.d.ts +6 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +8 -2
- package/dist/server.js.map +1 -1
- package/dist/utils/formatting.d.ts +6 -1
- package/dist/utils/formatting.d.ts.map +1 -1
- package/dist/utils/formatting.js +13 -1
- package/dist/utils/formatting.js.map +1 -1
- package/dist/utils/ui.d.ts +1 -1
- package/dist/utils/ui.js +1 -1
- package/package.json +2 -2
package/dist/install.js
CHANGED
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
/* eslint-disable no-console */
|
|
2
|
-
import {
|
|
2
|
+
import { execFile, spawn } from "child_process";
|
|
3
3
|
import { existsSync, readFileSync } from "fs";
|
|
4
4
|
import inquirer from "inquirer";
|
|
5
5
|
import os from "os";
|
|
6
6
|
import path from "path";
|
|
7
7
|
import { fileURLToPath } from "url";
|
|
8
8
|
import { promisify } from "util";
|
|
9
|
+
import { getKeyManager } from "./key-manager.js";
|
|
10
|
+
import { getKeyStorageMessage } from "./utils/formatting.js";
|
|
9
11
|
const { dirname, join } = path;
|
|
10
12
|
// IMPORTANT: UI imports are loaded lazily inside functions to avoid ESM issues in Jest/CommonJS.
|
|
11
13
|
// Executable/package names
|
|
12
14
|
const LOCAL_BINARY_NAME = "iterable-mcp";
|
|
13
15
|
const NPX_PACKAGE_NAME = "@iterable/mcp";
|
|
16
|
+
// Tool display names
|
|
17
|
+
const TOOL_NAMES = {
|
|
18
|
+
cursor: "Cursor",
|
|
19
|
+
"claude-desktop": "Claude Desktop",
|
|
20
|
+
"claude-code": "Claude Code",
|
|
21
|
+
manual: "Manual Setup",
|
|
22
|
+
};
|
|
14
23
|
// Get package version
|
|
15
24
|
const packageJson = JSON.parse(readFileSync(join(dirname(fileURLToPath(import.meta.url)), "..", "package.json"), "utf-8"));
|
|
16
25
|
const TOOL_CONFIGS = {
|
|
@@ -26,14 +35,23 @@ const TOOL_CONFIGS = {
|
|
|
26
35
|
})(),
|
|
27
36
|
cursor: path.join(os.homedir(), ".cursor", "mcp.json"),
|
|
28
37
|
};
|
|
38
|
+
const execFileAsync = promisify(execFile);
|
|
29
39
|
// Cross-platform command finder
|
|
30
|
-
|
|
40
|
+
// Uses execFile to prevent shell injection vulnerabilities
|
|
41
|
+
// Exported for testing
|
|
42
|
+
export const findCommand = async (command) => {
|
|
31
43
|
const finder = process.platform === "win32" ? "where" : "which";
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
44
|
+
try {
|
|
45
|
+
const { stdout } = await execFileAsync(finder, [command]);
|
|
46
|
+
const lines = stdout.trim().split("\n");
|
|
47
|
+
if (!lines?.[0]) {
|
|
48
|
+
throw new Error(`${command} not found`);
|
|
49
|
+
}
|
|
50
|
+
return lines[0];
|
|
51
|
+
}
|
|
52
|
+
catch (_error) {
|
|
35
53
|
throw new Error(`${command} not found`);
|
|
36
|
-
|
|
54
|
+
}
|
|
37
55
|
};
|
|
38
56
|
// Auto-detect if running from a local development build
|
|
39
57
|
const isLocalDevelopmentBuild = () => {
|
|
@@ -93,6 +111,14 @@ export function pickPersistablePermissionEnv(env) {
|
|
|
93
111
|
ITERABLE_ENABLE_SENDS: normalize(env.ITERABLE_ENABLE_SENDS),
|
|
94
112
|
};
|
|
95
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Remove permission flags from env (they're loaded from key manager)
|
|
116
|
+
* Returns only non-persisted env vars like debug flags
|
|
117
|
+
*/
|
|
118
|
+
export function omitPersistablePermissionEnv(env) {
|
|
119
|
+
const { ITERABLE_USER_PII: _pii, ITERABLE_ENABLE_WRITES: _writes, ITERABLE_ENABLE_SENDS: _sends, ...rest } = env;
|
|
120
|
+
return rest;
|
|
121
|
+
}
|
|
96
122
|
/**
|
|
97
123
|
* Enforce that Sends require Writes. If Sends is enabled but Writes is disabled,
|
|
98
124
|
* disable Sends and optionally emit a warning.
|
|
@@ -122,6 +148,7 @@ export const setupMcpServer = async () => {
|
|
|
122
148
|
...(args.includes("--claude-desktop") ? ["claude-desktop"] : []),
|
|
123
149
|
...(args.includes("--cursor") ? ["cursor"] : []),
|
|
124
150
|
...(args.includes("--claude-code") ? ["claude-code"] : []),
|
|
151
|
+
...(args.includes("--manual") ? ["manual"] : []),
|
|
125
152
|
];
|
|
126
153
|
// Detect how the command was invoked
|
|
127
154
|
const isNpx = process.argv[1]?.includes("npx") ||
|
|
@@ -139,7 +166,7 @@ export const setupMcpServer = async () => {
|
|
|
139
166
|
colWidths: [45, 40],
|
|
140
167
|
style: "normal",
|
|
141
168
|
});
|
|
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"], [
|
|
169
|
+
setupTable.push([`${commandName} setup --claude-desktop`, "Configure for Claude Desktop"], [`${commandName} setup --cursor`, "Configure for Cursor"], [`${commandName} setup --claude-code`, "Configure for Claude Code"], [`${commandName} setup --manual`, "Show manual config instructions"], [
|
|
143
170
|
`${commandName} setup --cursor --claude-desktop`,
|
|
144
171
|
"Configure multiple tools",
|
|
145
172
|
], [`${commandName} setup --cursor --debug`, "Enable debug logging"], [
|
|
@@ -149,7 +176,7 @@ export const setupMcpServer = async () => {
|
|
|
149
176
|
console.log(setupTable.toString());
|
|
150
177
|
console.log();
|
|
151
178
|
console.log();
|
|
152
|
-
showSection("Key Management"
|
|
179
|
+
showSection("Key Management", icons.key);
|
|
153
180
|
console.log();
|
|
154
181
|
const keysTable = createTable({
|
|
155
182
|
head: ["Command", "Description"],
|
|
@@ -193,9 +220,8 @@ export const setupMcpServer = async () => {
|
|
|
193
220
|
], { icon: icons.zap, theme: "success" });
|
|
194
221
|
showBox("Security Features", [
|
|
195
222
|
"• API keys prompted interactively (never in shell history)",
|
|
196
|
-
|
|
223
|
+
getKeyStorageMessage(true),
|
|
197
224
|
"• Each key coupled to its endpoint (US/EU/custom)",
|
|
198
|
-
"• Windows/Linux: Use ITERABLE_API_KEY environment variable",
|
|
199
225
|
], { icon: icons.lock, theme: "info", padding: 1 });
|
|
200
226
|
return;
|
|
201
227
|
}
|
|
@@ -214,6 +240,7 @@ export const setupMcpServer = async () => {
|
|
|
214
240
|
{ name: "Cursor", value: "cursor" },
|
|
215
241
|
{ name: "Claude Desktop", value: "claude-desktop" },
|
|
216
242
|
{ name: "Claude Code (CLI)", value: "claude-code" },
|
|
243
|
+
{ name: "Other / Manual Setup", value: "manual" },
|
|
217
244
|
],
|
|
218
245
|
validate: (arr) => Array.isArray(arr) && arr.length > 0
|
|
219
246
|
? true
|
|
@@ -228,12 +255,7 @@ export const setupMcpServer = async () => {
|
|
|
228
255
|
const chalk = (await import("chalk")).default;
|
|
229
256
|
showIterableLogo(packageJson.version);
|
|
230
257
|
// Succinct overview of what will be configured
|
|
231
|
-
|
|
232
|
-
? "Cursor"
|
|
233
|
-
: t === "claude-desktop"
|
|
234
|
-
? "Claude Desktop"
|
|
235
|
-
: "Claude Code";
|
|
236
|
-
console.log(chalk.gray(`Running setup to configure: ${tools.map(prettyName).join(", ")}`));
|
|
258
|
+
console.log(chalk.gray(`Running setup to configure: ${tools.map((t) => TOOL_NAMES[t]).join(", ")}`));
|
|
237
259
|
console.log();
|
|
238
260
|
const ora = (await import("ora")).default;
|
|
239
261
|
const spinner = ora();
|
|
@@ -263,9 +285,8 @@ export const setupMcpServer = async () => {
|
|
|
263
285
|
showSuccess("Using API key from environment variable");
|
|
264
286
|
}
|
|
265
287
|
}
|
|
266
|
-
// 2) If not using env key, offer using an existing
|
|
267
|
-
if (!apiKey
|
|
268
|
-
const { getKeyManager } = await import("./key-manager.js");
|
|
288
|
+
// 2) If not using env key, offer using an existing stored key
|
|
289
|
+
if (!apiKey) {
|
|
269
290
|
const km = getKeyManager();
|
|
270
291
|
const keys = await km.listKeys().catch(() => []);
|
|
271
292
|
if (Array.isArray(keys) && keys.length > 0) {
|
|
@@ -273,7 +294,7 @@ export const setupMcpServer = async () => {
|
|
|
273
294
|
{
|
|
274
295
|
type: "confirm",
|
|
275
296
|
name: "useExisting",
|
|
276
|
-
message: `Found ${keys.length} existing Iterable API key${keys.length === 1 ? "" : "s"} in
|
|
297
|
+
message: `Found ${keys.length} existing Iterable API key${keys.length === 1 ? "" : "s"} in key storage. Use one of these?`,
|
|
277
298
|
default: true,
|
|
278
299
|
},
|
|
279
300
|
]);
|
|
@@ -305,7 +326,7 @@ export const setupMcpServer = async () => {
|
|
|
305
326
|
catch (e) {
|
|
306
327
|
showError(e instanceof Error
|
|
307
328
|
? e.message
|
|
308
|
-
: "Failed to load selected key from
|
|
329
|
+
: "Failed to load selected key from storage");
|
|
309
330
|
process.exit(1);
|
|
310
331
|
}
|
|
311
332
|
}
|
|
@@ -360,134 +381,125 @@ export const setupMcpServer = async () => {
|
|
|
360
381
|
console.log();
|
|
361
382
|
console.log(formatKeyValue("Selected endpoint", baseUrl, linkColor()));
|
|
362
383
|
console.log();
|
|
363
|
-
// Step 3: Store the key securely
|
|
384
|
+
// Step 3: Store the key securely
|
|
364
385
|
let existingKeyWithValue = null;
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
386
|
+
const keyManager = getKeyManager();
|
|
387
|
+
spinner.start("Initializing secure key storage...");
|
|
388
|
+
await keyManager.initialize();
|
|
389
|
+
spinner.succeed("Key storage ready");
|
|
390
|
+
// Check if key already exists
|
|
391
|
+
if (!usedExistingKey && apiKey) {
|
|
392
|
+
spinner.start("Checking for existing keys...");
|
|
393
|
+
existingKeyWithValue = await keyManager.findKeyByValue(apiKey);
|
|
394
|
+
spinner.stop();
|
|
395
|
+
}
|
|
396
|
+
if (usedExistingKey) {
|
|
397
|
+
// Offer to activate the selected existing key if not already active
|
|
398
|
+
if (!selectedExistingMeta?.isActive) {
|
|
399
|
+
const { activateExisting } = await inquirer.prompt([
|
|
400
|
+
{
|
|
401
|
+
type: "confirm",
|
|
402
|
+
name: "activateExisting",
|
|
403
|
+
message: `Set "${selectedExistingMeta?.name}" as your active API key?`,
|
|
404
|
+
default: true,
|
|
405
|
+
},
|
|
406
|
+
]);
|
|
407
|
+
if (activateExisting) {
|
|
408
|
+
await keyManager.setActiveKey(selectedExistingMeta.id);
|
|
409
|
+
showSuccess(`"${selectedExistingMeta?.name}" is now your active key`);
|
|
410
|
+
}
|
|
411
|
+
else {
|
|
412
|
+
showInfo("Keeping your current active key");
|
|
413
|
+
}
|
|
376
414
|
}
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
415
|
+
else {
|
|
416
|
+
showSuccess(`"${selectedExistingMeta?.name}" is already your active key`);
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
else if (existingKeyWithValue) {
|
|
420
|
+
showInfo(`This API key is already stored as "${existingKeyWithValue.name}"`);
|
|
421
|
+
usedKeyName = existingKeyWithValue.name;
|
|
422
|
+
if (!existingKeyWithValue.isActive) {
|
|
423
|
+
const { activateExisting } = await inquirer.prompt([
|
|
424
|
+
{
|
|
425
|
+
type: "confirm",
|
|
426
|
+
name: "activateExisting",
|
|
427
|
+
message: `Set "${existingKeyWithValue.name}" as your active API key?`,
|
|
428
|
+
default: true,
|
|
429
|
+
},
|
|
430
|
+
]);
|
|
431
|
+
if (activateExisting) {
|
|
432
|
+
await keyManager.setActiveKey(existingKeyWithValue.id);
|
|
433
|
+
showSuccess(`"${existingKeyWithValue.name}" is now your active key`);
|
|
395
434
|
}
|
|
396
435
|
else {
|
|
397
|
-
|
|
436
|
+
showInfo("Keeping your current active key");
|
|
398
437
|
}
|
|
399
438
|
}
|
|
400
|
-
else
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
439
|
+
else {
|
|
440
|
+
showSuccess(`"${existingKeyWithValue.name}" is already your active key`);
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
else {
|
|
444
|
+
// New key - prompt for name
|
|
445
|
+
const { newKeyName } = await inquirer.prompt([
|
|
446
|
+
{
|
|
447
|
+
type: "input",
|
|
448
|
+
name: "newKeyName",
|
|
449
|
+
message: "Enter a name for this API key:",
|
|
450
|
+
default: "default",
|
|
451
|
+
validate: (input) => {
|
|
452
|
+
if (input && input.length > 50)
|
|
453
|
+
return "Key name must be 50 characters or less";
|
|
454
|
+
return true;
|
|
455
|
+
},
|
|
456
|
+
},
|
|
457
|
+
]);
|
|
458
|
+
keyName = newKeyName || "default";
|
|
459
|
+
spinner.start("Storing API key securely...");
|
|
460
|
+
try {
|
|
461
|
+
const newKeyId = await keyManager.addKey(keyName, apiKey, baseUrl);
|
|
462
|
+
spinner.succeed("API key stored successfully!");
|
|
463
|
+
console.log();
|
|
464
|
+
console.log(formatKeyValue("Name", keyName, chalk.white.bold));
|
|
465
|
+
console.log(formatKeyValue("ID", newKeyId, chalk.gray));
|
|
466
|
+
console.log(formatKeyValue("Endpoint", baseUrl, chalk.cyan));
|
|
467
|
+
console.log();
|
|
468
|
+
usedKeyName = keyName;
|
|
469
|
+
// Check if we should activate this key
|
|
470
|
+
const allKeys = await keyManager.listKeys();
|
|
471
|
+
if (allKeys.length > 1) {
|
|
472
|
+
const { activateNew } = await inquirer.prompt([
|
|
405
473
|
{
|
|
406
474
|
type: "confirm",
|
|
407
|
-
name: "
|
|
408
|
-
message: `Set "${
|
|
475
|
+
name: "activateNew",
|
|
476
|
+
message: `Set "${keyName}" as your active API key?`,
|
|
409
477
|
default: true,
|
|
410
478
|
},
|
|
411
479
|
]);
|
|
412
|
-
if (
|
|
413
|
-
await keyManager.setActiveKey(
|
|
414
|
-
showSuccess(`"${
|
|
480
|
+
if (activateNew) {
|
|
481
|
+
await keyManager.setActiveKey(newKeyId);
|
|
482
|
+
showSuccess(`"${keyName}" is now your active key`);
|
|
415
483
|
}
|
|
416
484
|
else {
|
|
417
|
-
showInfo(
|
|
485
|
+
showInfo(`Keeping your current active key. Run 'iterable-mcp keys activate "${keyName}"' to switch later.`);
|
|
418
486
|
}
|
|
419
487
|
}
|
|
420
|
-
else {
|
|
421
|
-
showSuccess(`"${existingKeyWithValue.name}" is already your active key`);
|
|
422
|
-
}
|
|
423
488
|
}
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
},
|
|
437
|
-
},
|
|
438
|
-
]);
|
|
439
|
-
keyName = newKeyName || "default";
|
|
440
|
-
spinner.start("Storing API key securely in macOS Keychain...");
|
|
441
|
-
try {
|
|
442
|
-
const newKeyId = await keyManager.addKey(keyName, apiKey, baseUrl);
|
|
443
|
-
spinner.succeed("API key stored successfully!");
|
|
444
|
-
console.log();
|
|
445
|
-
console.log(formatKeyValue("Name", keyName, chalk.white.bold));
|
|
446
|
-
console.log(formatKeyValue("ID", newKeyId, chalk.gray));
|
|
447
|
-
console.log(formatKeyValue("Endpoint", baseUrl, chalk.cyan));
|
|
448
|
-
console.log();
|
|
449
|
-
usedKeyName = keyName;
|
|
450
|
-
// Check if we should activate this key
|
|
451
|
-
const allKeys = await keyManager.listKeys();
|
|
452
|
-
if (allKeys.length > 1) {
|
|
453
|
-
const { activateNew } = await inquirer.prompt([
|
|
454
|
-
{
|
|
455
|
-
type: "confirm",
|
|
456
|
-
name: "activateNew",
|
|
457
|
-
message: `Set "${keyName}" as your active API key?`,
|
|
458
|
-
default: true,
|
|
459
|
-
},
|
|
460
|
-
]);
|
|
461
|
-
if (activateNew) {
|
|
462
|
-
await keyManager.setActiveKey(newKeyId);
|
|
463
|
-
showSuccess(`"${keyName}" is now your active key`);
|
|
464
|
-
}
|
|
465
|
-
else {
|
|
466
|
-
showInfo(`Keeping your current active key. Run 'iterable-mcp keys activate "${keyName}"' to switch later.`);
|
|
467
|
-
}
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
catch (error) {
|
|
471
|
-
const { sanitizeString } = await import("./utils/sanitize.js");
|
|
472
|
-
spinner.fail("Failed to store API key");
|
|
473
|
-
console.log();
|
|
474
|
-
const msg = error instanceof Error
|
|
475
|
-
? sanitizeString(error.message)
|
|
476
|
-
: "Unknown error";
|
|
477
|
-
showError(msg);
|
|
478
|
-
console.log();
|
|
479
|
-
showInfo("Your API key was not stored. You can re-run 'iterable-mcp setup' to try again.");
|
|
480
|
-
showInfo("If the problem persists, verify Keychain access and disk permissions.");
|
|
481
|
-
process.exit(1);
|
|
482
|
-
}
|
|
489
|
+
catch (error) {
|
|
490
|
+
const { sanitizeString } = await import("./utils/sanitize.js");
|
|
491
|
+
spinner.fail("Failed to store API key");
|
|
492
|
+
console.log();
|
|
493
|
+
const msg = error instanceof Error
|
|
494
|
+
? sanitizeString(error.message)
|
|
495
|
+
: "Unknown error";
|
|
496
|
+
showError(msg);
|
|
497
|
+
console.log();
|
|
498
|
+
showInfo("Your API key was not stored. You can re-run 'iterable-mcp setup' to try again.");
|
|
499
|
+
showInfo("If the problem persists, verify storage access and disk permissions.");
|
|
500
|
+
process.exit(1);
|
|
483
501
|
}
|
|
484
502
|
}
|
|
485
|
-
else {
|
|
486
|
-
// Non-macOS: do not use Keychain; rely on environment variables instead
|
|
487
|
-
usedKeyName =
|
|
488
|
-
usedKeyName ||
|
|
489
|
-
(process.env.ITERABLE_API_KEY ? "Environment" : undefined);
|
|
490
|
-
}
|
|
491
503
|
// Step 4: Privacy & Security Settings (Basic by default; Advanced via --advanced)
|
|
492
504
|
console.log();
|
|
493
505
|
showSection("Privacy & Security Settings", icons.lock);
|
|
@@ -533,13 +545,6 @@ export const setupMcpServer = async () => {
|
|
|
533
545
|
ITERABLE_ENABLE_WRITES: selectedEnv.ITERABLE_ENABLE_WRITES,
|
|
534
546
|
ITERABLE_ENABLE_SENDS: selectedEnv.ITERABLE_ENABLE_SENDS,
|
|
535
547
|
};
|
|
536
|
-
// On non-macOS, include API key and base URL in the written config
|
|
537
|
-
if (process.platform !== "darwin") {
|
|
538
|
-
if (apiKey)
|
|
539
|
-
mcpEnv.ITERABLE_API_KEY = apiKey;
|
|
540
|
-
if (baseUrl)
|
|
541
|
-
mcpEnv.ITERABLE_BASE_URL = baseUrl;
|
|
542
|
-
}
|
|
543
548
|
if (args.includes("--debug")) {
|
|
544
549
|
mcpEnv.ITERABLE_DEBUG = "true";
|
|
545
550
|
mcpEnv.LOG_LEVEL = "debug";
|
|
@@ -569,11 +574,8 @@ export const setupMcpServer = async () => {
|
|
|
569
574
|
}
|
|
570
575
|
console.log();
|
|
571
576
|
// If we used an existing key, update its env overrides with chosen settings
|
|
572
|
-
if (usedKeyName
|
|
577
|
+
if (usedKeyName) {
|
|
573
578
|
try {
|
|
574
|
-
const { getKeyManager } = await import("./key-manager.js");
|
|
575
|
-
const keyManager = getKeyManager();
|
|
576
|
-
await keyManager.initialize();
|
|
577
579
|
await keyManager.updateKeyEnv(usedKeyName, pickPersistablePermissionEnv(mcpEnv));
|
|
578
580
|
// Re-read the key metadata and prefer its persisted env when writing
|
|
579
581
|
// tool configurations. This addresses cases where the key was activated
|
|
@@ -611,17 +613,12 @@ export const setupMcpServer = async () => {
|
|
|
611
613
|
}
|
|
612
614
|
const iterableMcpConfig = buildMcpConfig({
|
|
613
615
|
...(args.includes("--local") && { isLocal: true }),
|
|
614
|
-
env: mcpEnv,
|
|
616
|
+
env: omitPersistablePermissionEnv(mcpEnv),
|
|
615
617
|
autoUpdate: useAutoUpdate,
|
|
616
618
|
});
|
|
617
619
|
// Preflight confirmation summary before applying changes
|
|
618
|
-
const prettyName = (t) => t === "cursor"
|
|
619
|
-
? "Cursor"
|
|
620
|
-
: t === "claude-desktop"
|
|
621
|
-
? "Claude Desktop"
|
|
622
|
-
: "Claude Code";
|
|
623
620
|
console.log(chalk.gray("Summary:"));
|
|
624
|
-
console.log(formatKeyValue("Tools", tools.map(
|
|
621
|
+
console.log(formatKeyValue("Tools", tools.map((t) => TOOL_NAMES[t]).join(", "), valueColor()));
|
|
625
622
|
if (usedKeyName) {
|
|
626
623
|
console.log(formatKeyValue("API Key", usedKeyName, valueColor()));
|
|
627
624
|
}
|
|
@@ -648,8 +645,9 @@ export const setupMcpServer = async () => {
|
|
|
648
645
|
showInfo("Setup cancelled by user. No changes were made.");
|
|
649
646
|
return;
|
|
650
647
|
}
|
|
651
|
-
const fileBasedTools = tools.filter((tool) => tool
|
|
648
|
+
const fileBasedTools = tools.filter((tool) => tool === "claude-desktop" || tool === "cursor");
|
|
652
649
|
const needsClaudeCode = tools.includes("claude-code");
|
|
650
|
+
const needsManual = tools.includes("manual");
|
|
653
651
|
if (fileBasedTools.length > 0) {
|
|
654
652
|
const { updateToolConfig } = await import("./utils/tool-config.js");
|
|
655
653
|
for (const tool of fileBasedTools) {
|
|
@@ -680,13 +678,8 @@ export const setupMcpServer = async () => {
|
|
|
680
678
|
process.exit(1);
|
|
681
679
|
}
|
|
682
680
|
const configJson = JSON.stringify(iterableMcpConfig);
|
|
683
|
-
// Remove existing config
|
|
684
|
-
|
|
685
|
-
await promisify(exec)("claude mcp remove iterable");
|
|
686
|
-
}
|
|
687
|
-
catch {
|
|
688
|
-
// Ignore errors
|
|
689
|
-
}
|
|
681
|
+
// Remove existing config (ignore errors)
|
|
682
|
+
await execFileAsync("claude", ["mcp", "remove", "iterable"]).catch(() => { });
|
|
690
683
|
spinner.start("Configuring Claude Code...");
|
|
691
684
|
await new Promise((resolve, reject) => {
|
|
692
685
|
const child = spawn("claude", ["mcp", "add-json", "iterable", configJson], {
|
|
@@ -704,6 +697,27 @@ export const setupMcpServer = async () => {
|
|
|
704
697
|
});
|
|
705
698
|
spinner.succeed("Claude Code configured successfully");
|
|
706
699
|
}
|
|
700
|
+
if (needsManual) {
|
|
701
|
+
console.log();
|
|
702
|
+
showSection("Manual Configuration", icons.rocket);
|
|
703
|
+
console.log();
|
|
704
|
+
const { type, command, args, env } = iterableMcpConfig;
|
|
705
|
+
showInfo("Your API key has been stored.");
|
|
706
|
+
showInfo("Add the MCP server to your AI tool with these settings:");
|
|
707
|
+
console.log();
|
|
708
|
+
console.log(chalk.white.bold(" Type:") + ` ${type}`);
|
|
709
|
+
console.log(chalk.white.bold(" Command:") + ` ${command}`);
|
|
710
|
+
console.log(chalk.white.bold(" Args:") + ` ${args.join(" ")}`);
|
|
711
|
+
const envEntries = Object.entries(env);
|
|
712
|
+
if (envEntries.length > 0) {
|
|
713
|
+
console.log(chalk.white.bold(" Env:"));
|
|
714
|
+
envEntries.forEach(([k, v]) => {
|
|
715
|
+
console.log(chalk.gray(` ${k}=${v}`));
|
|
716
|
+
});
|
|
717
|
+
}
|
|
718
|
+
console.log();
|
|
719
|
+
showInfo("Refer to your AI tool's documentation for configuration instructions.");
|
|
720
|
+
}
|
|
707
721
|
// Build configured tools list
|
|
708
722
|
const configuredTools = [];
|
|
709
723
|
if (fileBasedTools.includes("cursor"))
|
|
@@ -712,6 +726,8 @@ export const setupMcpServer = async () => {
|
|
|
712
726
|
configuredTools.push("Claude Desktop");
|
|
713
727
|
if (needsClaudeCode)
|
|
714
728
|
configuredTools.push("Claude Code");
|
|
729
|
+
if (needsManual)
|
|
730
|
+
configuredTools.push("your AI tool");
|
|
715
731
|
const toolsList = configuredTools.length === 1
|
|
716
732
|
? configuredTools[0]
|
|
717
733
|
: configuredTools.length === 2
|
|
@@ -722,6 +738,7 @@ export const setupMcpServer = async () => {
|
|
|
722
738
|
// Success!
|
|
723
739
|
console.log();
|
|
724
740
|
const nextSteps = [
|
|
741
|
+
...(needsManual ? ["Configure your AI tool as described above"] : []),
|
|
725
742
|
`Restart ${toolsList} to load the new configuration`,
|
|
726
743
|
"Start using Iterable MCP tools in your conversations",
|
|
727
744
|
...(needsClaudeCode
|
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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"}
|