make-mcp-server 1.3.4 โ†’ 1.3.5

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
@@ -12,13 +12,14 @@ A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that g
12
12
  - **๐Ÿ” 200+ Modules** โ€” Full-text search across 200+ Make.com modules (Slack, Gmail, Google Sheets, Notion, OpenAI, and 35+ more apps)
13
13
  - **๐Ÿ“‹ Module Details** โ€” Retrieve parameters, types, descriptions, and usage docs for any module
14
14
  - **โœ… Blueprint Validation** โ€” Check scenarios for missing parameters, unknown modules, structural issues, and router sub-routes before deploying
15
+ - **๐Ÿ›ก๏ธ Account-Aware Compatibility** โ€” Verify module IDs against your live Make account/region before deployment to prevent "Module not found" scenarios
15
16
  - **๐Ÿš€ Deploy to Make.com** โ€” Push validated blueprints directly to Make.com via API
16
17
  - **๐Ÿฉน Auto-Healing** โ€” Automatically fixes LLM-generated blueprints: injects missing `metadata`, adds `designer` coordinates, strips unsupported properties like router `filter`
17
18
  - **๐Ÿ”€ Router Support** โ€” Full support for `builtin:BasicRouter` with multiple routes and recursive validation
18
19
  - **๐Ÿ“š Scenario Templates** โ€” Browse reusable scenario templates for common workflows
19
20
  - **๐Ÿ“– Guided Prompts** โ€” MCP prompts for guided scenario building and module exploration
20
21
  - **๐Ÿ“Š Resource Catalog** โ€” MCP resources for browsing available apps
21
- - **๐Ÿงช 42 Tests** โ€” Unit + integration test suite with Vitest
22
+ - **๐Ÿงช 43 Tests** โ€” Unit + integration test suite with Vitest
22
23
  - **โšก Fast Response** โ€” Optimized SQLite with FTS5 full-text search
23
24
 
24
25
  ---
@@ -219,6 +220,7 @@ Then ask your AI assistant things like:
219
220
  | `tools_documentation` | **START HERE** โ€” Returns comprehensive documentation for all tools, prompts, and resources |
220
221
  | `search_modules` | Full-text search across 200+ Make.com modules |
221
222
  | `get_module` | Get detailed module info with parameters and docs |
223
+ | `check_account_compatibility` | Check if modules are available in your current Make account/region (with suggestions) |
222
224
  | `validate_scenario` | Validate a scenario blueprint before deployment |
223
225
  | `create_scenario` | Deploy a scenario to Make.com via API |
224
226
  | `search_templates` | Search reusable scenario templates |
@@ -234,6 +236,7 @@ The `create_scenario` tool automatically fixes common issues in LLM-generated bl
234
236
  | Missing `metadata.designer` on modules | Adds `{ x: 0, y: 0 }` coordinates |
235
237
  | Router `filter` in route objects | Strips unsupported `filter` property (configure filters in Make.com UI) |
236
238
  | Missing `version` on modules | Left unset โ€” Make.com auto-resolves the latest installed version |
239
+ | Catalog mismatch (`IM007`, module not available) | Checks live modules in your account/region, auto-remaps close matches, retries deploy once |
237
240
 
238
241
  > **Tip:** Do NOT hardcode `"version": 1` on modules. Some apps (e.g., HTTP) are on v4+ and specifying the wrong version causes "Module not found" errors.
239
242
 
@@ -268,6 +271,7 @@ make-mcp-server --help # Show help
268
271
  | `MAKE_TEAM_ID` | For deployment | โ€” | Default team ID for scenario deployment |
269
272
  | `DATABASE_PATH` | No | `<package>/data/make-modules.db` | SQLite database file path |
270
273
  | `LOG_LEVEL` | No | `info` | Logging level: `debug`, `info`, `warn`, `error`, `silent` |
274
+ | `MAKE_MODULE_CACHE_TTL_MS` | No | `300000` | Cache TTL for live module catalog checks (milliseconds) |
271
275
 
272
276
  ## Development
273
277
 
@@ -278,7 +282,8 @@ npm run start:dev # Start with tsx (no build needed)
278
282
  npm run dev # Start with file watching
279
283
  npm run scrape # Populate DB with tsx (dev)
280
284
  npm run scrape:prod # Populate DB from compiled JS
281
- npm test # Run all 42 tests
285
+ npm run smoke:compat # One-command account compatibility + validation smoke check
286
+ npm test # Run all 43 tests
282
287
  npm run test:watch # Run tests in watch mode
283
288
  ```
284
289
 
@@ -291,16 +296,39 @@ npm publish # Publish to npm registry
291
296
 
292
297
  ## Testing
293
298
 
294
- The test suite includes 42 tests across 3 files:
299
+ The test suite includes 43 tests across 3 files:
295
300
 
296
301
  - **Database tests** (14 tests) โ€” Insert, search, template operations, FTS5 queries
297
302
  - **Logger tests** (7 tests) โ€” Stderr-only output, log levels, data serialization
298
- - **Server integration tests** (21 tests) โ€” Full MCP protocol compliance via SDK client
303
+ - **Server integration tests** (22 tests) โ€” Full MCP protocol compliance via SDK client
299
304
 
300
305
  ```bash
301
306
  npm test
302
307
  ```
303
308
 
309
+ ### Fast Verification (2-3 minutes)
310
+
311
+ Use this when you just changed validation/deploy logic and want confidence quickly:
312
+
313
+ ```bash
314
+ # 1) Fast regression check
315
+ npm test
316
+
317
+ # 2) One-command smoke check (compatibility + validation)
318
+ npm run smoke:compat
319
+
320
+ # 3) (Optional) Manual MCP exploration
321
+ npm run start:dev
322
+ ```
323
+
324
+ Then in your MCP client (Claude/Cursor/Copilot), run this sequence:
325
+
326
+ 1. `check_account_compatibility` with a known module, e.g. `gateway:CustomWebHook`
327
+ 2. `validate_scenario` with your blueprint
328
+ 3. `create_scenario` only if compatibility is good
329
+
330
+ If step 1 reports incompatible modules, use the suggested replacement IDs before deploying.
331
+
304
332
  ## Architecture
305
333
 
306
334
  ```
@@ -319,13 +347,14 @@ bin/
319
347
  โ””โ”€โ”€ postinstall.js # Post-install verification
320
348
  scripts/
321
349
  โ”œโ”€โ”€ build.js # Build: tsc + copy schema + add shebang
322
- โ””โ”€โ”€ prepublish.js # Publish prep: build + populate DB + verify
350
+ โ”œโ”€โ”€ prepublish.js # Publish prep: build + populate DB + verify
351
+ โ””โ”€โ”€ smoke-compat.js # Fast local smoke test for module compatibility + validation
323
352
  data/
324
353
  โ””โ”€โ”€ make-modules.db # Pre-built SQLite database (bundled in npm package)
325
354
  tests/
326
355
  โ”œโ”€โ”€ database.test.ts # Database unit tests (14)
327
356
  โ”œโ”€โ”€ logger.test.ts # Logger unit tests (7)
328
- โ””โ”€โ”€ server.test.ts # MCP integration tests (21)
357
+ โ””โ”€โ”€ server.test.ts # MCP integration tests (22)
329
358
  Dockerfile # Multi-stage Docker image
330
359
  ```
331
360
 
Binary file
@@ -22,6 +22,8 @@ import dotenv from 'dotenv';
22
22
  import { logger } from '../utils/logger.js';
23
23
  dotenv.config();
24
24
  const VERSION = '1.3.1';
25
+ const MODULE_CACHE_TTL_MS = Number(process.env['MAKE_MODULE_CACHE_TTL_MS'] || 5 * 60 * 1000);
26
+ const liveModuleCatalogCache = new Map();
25
27
  // โ”€โ”€ Database โ”€โ”€
26
28
  // DATABASE_PATH env var overrides default; otherwise db.ts resolves
27
29
  // to <packageRoot>/data/make-modules.db automatically.
@@ -46,6 +48,157 @@ function fail(message) {
46
48
  isError: true,
47
49
  };
48
50
  }
51
+ function hasValidApiKey() {
52
+ const apiKey = process.env['MAKE_API_KEY'];
53
+ return Boolean(apiKey && apiKey !== 'your_api_key_here');
54
+ }
55
+ function getMakeBaseUrl() {
56
+ return process.env['MAKE_API_URL'] || 'https://eu1.make.com/api/v2';
57
+ }
58
+ function normalizeModuleId(moduleId) {
59
+ return moduleId.toLowerCase().replace(/[^a-z0-9:]/g, '');
60
+ }
61
+ function tokenizeModulePart(value) {
62
+ return value
63
+ .replace(/([a-z])([A-Z])/g, '$1 $2')
64
+ .replace(/[^a-zA-Z0-9]+/g, ' ')
65
+ .toLowerCase()
66
+ .split(/\s+/)
67
+ .filter(Boolean);
68
+ }
69
+ function extractAllFlowModules(flow, pathPrefix = 'Flow') {
70
+ const result = [];
71
+ for (let i = 0; i < flow.length; i++) {
72
+ const node = flow[i];
73
+ const pos = `${pathPrefix}[${i}]`;
74
+ if (!node || typeof node !== 'object')
75
+ continue;
76
+ if (typeof node.module === 'string' && node.module.trim()) {
77
+ result.push({ module: node.module, path: pos });
78
+ }
79
+ if (Array.isArray(node.routes)) {
80
+ for (let r = 0; r < node.routes.length; r++) {
81
+ const routeFlow = node.routes[r]?.flow;
82
+ if (Array.isArray(routeFlow)) {
83
+ result.push(...extractAllFlowModules(routeFlow, `${pos}.routes[${r}]`));
84
+ }
85
+ }
86
+ }
87
+ }
88
+ return result;
89
+ }
90
+ function replaceModuleIdsInFlow(flow, replacements) {
91
+ for (const node of flow) {
92
+ if (!node || typeof node !== 'object')
93
+ continue;
94
+ if (typeof node.module === 'string' && replacements.has(node.module)) {
95
+ node.module = replacements.get(node.module);
96
+ }
97
+ if (Array.isArray(node.routes)) {
98
+ for (const route of node.routes) {
99
+ if (Array.isArray(route?.flow)) {
100
+ replaceModuleIdsInFlow(route.flow, replacements);
101
+ }
102
+ }
103
+ }
104
+ }
105
+ }
106
+ async function fetchLiveModuleIds(baseUrl, apiKey) {
107
+ const cacheKey = `${baseUrl}`;
108
+ const cached = liveModuleCatalogCache.get(cacheKey);
109
+ if (cached && Date.now() - cached.fetchedAt < MODULE_CACHE_TTL_MS) {
110
+ return cached.ids;
111
+ }
112
+ try {
113
+ const response = await axios.get(`${baseUrl}/modules`, {
114
+ headers: { Authorization: `Token ${apiKey}` },
115
+ timeout: 12000,
116
+ });
117
+ const rawModules = Array.isArray(response.data?.modules)
118
+ ? response.data.modules
119
+ : Array.isArray(response.data)
120
+ ? response.data
121
+ : [];
122
+ const ids = new Set();
123
+ for (const item of rawModules) {
124
+ if (typeof item === 'string') {
125
+ if (item.includes(':'))
126
+ ids.add(item);
127
+ continue;
128
+ }
129
+ if (!item || typeof item !== 'object')
130
+ continue;
131
+ const candidates = [item.id, item.module, item.key];
132
+ for (const candidate of candidates) {
133
+ if (typeof candidate === 'string' && candidate.includes(':')) {
134
+ ids.add(candidate);
135
+ }
136
+ }
137
+ }
138
+ if (ids.size === 0) {
139
+ logger.warn('Live modules endpoint returned no parseable module IDs');
140
+ return null;
141
+ }
142
+ liveModuleCatalogCache.set(cacheKey, {
143
+ fetchedAt: Date.now(),
144
+ ids,
145
+ });
146
+ return ids;
147
+ }
148
+ catch (error) {
149
+ logger.warn('Live module catalog fetch failed', {
150
+ baseUrl,
151
+ error: error?.message,
152
+ status: error?.response?.status,
153
+ });
154
+ return null;
155
+ }
156
+ }
157
+ function resolveClosestLiveModule(moduleId, liveIds) {
158
+ if (liveIds.has(moduleId))
159
+ return moduleId;
160
+ const moduleNorm = normalizeModuleId(moduleId);
161
+ const normalizedMap = new Map();
162
+ for (const liveId of liveIds) {
163
+ const key = normalizeModuleId(liveId);
164
+ const existing = normalizedMap.get(key);
165
+ if (existing)
166
+ existing.push(liveId);
167
+ else
168
+ normalizedMap.set(key, [liveId]);
169
+ }
170
+ const exactNormalized = normalizedMap.get(moduleNorm);
171
+ if (exactNormalized && exactNormalized.length === 1) {
172
+ return exactNormalized[0] ?? null;
173
+ }
174
+ const [appPart, modulePart] = moduleId.split(':');
175
+ if (!appPart || !modulePart)
176
+ return null;
177
+ const targetTokens = new Set(tokenizeModulePart(modulePart));
178
+ const candidates = Array.from(liveIds).filter((id) => id.startsWith(`${appPart}:`));
179
+ if (candidates.length === 0)
180
+ return null;
181
+ let best = null;
182
+ for (const candidate of candidates) {
183
+ const candidatePart = candidate.split(':')[1] || '';
184
+ const candidateTokens = tokenizeModulePart(candidatePart);
185
+ const overlap = candidateTokens.filter((t) => targetTokens.has(t)).length;
186
+ const score = overlap / Math.max(targetTokens.size, 1);
187
+ if (!best || score > best.score) {
188
+ best = { id: candidate, score };
189
+ }
190
+ }
191
+ if (!best || best.score < 0.5)
192
+ return null;
193
+ return best.id;
194
+ }
195
+ function extractIm007ModuleId(errorData) {
196
+ const body = typeof errorData === 'string' ? errorData : JSON.stringify(errorData || {});
197
+ const match = body.match(/Module\s+not\s+found[^A-Za-z0-9]+([A-Za-z0-9_.:-]+:[A-Za-z0-9_.:-]+)/i);
198
+ if (!match)
199
+ return null;
200
+ return match[1] ?? null;
201
+ }
49
202
  // โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
50
203
  // TOOL: tools_documentation (START HERE)
51
204
  // โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
@@ -64,14 +217,16 @@ server.registerTool('tools_documentation', {
64
217
  '1. Call tools_documentation (this tool) to understand available capabilities',
65
218
  '2. Use search_modules to find the modules you need (e.g., "slack", "google sheets")',
66
219
  '3. Use get_module to get full parameter details for each module',
67
- '4. Build a scenario blueprint JSON with a "flow" array of modules',
68
- '5. Call validate_scenario to check for errors before deploying',
69
- '6. Call create_scenario to deploy to Make.com (requires MAKE_API_KEY)',
220
+ '4. Optionally call check_account_compatibility to verify modules are available in your Make account/region',
221
+ '5. Build a scenario blueprint JSON with a "flow" array of modules',
222
+ '6. Call validate_scenario to check for errors before deploying',
223
+ '7. Call create_scenario to deploy to Make.com (requires MAKE_API_KEY)',
70
224
  ],
71
225
  tools: {
72
226
  tools_documentation: 'Returns this documentation. Call first.',
73
227
  search_modules: 'Full-text search across 200+ Make.com modules. Params: query (required), app (optional filter).',
74
228
  get_module: 'Get detailed module info with all parameters. Params: moduleId (e.g., "slack:ActionPostMessage").',
229
+ check_account_compatibility: 'Check whether modules are available in your current Make account/region using the live Make modules API.',
75
230
  validate_scenario: 'Validate a scenario blueprint before deployment. Checks structure, modules, and required params.',
76
231
  create_scenario: 'Deploy a validated scenario to Make.com via API. Requires MAKE_API_KEY.',
77
232
  search_templates: 'Search reusable scenario templates. Params: query (optional), category (optional).',
@@ -189,6 +344,81 @@ server.registerTool('get_module', {
189
344
  }
190
345
  });
191
346
  // โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
347
+ // TOOL: check_account_compatibility
348
+ // โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
349
+ server.registerTool('check_account_compatibility', {
350
+ title: 'Check Account Module Compatibility',
351
+ description: 'Checks whether module IDs are available in your current Make account and region. ' +
352
+ 'Supports explicit module list and/or extracting modules from a scenario blueprint.',
353
+ inputSchema: {
354
+ moduleIds: z.array(z.string().min(1).max(200)).max(200).optional().describe('Module IDs to verify (e.g., ["slack:ActionPostMessage"])'),
355
+ blueprint: z.string().min(2).max(100000).optional().describe('Optional scenario blueprint JSON (stringified) to extract modules from'),
356
+ },
357
+ }, async ({ moduleIds, blueprint }) => {
358
+ try {
359
+ const requested = new Set((moduleIds || []).map((id) => id.trim()).filter(Boolean));
360
+ if (blueprint) {
361
+ let parsed;
362
+ try {
363
+ parsed = JSON.parse(blueprint);
364
+ }
365
+ catch {
366
+ return fail('Invalid blueprint JSON. Ensure the blueprint is valid JSON.');
367
+ }
368
+ if (Array.isArray(parsed.flow)) {
369
+ for (const item of extractAllFlowModules(parsed.flow)) {
370
+ requested.add(item.module);
371
+ }
372
+ }
373
+ }
374
+ if (requested.size === 0) {
375
+ return fail('Provide at least one module ID via moduleIds or include a blueprint with a flow array.');
376
+ }
377
+ if (!hasValidApiKey()) {
378
+ return ok({
379
+ checkedModules: Array.from(requested),
380
+ liveCatalogChecked: false,
381
+ compatible: null,
382
+ reason: 'MAKE_API_KEY not configured. Cannot verify account/region availability.',
383
+ });
384
+ }
385
+ const apiKey = process.env['MAKE_API_KEY'];
386
+ const baseUrl = getMakeBaseUrl();
387
+ const liveIds = await fetchLiveModuleIds(baseUrl, apiKey);
388
+ if (!liveIds) {
389
+ return ok({
390
+ checkedModules: Array.from(requested),
391
+ liveCatalogChecked: false,
392
+ compatible: null,
393
+ reason: 'Live Make modules endpoint is unavailable for this environment.',
394
+ });
395
+ }
396
+ const results = Array.from(requested).map((moduleId) => {
397
+ const available = liveIds.has(moduleId);
398
+ const suggestedReplacement = available ? null : resolveClosestLiveModule(moduleId, liveIds);
399
+ return {
400
+ moduleId,
401
+ available,
402
+ suggestedReplacement,
403
+ };
404
+ });
405
+ const unavailable = results.filter((r) => !r.available);
406
+ return ok({
407
+ liveCatalogChecked: true,
408
+ makeApiUrl: baseUrl,
409
+ liveModuleCount: liveIds.size,
410
+ checkedCount: results.length,
411
+ incompatibleCount: unavailable.length,
412
+ compatible: unavailable.length === 0,
413
+ modules: results,
414
+ });
415
+ }
416
+ catch (error) {
417
+ logger.error('check_account_compatibility failed', { error: error.message });
418
+ return fail(`Compatibility check failed: ${error.message}`);
419
+ }
420
+ });
421
+ // โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
192
422
  // TOOL: validate_scenario
193
423
  // โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
194
424
  server.registerTool('validate_scenario', {
@@ -282,11 +512,56 @@ server.registerTool('validate_scenario', {
282
512
  if (!parsed.metadata) {
283
513
  warnings.push('Blueprint is missing "metadata" section. It will be auto-injected during deployment.');
284
514
  }
515
+ const compatibilityIssues = [];
516
+ let liveCatalogChecked = false;
517
+ if (parsed.flow && Array.isArray(parsed.flow) && hasValidApiKey()) {
518
+ const apiKey = process.env['MAKE_API_KEY'];
519
+ const baseUrl = getMakeBaseUrl();
520
+ const liveIds = await fetchLiveModuleIds(baseUrl, apiKey);
521
+ if (liveIds) {
522
+ liveCatalogChecked = true;
523
+ const allModules = extractAllFlowModules(parsed.flow);
524
+ const byModule = new Map();
525
+ for (const m of allModules) {
526
+ const existing = byModule.get(m.module);
527
+ if (existing)
528
+ existing.push(m.path);
529
+ else
530
+ byModule.set(m.module, [m.path]);
531
+ }
532
+ for (const [moduleId, paths] of byModule.entries()) {
533
+ if (liveIds.has(moduleId))
534
+ continue;
535
+ const suggestion = resolveClosestLiveModule(moduleId, liveIds) || undefined;
536
+ const issue = {
537
+ module: moduleId,
538
+ paths,
539
+ };
540
+ if (suggestion) {
541
+ issue.suggestion = suggestion;
542
+ }
543
+ compatibilityIssues.push(issue);
544
+ if (suggestion) {
545
+ errors.push(`Module "${moduleId}" is not available in this Make account/region. Suggested replacement: "${suggestion}".`);
546
+ }
547
+ else {
548
+ errors.push(`Module "${moduleId}" is not available in this Make account/region.`);
549
+ }
550
+ }
551
+ }
552
+ else {
553
+ warnings.push('Live module compatibility check skipped (Make modules endpoint unavailable).');
554
+ }
555
+ }
285
556
  const result = {
286
557
  valid: errors.length === 0,
287
558
  errors,
288
559
  warnings,
289
560
  modulesValidated: validatedModules,
561
+ accountCompatibility: {
562
+ liveCatalogChecked,
563
+ incompatibleModules: compatibilityIssues,
564
+ },
290
565
  summary: errors.length === 0
291
566
  ? `Blueprint is valid. ${validatedModules.length} module(s) checked, ${warnings.length} warning(s).`
292
567
  : `${errors.length} error(s) found. Fix them before deploying.`,
@@ -327,6 +602,7 @@ server.registerTool('create_scenario', {
327
602
  if (!resolvedTeamId || isNaN(resolvedTeamId)) {
328
603
  return fail('Team ID required. Provide teamId parameter or set MAKE_TEAM_ID in .env file.');
329
604
  }
605
+ const baseUrl = getMakeBaseUrl();
330
606
  // Parse and auto-heal the blueprint
331
607
  let parsed;
332
608
  try {
@@ -386,27 +662,91 @@ server.registerTool('create_scenario', {
386
662
  if (parsed.flow && Array.isArray(parsed.flow)) {
387
663
  healFlow(parsed.flow);
388
664
  }
389
- const healedBlueprint = JSON.stringify(parsed);
390
- const baseUrl = process.env['MAKE_API_URL'] || 'https://eu1.make.com/api/v2';
391
- const payload = {
392
- teamId: resolvedTeamId,
393
- name,
394
- blueprint: healedBlueprint,
395
- scheduling: JSON.stringify({ type: 'on-demand' }),
665
+ // Account-aware module compatibility check and auto-remap
666
+ const liveIds = await fetchLiveModuleIds(baseUrl, apiKey);
667
+ const remappedModules = [];
668
+ if (liveIds && Array.isArray(parsed.flow)) {
669
+ const byModule = new Set(extractAllFlowModules(parsed.flow).map((m) => m.module));
670
+ const replacements = new Map();
671
+ const unavailable = [];
672
+ for (const moduleId of byModule) {
673
+ if (liveIds.has(moduleId))
674
+ continue;
675
+ const replacement = resolveClosestLiveModule(moduleId, liveIds);
676
+ if (replacement && replacement !== moduleId) {
677
+ replacements.set(moduleId, replacement);
678
+ remappedModules.push({ from: moduleId, to: replacement });
679
+ }
680
+ else {
681
+ unavailable.push(moduleId);
682
+ }
683
+ }
684
+ if (replacements.size > 0) {
685
+ replaceModuleIdsInFlow(parsed.flow, replacements);
686
+ logger.info('create_scenario: auto-remapped modules', { remappedModules });
687
+ }
688
+ if (unavailable.length > 0) {
689
+ return fail('Cannot deploy: one or more modules are not available for this Make account/region. ' +
690
+ `Unavailable: ${unavailable.join(', ')}. Run validate_scenario to get suggestions.`);
691
+ }
692
+ }
693
+ const buildPayload = () => {
694
+ const payload = {
695
+ teamId: resolvedTeamId,
696
+ name,
697
+ blueprint: JSON.stringify(parsed),
698
+ scheduling: JSON.stringify({ type: 'on-demand' }),
699
+ };
700
+ if (folderId)
701
+ payload.folderId = folderId;
702
+ return payload;
396
703
  };
397
- if (folderId)
398
- payload.folderId = folderId;
399
- logger.info('create_scenario', { name, teamId: resolvedTeamId });
400
- const response = await axios.post(`${baseUrl}/scenarios?confirmed=true`, payload, {
401
- headers: {
402
- 'Authorization': `Token ${apiKey}`,
403
- 'Content-Type': 'application/json',
404
- },
405
- timeout: 30000,
406
- });
704
+ logger.info('create_scenario', { name, teamId: resolvedTeamId, baseUrl });
705
+ let response;
706
+ let attempt = 0;
707
+ const maxAttempts = 2;
708
+ while (attempt < maxAttempts) {
709
+ attempt++;
710
+ try {
711
+ response = await axios.post(`${baseUrl}/scenarios?confirmed=true`, buildPayload(), {
712
+ headers: {
713
+ 'Authorization': `Token ${apiKey}`,
714
+ 'Content-Type': 'application/json',
715
+ },
716
+ timeout: 30000,
717
+ });
718
+ break;
719
+ }
720
+ catch (error) {
721
+ const status = error.response?.status;
722
+ const data = error.response?.data;
723
+ const missingModule = extractIm007ModuleId(data);
724
+ if (status === 400 && missingModule && liveIds && attempt < maxAttempts) {
725
+ const replacement = resolveClosestLiveModule(missingModule, liveIds);
726
+ if (replacement && replacement !== missingModule && Array.isArray(parsed.flow)) {
727
+ const replacements = new Map([[missingModule, replacement]]);
728
+ replaceModuleIdsInFlow(parsed.flow, replacements);
729
+ remappedModules.push({ from: missingModule, to: replacement });
730
+ logger.warn('create_scenario: retrying after IM007 remap', { missingModule, replacement, attempt });
731
+ continue;
732
+ }
733
+ }
734
+ throw error;
735
+ }
736
+ }
737
+ if (!response) {
738
+ return fail('Failed to create scenario after retry attempts.');
739
+ }
740
+ const createdScenario = response.data?.scenario || response.data;
741
+ const postWarnings = [];
742
+ if (createdScenario?.isinvalid === true) {
743
+ postWarnings.push('Scenario was created but marked invalid by Make. Check modules/connections in Make UI.');
744
+ }
407
745
  return ok({
408
746
  success: true,
409
747
  scenario: response.data,
748
+ remappedModules,
749
+ warnings: postWarnings,
410
750
  message: `Scenario "${name}" created successfully.`,
411
751
  });
412
752
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "make-mcp-server",
3
- "version": "1.3.4",
3
+ "version": "1.3.5",
4
4
  "mcpName": "io.github.danishashko/make-mcp",
5
5
  "description": "Unofficial MCP server for Make.com โ€” build, validate & deploy automation scenarios via AI (community project, not affiliated with Make.com)",
6
6
  "main": "dist/mcp/server.js",
@@ -27,6 +27,7 @@
27
27
  "scrape": "tsx src/scrapers/scrape-modules.ts",
28
28
  "scrape:prod": "node dist/scrapers/scrape-modules.js",
29
29
  "dev": "tsx watch src/mcp/server.ts",
30
+ "smoke:compat": "node scripts/smoke-compat.js",
30
31
  "test": "vitest run",
31
32
  "test:watch": "vitest",
32
33
  "prepublishOnly": "node scripts/prepublish.js",
@@ -0,0 +1,106 @@
1
+ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
2
+ import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
3
+
4
+ const DEFAULT_MODULES = [
5
+ 'gateway:CustomWebHook',
6
+ 'gateway:WebhookRespond',
7
+ 'slack:ActionPostMessage',
8
+ ];
9
+
10
+ const SAMPLE_BLUEPRINT = {
11
+ name: 'Smoke Test Compatibility Blueprint',
12
+ flow: [
13
+ {
14
+ id: 1,
15
+ module: 'gateway:CustomWebHook',
16
+ parameters: { name: 'Smoke Test Webhook' },
17
+ },
18
+ {
19
+ id: 2,
20
+ module: 'gateway:WebhookRespond',
21
+ parameters: {
22
+ status: 200,
23
+ body: '{"ok":true}',
24
+ headers: [{ name: 'Content-Type', value: 'application/json' }],
25
+ },
26
+ },
27
+ ],
28
+ };
29
+
30
+ async function main() {
31
+ const transport = new StdioClientTransport({
32
+ command: 'npx',
33
+ args: ['tsx', 'src/mcp/server.ts'],
34
+ cwd: process.cwd(),
35
+ env: process.env,
36
+ stderr: 'pipe',
37
+ });
38
+
39
+ const client = new Client({
40
+ name: 'smoke-compat-client',
41
+ version: '1.0.0',
42
+ });
43
+
44
+ try {
45
+ await client.connect(transport);
46
+
47
+ const tools = await client.listTools();
48
+ const hasCompatTool = tools.tools.some((t) => t.name === 'check_account_compatibility');
49
+ if (!hasCompatTool) {
50
+ throw new Error('Tool check_account_compatibility is not registered.');
51
+ }
52
+
53
+ const compatResult = await client.callTool({
54
+ name: 'check_account_compatibility',
55
+ arguments: {
56
+ moduleIds: DEFAULT_MODULES,
57
+ blueprint: JSON.stringify(SAMPLE_BLUEPRINT),
58
+ },
59
+ });
60
+
61
+ const compatData = JSON.parse(compatResult.content?.[0]?.text || '{}');
62
+
63
+ const validateResult = await client.callTool({
64
+ name: 'validate_scenario',
65
+ arguments: {
66
+ blueprint: JSON.stringify(SAMPLE_BLUEPRINT),
67
+ },
68
+ });
69
+
70
+ const validateData = JSON.parse(validateResult.content?.[0]?.text || '{}');
71
+
72
+ console.log('--- make-mcp smoke:compat ---');
73
+ console.log(`liveCatalogChecked: ${compatData.liveCatalogChecked ?? false}`);
74
+ console.log(`checkedCount: ${compatData.checkedCount ?? compatData.checkedModules?.length ?? 0}`);
75
+ console.log(`incompatibleCount: ${compatData.incompatibleCount ?? 'n/a'}`);
76
+ if (compatData.reason) {
77
+ console.log(`compatibilityNote: ${compatData.reason}`);
78
+ }
79
+ console.log(`validate.valid: ${validateData.valid}`);
80
+ console.log(`validate.errors: ${(validateData.errors || []).length}`);
81
+ console.log(`validate.warnings: ${(validateData.warnings || []).length}`);
82
+
83
+ if (Array.isArray(compatData.modules)) {
84
+ const incompatible = compatData.modules.filter((m) => m.available === false);
85
+ if (incompatible.length > 0) {
86
+ console.log('incompatibleModules:');
87
+ for (const mod of incompatible) {
88
+ console.log(`- ${mod.moduleId} -> ${mod.suggestedReplacement || 'no suggestion'}`);
89
+ }
90
+ }
91
+ }
92
+
93
+ console.log('smoke:compat completed');
94
+ } finally {
95
+ try {
96
+ await client.close();
97
+ } catch {
98
+ // noop
99
+ }
100
+ }
101
+ }
102
+
103
+ main().catch((error) => {
104
+ console.error('smoke:compat failed:', error.message);
105
+ process.exit(1);
106
+ });