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 +35 -6
- package/data/make-modules.db +0 -0
- package/dist/mcp/server.js +360 -20
- package/dist/mcp/server.js.map +1 -1
- package/package.json +2 -1
- package/scripts/smoke-compat.js +106 -0
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
|
-
- **๐งช
|
|
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
|
|
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
|
|
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** (
|
|
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
|
-
|
|
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 (
|
|
357
|
+
โโโ server.test.ts # MCP integration tests (22)
|
|
329
358
|
Dockerfile # Multi-stage Docker image
|
|
330
359
|
```
|
|
331
360
|
|
package/data/make-modules.db
CHANGED
|
Binary file
|
package/dist/mcp/server.js
CHANGED
|
@@ -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.
|
|
68
|
-
'5.
|
|
69
|
-
'6. Call
|
|
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
|
-
|
|
390
|
-
const
|
|
391
|
-
const
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
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
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
const
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
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
|
}
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -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.
|
|
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
|
+
});
|