@iterable/mcp 1.0.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.
Files changed (140) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +318 -0
  3. package/TOOLS.md +133 -0
  4. package/dist/client-detection.d.ts +7 -0
  5. package/dist/client-detection.d.ts.map +1 -0
  6. package/dist/client-detection.js +22 -0
  7. package/dist/client-detection.js.map +1 -0
  8. package/dist/config.d.ts +25 -0
  9. package/dist/config.d.ts.map +1 -0
  10. package/dist/config.js +74 -0
  11. package/dist/config.js.map +1 -0
  12. package/dist/http-headers.d.ts +5 -0
  13. package/dist/http-headers.d.ts.map +1 -0
  14. package/dist/http-headers.js +5 -0
  15. package/dist/http-headers.js.map +1 -0
  16. package/dist/index.d.ts +3 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +43 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/install.d.ts +41 -0
  21. package/dist/install.d.ts.map +1 -0
  22. package/dist/install.js +725 -0
  23. package/dist/install.js.map +1 -0
  24. package/dist/key-manager.d.ts +236 -0
  25. package/dist/key-manager.d.ts.map +1 -0
  26. package/dist/key-manager.js +776 -0
  27. package/dist/key-manager.js.map +1 -0
  28. package/dist/keys-cli.d.ts +8 -0
  29. package/dist/keys-cli.d.ts.map +1 -0
  30. package/dist/keys-cli.js +487 -0
  31. package/dist/keys-cli.js.map +1 -0
  32. package/dist/prompts.d.ts +15 -0
  33. package/dist/prompts.d.ts.map +1 -0
  34. package/dist/prompts.js +66 -0
  35. package/dist/prompts.js.map +1 -0
  36. package/dist/schema-utils.d.ts +22 -0
  37. package/dist/schema-utils.d.ts.map +1 -0
  38. package/dist/schema-utils.js +65 -0
  39. package/dist/schema-utils.js.map +1 -0
  40. package/dist/server.d.ts +13 -0
  41. package/dist/server.d.ts.map +1 -0
  42. package/dist/server.js +172 -0
  43. package/dist/server.js.map +1 -0
  44. package/dist/shutdown.d.ts +5 -0
  45. package/dist/shutdown.d.ts.map +1 -0
  46. package/dist/shutdown.js +68 -0
  47. package/dist/shutdown.js.map +1 -0
  48. package/dist/tool-filter.d.ts +19 -0
  49. package/dist/tool-filter.d.ts.map +1 -0
  50. package/dist/tool-filter.js +144 -0
  51. package/dist/tool-filter.js.map +1 -0
  52. package/dist/tools/campaigns.d.ts +7 -0
  53. package/dist/tools/campaigns.d.ts.map +1 -0
  54. package/dist/tools/campaigns.js +88 -0
  55. package/dist/tools/campaigns.js.map +1 -0
  56. package/dist/tools/catalogs.d.ts +7 -0
  57. package/dist/tools/catalogs.d.ts.map +1 -0
  58. package/dist/tools/catalogs.js +85 -0
  59. package/dist/tools/catalogs.js.map +1 -0
  60. package/dist/tools/events.d.ts +7 -0
  61. package/dist/tools/events.d.ts.map +1 -0
  62. package/dist/tools/events.js +34 -0
  63. package/dist/tools/events.js.map +1 -0
  64. package/dist/tools/experiments.d.ts +7 -0
  65. package/dist/tools/experiments.d.ts.map +1 -0
  66. package/dist/tools/experiments.js +16 -0
  67. package/dist/tools/experiments.js.map +1 -0
  68. package/dist/tools/export.d.ts +7 -0
  69. package/dist/tools/export.d.ts.map +1 -0
  70. package/dist/tools/export.js +41 -0
  71. package/dist/tools/export.js.map +1 -0
  72. package/dist/tools/index.d.ts +19 -0
  73. package/dist/tools/index.d.ts.map +1 -0
  74. package/dist/tools/index.js +44 -0
  75. package/dist/tools/index.js.map +1 -0
  76. package/dist/tools/journeys.d.ts +10 -0
  77. package/dist/tools/journeys.d.ts.map +1 -0
  78. package/dist/tools/journeys.js +25 -0
  79. package/dist/tools/journeys.js.map +1 -0
  80. package/dist/tools/lists.d.ts +7 -0
  81. package/dist/tools/lists.d.ts.map +1 -0
  82. package/dist/tools/lists.js +58 -0
  83. package/dist/tools/lists.js.map +1 -0
  84. package/dist/tools/messaging.d.ts +11 -0
  85. package/dist/tools/messaging.d.ts.map +1 -0
  86. package/dist/tools/messaging.js +103 -0
  87. package/dist/tools/messaging.js.map +1 -0
  88. package/dist/tools/snippets.d.ts +7 -0
  89. package/dist/tools/snippets.d.ts.map +1 -0
  90. package/dist/tools/snippets.js +46 -0
  91. package/dist/tools/snippets.js.map +1 -0
  92. package/dist/tools/subscriptions.d.ts +4 -0
  93. package/dist/tools/subscriptions.d.ts.map +1 -0
  94. package/dist/tools/subscriptions.js +37 -0
  95. package/dist/tools/subscriptions.js.map +1 -0
  96. package/dist/tools/templates.d.ts +7 -0
  97. package/dist/tools/templates.d.ts.map +1 -0
  98. package/dist/tools/templates.js +118 -0
  99. package/dist/tools/templates.js.map +1 -0
  100. package/dist/tools/users.d.ts +10 -0
  101. package/dist/tools/users.d.ts.map +1 -0
  102. package/dist/tools/users.js +74 -0
  103. package/dist/tools/users.js.map +1 -0
  104. package/dist/tools/webhooks.d.ts +7 -0
  105. package/dist/tools/webhooks.d.ts.map +1 -0
  106. package/dist/tools/webhooks.js +22 -0
  107. package/dist/tools/webhooks.js.map +1 -0
  108. package/dist/utils/cli-env.d.ts +11 -0
  109. package/dist/utils/cli-env.d.ts.map +1 -0
  110. package/dist/utils/cli-env.js +32 -0
  111. package/dist/utils/cli-env.js.map +1 -0
  112. package/dist/utils/endpoint-prompt.d.ts +14 -0
  113. package/dist/utils/endpoint-prompt.d.ts.map +1 -0
  114. package/dist/utils/endpoint-prompt.js +73 -0
  115. package/dist/utils/endpoint-prompt.js.map +1 -0
  116. package/dist/utils/formatting.d.ts +10 -0
  117. package/dist/utils/formatting.d.ts.map +1 -0
  118. package/dist/utils/formatting.js +12 -0
  119. package/dist/utils/formatting.js.map +1 -0
  120. package/dist/utils/password-prompt.d.ts +19 -0
  121. package/dist/utils/password-prompt.d.ts.map +1 -0
  122. package/dist/utils/password-prompt.js +37 -0
  123. package/dist/utils/password-prompt.js.map +1 -0
  124. package/dist/utils/sanitize.d.ts +13 -0
  125. package/dist/utils/sanitize.d.ts.map +1 -0
  126. package/dist/utils/sanitize.js +23 -0
  127. package/dist/utils/sanitize.js.map +1 -0
  128. package/dist/utils/tool-config.d.ts +13 -0
  129. package/dist/utils/tool-config.d.ts.map +1 -0
  130. package/dist/utils/tool-config.js +45 -0
  131. package/dist/utils/tool-config.js.map +1 -0
  132. package/dist/utils/ui.d.ts +90 -0
  133. package/dist/utils/ui.d.ts.map +1 -0
  134. package/dist/utils/ui.js +298 -0
  135. package/dist/utils/ui.js.map +1 -0
  136. package/dist/utils/url.d.ts +20 -0
  137. package/dist/utils/url.d.ts.map +1 -0
  138. package/dist/utils/url.js +53 -0
  139. package/dist/utils/url.js.map +1 -0
  140. package/package.json +105 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,236 @@
1
+ /**
2
+ * Secure API Key Management using macOS Keychain
3
+ *
4
+ * This module provides secure storage and management of multiple Iterable API keys
5
+ * using macOS Keychain via the native `security` command-line tool.
6
+ *
7
+ * Platform Support:
8
+ * - macOS: Full support with Keychain integration
9
+ * - Windows/Linux: Not supported - use ITERABLE_API_KEY environment variable
10
+ *
11
+ * Storage:
12
+ * - API keys: Stored securely in macOS Keychain (never on disk)
13
+ * - Metadata: Stored in ~/.iterable-mcp/keys.json (names, IDs, endpoints, timestamps)
14
+ * - Lock file: ~/.iterable-mcp/keys.lock (prevents concurrent modifications)
15
+ *
16
+ * Security Features:
17
+ * - Uses spawn() with argument arrays to prevent shell injection
18
+ * - File-based locking for concurrent access protection
19
+ * - Test-specific service name to isolate test keychain entries
20
+ * - API key format validation (32-char lowercase hex)
21
+ * - HTTPS-only URL validation
22
+ * - Duplicate key detection (both names and values)
23
+ */
24
+ export type SecurityExecutor = (args: string[]) => Promise<string>;
25
+ export interface ApiKeyMetadata {
26
+ /** Unique identifier for this key */
27
+ id: string;
28
+ /** User-friendly name for this key */
29
+ name: string;
30
+ /** Iterable API base URL (e.g., https://api.iterable.com or https://api.eu.iterable.com) */
31
+ baseUrl: string;
32
+ /** ISO timestamp when key was created */
33
+ created: string;
34
+ /** Whether this is the currently active key */
35
+ isActive: boolean;
36
+ /** Optional per-key environment overrides (extensible for future vars) */
37
+ env?: Record<string, string>;
38
+ }
39
+ export declare class KeyManager {
40
+ private readonly configDir;
41
+ private readonly metadataFile;
42
+ private readonly lockFile;
43
+ private store;
44
+ private saveLock;
45
+ private readonly execSecurity;
46
+ /**
47
+ * Create a new KeyManager instance
48
+ *
49
+ * @param configDir - Optional custom config directory (defaults to ~/.iterable-mcp)
50
+ * @param execSecurity - Optional security command executor (for dependency injection in tests)
51
+ * @throws {Error} If not running on macOS and no mock executor is provided
52
+ */
53
+ constructor(configDir?: string, execSecurity?: SecurityExecutor);
54
+ /**
55
+ * Validate metadata against keychain and clean up orphaned entries
56
+ *
57
+ * Checks if each key in metadata still exists in the keychain.
58
+ * Removes any metadata entries that no longer have corresponding keychain entries.
59
+ * This prevents sync issues when keychain entries are manually deleted.
60
+ *
61
+ * @returns Array of cleaned up key names (if any)
62
+ */
63
+ private validateAndCleanup;
64
+ /**
65
+ * Acquire an exclusive lock for metadata operations
66
+ *
67
+ * Uses atomic file creation (wx flag = O_CREAT | O_EXCL) to prevent concurrent
68
+ * modifications. Retries up to 20 times with 50ms delays (1 second total).
69
+ * Fails safely if lock cannot be acquired rather than forcefully stealing it.
70
+ *
71
+ * Lock contention is rare since writes only happen during explicit user operations
72
+ * (add, delete, activate keys) - no automatic updates.
73
+ *
74
+ * @returns An async unlock function that should be called in a finally block
75
+ * @throws {Error} If lock cannot be acquired after 1 second timeout
76
+ */
77
+ private acquireLock;
78
+ /**
79
+ * Initialize the key manager
80
+ *
81
+ * Creates the configuration directory (mode 0o700) and loads existing metadata.
82
+ * If the metadata file doesn't exist, creates a new empty store.
83
+ * Uses idiomatic Node.js approach: try to read, handle ENOENT if file missing.
84
+ * This method must be called before any other key management operations.
85
+ *
86
+ * @throws {Error} If the configuration directory cannot be created or metadata is corrupt
87
+ */
88
+ initialize(): Promise<void>;
89
+ /**
90
+ * Load metadata from disk (with locking)
91
+ */
92
+ private loadMetadata;
93
+ /**
94
+ * Create a backup of the metadata file before destructive operations
95
+ */
96
+ private backupMetadata;
97
+ /**
98
+ * Save metadata to disk (with locking to prevent concurrent modifications)
99
+ */
100
+ private saveMetadata;
101
+ /**
102
+ * Generate a unique ID for a key
103
+ * Uses UUID v4 for guaranteed uniqueness and no collision risk
104
+ */
105
+ private generateId;
106
+ /**
107
+ * Validate API key format
108
+ */
109
+ private validateApiKey;
110
+ /**
111
+ * Validate and normalize base URL
112
+ */
113
+ private validateBaseUrl;
114
+ /**
115
+ * Add a new API key
116
+ *
117
+ * Securely stores an API key in macOS Keychain and saves its metadata
118
+ * (name, base URL, timestamps) to disk. Each key is tightly coupled to
119
+ * its API endpoint.
120
+ *
121
+ * @param name - User-friendly name for the key (must be unique)
122
+ * @param apiKey - 32-character lowercase hexadecimal Iterable API key
123
+ * @param baseUrl - Iterable API base URL (must be HTTPS)
124
+ * @returns The unique ID generated for this key
125
+ * @throws {Error} If the key name already exists, validation fails, or keychain storage fails
126
+ */
127
+ addKey(name: string, apiKey: string, baseUrl: string, envOverrides?: Record<string, string>): Promise<string>;
128
+ /**
129
+ * Update per-key environment overrides for an existing key
130
+ */
131
+ updateKeyEnv(idOrName: string, envOverrides: Record<string, string>): Promise<void>;
132
+ /**
133
+ * List all keys (metadata only, not the actual keys)
134
+ *
135
+ * Returns metadata for all stored API keys including names, IDs, base URLs,
136
+ * timestamps, and active status. Does NOT return the actual API key values.
137
+ *
138
+ * @returns Array of API key metadata
139
+ * @throws {Error} If the key store is not initialized
140
+ */
141
+ listKeys(): Promise<ApiKeyMetadata[]>;
142
+ /**
143
+ * Get a key by ID or name
144
+ *
145
+ * Retrieves the actual API key value from macOS Keychain.
146
+ *
147
+ * @param idOrName - The unique ID or user-friendly name of the key
148
+ * @returns The API key value, or null if not found
149
+ * @throws {Error} If keychain access fails
150
+ */
151
+ getKey(idOrName: string): Promise<string | null>;
152
+ /**
153
+ * Get the currently active key
154
+ *
155
+ * Retrieves the API key value for whichever key is currently marked as active.
156
+ * Only one key can be active at a time.
157
+ *
158
+ * @returns The active API key value, or null if no key is active
159
+ * @throws {Error} If keychain access fails
160
+ */
161
+ getActiveKey(): Promise<string | null>;
162
+ /**
163
+ * Get the active key metadata
164
+ *
165
+ * Returns metadata for the currently active key without retrieving the
166
+ * actual API key value from Keychain.
167
+ *
168
+ * @returns The active key metadata, or null if no key is active
169
+ * @throws {Error} If the key store is not initialized
170
+ */
171
+ getActiveKeyMetadata(): Promise<ApiKeyMetadata | null>;
172
+ /**
173
+ * Set a key as active by ID or name
174
+ *
175
+ * Marks the specified key as active and deactivates all other keys.
176
+ * The active key's base URL and API key will be used by the MCP server.
177
+ * Only one key can be active at a time.
178
+ *
179
+ * @param idOrName - The unique ID or user-friendly name of the key to activate
180
+ * @throws {Error} If the key is not found or the store is not initialized
181
+ */
182
+ setActiveKey(idOrName: string): Promise<void>;
183
+ /**
184
+ * Delete a key by ID
185
+ *
186
+ * Removes a key from both the macOS Keychain and the metadata store.
187
+ * The currently active key cannot be deleted - you must activate a different
188
+ * key first. If keychain deletion fails, the metadata will still be removed
189
+ * and a warning will be displayed.
190
+ *
191
+ * Note: Only accepts key ID (not name) since IDs are guaranteed unique.
192
+ *
193
+ * @param id - The unique ID of the key to delete
194
+ * @throws {Error} If the key is not found, is currently active, or the store is not initialized
195
+ */
196
+ deleteKey(id: string): Promise<void>;
197
+ /**
198
+ * Check if any keys exist
199
+ *
200
+ * Returns true if at least one API key has been stored in the key manager.
201
+ *
202
+ * @returns True if keys exist, false otherwise
203
+ * @throws {Error} If the key store is not initialized
204
+ */
205
+ hasKeys(): Promise<boolean>;
206
+ /**
207
+ * Find a key by its actual API key value
208
+ *
209
+ * Checks all stored keys in the keychain to see if the given API key value
210
+ * already exists. Useful for preventing duplicate key values.
211
+ *
212
+ * @param apiKeyValue - The API key value to search for
213
+ * @returns The metadata of the matching key, or null if not found
214
+ * @throws {Error} If keychain access fails
215
+ */
216
+ findKeyByValue(apiKeyValue: string): Promise<ApiKeyMetadata | null>;
217
+ /**
218
+ * Migrate a legacy API key from environment variable
219
+ *
220
+ * Adds an API key to the key manager with a default name if it doesn't
221
+ * already exist. This is used during the migration path from environment
222
+ * variable-based configuration to secure keychain storage.
223
+ *
224
+ * @param apiKey - The 32-character lowercase hexadecimal API key to migrate
225
+ * @param baseUrl - The Iterable API base URL for this key
226
+ * @param name - The name to assign (defaults to "default")
227
+ * @returns The unique ID of the migrated key (existing or newly created)
228
+ * @throws {Error} If validation fails or keychain storage fails
229
+ */
230
+ migrateLegacyKey(apiKey: string, baseUrl: string, name?: string): Promise<string>;
231
+ }
232
+ /**
233
+ * Get the singleton KeyManager instance
234
+ */
235
+ export declare function getKeyManager(): KeyManager;
236
+ //# sourceMappingURL=key-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-manager.d.ts","sourceRoot":"","sources":["../src/key-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AA0DH,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;IA4DhC;;;;;;;;;;;;OAYG;YACW,WAAW;IAgFzB;;;;;;;;;OASG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BjC;;OAEG;YACW,YAAY;IAU1B;;OAEG;YACW,cAAc;IAc5B;;OAEG;YACW,YAAY;IA6C1B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAqCvB;;;;;;;;;;;;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,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAezF;;;;;;;;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"}