make-mcp-server 1.3.3 → 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/LICENSE +21 -21
- package/README.md +380 -351
- 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
|
@@ -1,351 +1,380 @@
|
|
|
1
|
-
# Make.com MCP Server — Build & Deploy Automation Scenarios with AI
|
|
2
|
-
|
|
3
|
-
[](https://www.npmjs.com/package/make-mcp-server)
|
|
4
|
-
[](https://opensource.org/licenses/MIT)
|
|
5
|
-
|
|
6
|
-
> **⚠️ Disclaimer:** This is an **unofficial, community-driven project** created by a passionate fan of Make.com. It is **NOT** affiliated with, endorsed by, or officially supported by Make.com.
|
|
7
|
-
|
|
8
|
-
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that gives AI assistants like **Claude**, **GitHub Copilot**, and **Cursor** full access to Make.com module documentation, scenario validation, and one-click deployment. Search 200+ automation modules across 40+ apps, build blueprints with auto-healing, and deploy directly to Make.com — all from your AI chat.
|
|
9
|
-
|
|
10
|
-
## Features
|
|
11
|
-
|
|
12
|
-
- **🔍 200+ Modules** — Full-text search across 200+ Make.com modules (Slack, Gmail, Google Sheets, Notion, OpenAI, and 35+ more apps)
|
|
13
|
-
- **📋 Module Details** — Retrieve parameters, types, descriptions, and usage docs for any module
|
|
14
|
-
- **✅ Blueprint Validation** — Check scenarios for missing parameters, unknown modules, structural issues, and router sub-routes before deploying
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
"
|
|
104
|
-
|
|
105
|
-
"-
|
|
106
|
-
"
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
"
|
|
121
|
-
|
|
122
|
-
"-
|
|
123
|
-
"-e", "
|
|
124
|
-
"-e", "
|
|
125
|
-
"-e", "
|
|
126
|
-
"
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
npm
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
"
|
|
165
|
-
"
|
|
166
|
-
|
|
167
|
-
"
|
|
168
|
-
"
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
|
185
|
-
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
- **
|
|
197
|
-
- **
|
|
198
|
-
- **
|
|
199
|
-
- **
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
| `
|
|
221
|
-
| `
|
|
222
|
-
| `
|
|
223
|
-
| `
|
|
224
|
-
| `
|
|
225
|
-
| `
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
|
234
|
-
|
|
235
|
-
|
|
|
236
|
-
| Missing `
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
make-mcp-server
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
|
268
|
-
|
|
269
|
-
| `
|
|
270
|
-
| `
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
npm run
|
|
280
|
-
npm run
|
|
281
|
-
npm
|
|
282
|
-
npm run
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
##
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
1
|
+
# Make.com MCP Server — Build & Deploy Automation Scenarios with AI
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/make-mcp-server)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
|
|
6
|
+
> **⚠️ Disclaimer:** This is an **unofficial, community-driven project** created by a passionate fan of Make.com. It is **NOT** affiliated with, endorsed by, or officially supported by Make.com.
|
|
7
|
+
|
|
8
|
+
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that gives AI assistants like **Claude**, **GitHub Copilot**, and **Cursor** full access to Make.com module documentation, scenario validation, and one-click deployment. Search 200+ automation modules across 40+ apps, build blueprints with auto-healing, and deploy directly to Make.com — all from your AI chat.
|
|
9
|
+
|
|
10
|
+
## Features
|
|
11
|
+
|
|
12
|
+
- **🔍 200+ Modules** — Full-text search across 200+ Make.com modules (Slack, Gmail, Google Sheets, Notion, OpenAI, and 35+ more apps)
|
|
13
|
+
- **📋 Module Details** — Retrieve parameters, types, descriptions, and usage docs for any module
|
|
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
|
|
16
|
+
- **🚀 Deploy to Make.com** — Push validated blueprints directly to Make.com via API
|
|
17
|
+
- **🩹 Auto-Healing** — Automatically fixes LLM-generated blueprints: injects missing `metadata`, adds `designer` coordinates, strips unsupported properties like router `filter`
|
|
18
|
+
- **🔀 Router Support** — Full support for `builtin:BasicRouter` with multiple routes and recursive validation
|
|
19
|
+
- **📚 Scenario Templates** — Browse reusable scenario templates for common workflows
|
|
20
|
+
- **📖 Guided Prompts** — MCP prompts for guided scenario building and module exploration
|
|
21
|
+
- **📊 Resource Catalog** — MCP resources for browsing available apps
|
|
22
|
+
- **🧪 43 Tests** — Unit + integration test suite with Vitest
|
|
23
|
+
- **⚡ Fast Response** — Optimized SQLite with FTS5 full-text search
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 🚀 Quick Start — Self-Hosting Options
|
|
28
|
+
|
|
29
|
+
### Option A: npx (No Installation Needed!) 🚀
|
|
30
|
+
|
|
31
|
+
The fastest way to get started — no cloning, no building:
|
|
32
|
+
|
|
33
|
+
**Prerequisites:** [Node.js](https://nodejs.org/) installed on your system
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Run directly — no installation needed!
|
|
37
|
+
npx -y make-mcp-server
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The package includes a pre-built database with all 200+ Make.com modules. Just add it to your MCP client config and go.
|
|
41
|
+
|
|
42
|
+
**Claude Desktop config** (`claude_desktop_config.json`):
|
|
43
|
+
|
|
44
|
+
Basic configuration (documentation tools only):
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"mcpServers": {
|
|
49
|
+
"make-mcp-server": {
|
|
50
|
+
"command": "npx",
|
|
51
|
+
"args": ["-y", "make-mcp-server"],
|
|
52
|
+
"env": {
|
|
53
|
+
"LOG_LEVEL": "error"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Full configuration (with Make.com deployment):
|
|
61
|
+
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"mcpServers": {
|
|
65
|
+
"make-mcp-server": {
|
|
66
|
+
"command": "npx",
|
|
67
|
+
"args": ["-y", "make-mcp-server"],
|
|
68
|
+
"env": {
|
|
69
|
+
"LOG_LEVEL": "error",
|
|
70
|
+
"MAKE_API_KEY": "your_api_key_here",
|
|
71
|
+
"MAKE_TEAM_ID": "your_team_id",
|
|
72
|
+
"MAKE_API_URL": "https://eu1.make.com/api/v2"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
> **Note:** npx will download and cache the latest version automatically. The package includes a pre-built database with all Make.com module information — no setup required.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
### Option B: Docker (Isolated & Reproducible) 🐳
|
|
84
|
+
|
|
85
|
+
**Prerequisites:** Docker installed on your system
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# Build the Docker image
|
|
89
|
+
docker build -t make-mcp-server .
|
|
90
|
+
|
|
91
|
+
# Test it works
|
|
92
|
+
echo '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1"}},"id":1}' | docker run -i --rm make-mcp-server
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Claude Desktop config:**
|
|
96
|
+
|
|
97
|
+
Basic configuration (documentation tools only):
|
|
98
|
+
|
|
99
|
+
```json
|
|
100
|
+
{
|
|
101
|
+
"mcpServers": {
|
|
102
|
+
"make-mcp-server": {
|
|
103
|
+
"command": "docker",
|
|
104
|
+
"args": [
|
|
105
|
+
"run", "-i", "--rm", "--init",
|
|
106
|
+
"-e", "LOG_LEVEL=error",
|
|
107
|
+
"make-mcp-server"
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Full configuration (with Make.com deployment):
|
|
115
|
+
|
|
116
|
+
```json
|
|
117
|
+
{
|
|
118
|
+
"mcpServers": {
|
|
119
|
+
"make-mcp-server": {
|
|
120
|
+
"command": "docker",
|
|
121
|
+
"args": [
|
|
122
|
+
"run", "-i", "--rm", "--init",
|
|
123
|
+
"-e", "LOG_LEVEL=error",
|
|
124
|
+
"-e", "MAKE_API_KEY=your_api_key_here",
|
|
125
|
+
"-e", "MAKE_TEAM_ID=your_team_id",
|
|
126
|
+
"-e", "MAKE_API_URL=https://eu1.make.com/api/v2",
|
|
127
|
+
"make-mcp-server"
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
> **Important:** The `-i` flag is required for MCP stdio communication.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
### Option C: Local Installation (For Development) 🛠️
|
|
139
|
+
|
|
140
|
+
**Prerequisites:** [Node.js](https://nodejs.org/) and Git
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# 1. Clone and install
|
|
144
|
+
git clone https://github.com/danishashko/make-mcp.git
|
|
145
|
+
cd make-mcp
|
|
146
|
+
npm install
|
|
147
|
+
|
|
148
|
+
# 2. Build
|
|
149
|
+
npm run build
|
|
150
|
+
|
|
151
|
+
# 3. Populate the module database (already done if using npm package)
|
|
152
|
+
npm run scrape:prod
|
|
153
|
+
|
|
154
|
+
# 4. Test it works
|
|
155
|
+
npm start
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Claude Desktop config:**
|
|
159
|
+
|
|
160
|
+
```json
|
|
161
|
+
{
|
|
162
|
+
"mcpServers": {
|
|
163
|
+
"make-mcp-server": {
|
|
164
|
+
"command": "node",
|
|
165
|
+
"args": ["/absolute/path/to/make-mcp/dist/mcp/server.js"],
|
|
166
|
+
"env": {
|
|
167
|
+
"LOG_LEVEL": "error",
|
|
168
|
+
"MAKE_API_KEY": "your_api_key_here",
|
|
169
|
+
"MAKE_TEAM_ID": "your_team_id"
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
> **Note:** The Make.com API credentials are optional. Without them, you'll have access to all documentation, search, and validation tools. With them, you'll additionally get scenario deployment capabilities.
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
### Configuration File Locations
|
|
181
|
+
|
|
182
|
+
| Platform | Path |
|
|
183
|
+
|----------|------|
|
|
184
|
+
| macOS | `~/Library/Application Support/Claude/claude_desktop_config.json` |
|
|
185
|
+
| Windows | `%APPDATA%\Claude\claude_desktop_config.json` |
|
|
186
|
+
| Linux | `~/.config/Claude/claude_desktop_config.json` |
|
|
187
|
+
|
|
188
|
+
**Restart Claude Desktop after updating configuration.**
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
### 💻 Connect Your IDE
|
|
193
|
+
|
|
194
|
+
make-mcp-server works with any MCP-compatible client:
|
|
195
|
+
|
|
196
|
+
- **Claude Desktop** — See configurations above
|
|
197
|
+
- **VS Code (GitHub Copilot)** — Add to `.vscode/mcp.json`
|
|
198
|
+
- **Cursor** — Add to MCP settings
|
|
199
|
+
- **Claude Code** — Use `claude mcp add` command
|
|
200
|
+
- **Windsurf** — Add to MCP configuration
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Usage
|
|
205
|
+
|
|
206
|
+
Then ask your AI assistant things like:
|
|
207
|
+
|
|
208
|
+
> "Create a Make scenario that watches a Slack channel for new messages and logs them to a Google Sheet"
|
|
209
|
+
|
|
210
|
+
> "What modules does Make have for sending emails?"
|
|
211
|
+
|
|
212
|
+
> "Validate this scenario blueprint..."
|
|
213
|
+
|
|
214
|
+
**Tip:** The AI will automatically call `tools_documentation` first to understand how to use the server effectively.
|
|
215
|
+
|
|
216
|
+
## Available Tools
|
|
217
|
+
|
|
218
|
+
| Tool | Description |
|
|
219
|
+
|------|-------------|
|
|
220
|
+
| `tools_documentation` | **START HERE** — Returns comprehensive documentation for all tools, prompts, and resources |
|
|
221
|
+
| `search_modules` | Full-text search across 200+ Make.com modules |
|
|
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) |
|
|
224
|
+
| `validate_scenario` | Validate a scenario blueprint before deployment |
|
|
225
|
+
| `create_scenario` | Deploy a scenario to Make.com via API |
|
|
226
|
+
| `search_templates` | Search reusable scenario templates |
|
|
227
|
+
| `list_apps` | List all apps with module counts |
|
|
228
|
+
|
|
229
|
+
## Auto-Healing
|
|
230
|
+
|
|
231
|
+
The `create_scenario` tool automatically fixes common issues in LLM-generated blueprints:
|
|
232
|
+
|
|
233
|
+
| Issue | Auto-Fix |
|
|
234
|
+
|-------|----------|
|
|
235
|
+
| Missing `metadata` section | Injects full metadata with `version`, `scenario` config, and `designer` |
|
|
236
|
+
| Missing `metadata.designer` on modules | Adds `{ x: 0, y: 0 }` coordinates |
|
|
237
|
+
| Router `filter` in route objects | Strips unsupported `filter` property (configure filters in Make.com UI) |
|
|
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 |
|
|
240
|
+
|
|
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.
|
|
242
|
+
|
|
243
|
+
## MCP Prompts
|
|
244
|
+
|
|
245
|
+
| Prompt | Description |
|
|
246
|
+
|--------|-------------|
|
|
247
|
+
| `build_scenario` | Guided workflow for creating a Make.com scenario from a natural language description |
|
|
248
|
+
| `explain_module` | Get a detailed explanation of any Make.com module with usage examples |
|
|
249
|
+
|
|
250
|
+
## MCP Resources
|
|
251
|
+
|
|
252
|
+
| Resource URI | Description |
|
|
253
|
+
|-------------|-------------|
|
|
254
|
+
| `make://apps` | List of all available apps with module counts |
|
|
255
|
+
|
|
256
|
+
## CLI Usage
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
make-mcp-server # Start the MCP server (stdio transport)
|
|
260
|
+
make-mcp-server --scrape # Populate/refresh the module database
|
|
261
|
+
make-mcp-server --version # Print version
|
|
262
|
+
make-mcp-server --help # Show help
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
## Environment Variables
|
|
266
|
+
|
|
267
|
+
| Variable | Required | Default | Description |
|
|
268
|
+
|----------|----------|---------|-------------|
|
|
269
|
+
| `MAKE_API_KEY` | For deployment | — | Make.com API key |
|
|
270
|
+
| `MAKE_API_URL` | No | `https://eu1.make.com/api/v2` | Make.com API base URL |
|
|
271
|
+
| `MAKE_TEAM_ID` | For deployment | — | Default team ID for scenario deployment |
|
|
272
|
+
| `DATABASE_PATH` | No | `<package>/data/make-modules.db` | SQLite database file path |
|
|
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) |
|
|
275
|
+
|
|
276
|
+
## Development
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
npm run build # Compile TypeScript + copy schema + add shebang
|
|
280
|
+
npm run build:tsc # TypeScript only (no packaging)
|
|
281
|
+
npm run start:dev # Start with tsx (no build needed)
|
|
282
|
+
npm run dev # Start with file watching
|
|
283
|
+
npm run scrape # Populate DB with tsx (dev)
|
|
284
|
+
npm run scrape:prod # Populate DB from compiled JS
|
|
285
|
+
npm run smoke:compat # One-command account compatibility + validation smoke check
|
|
286
|
+
npm test # Run all 43 tests
|
|
287
|
+
npm run test:watch # Run tests in watch mode
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### Publishing to npm
|
|
291
|
+
|
|
292
|
+
```bash
|
|
293
|
+
npm run prepublishOnly # Build + populate DB + verify (runs automatically on npm publish)
|
|
294
|
+
npm publish # Publish to npm registry
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
## Testing
|
|
298
|
+
|
|
299
|
+
The test suite includes 43 tests across 3 files:
|
|
300
|
+
|
|
301
|
+
- **Database tests** (14 tests) — Insert, search, template operations, FTS5 queries
|
|
302
|
+
- **Logger tests** (7 tests) — Stderr-only output, log levels, data serialization
|
|
303
|
+
- **Server integration tests** (22 tests) — Full MCP protocol compliance via SDK client
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
npm test
|
|
307
|
+
```
|
|
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
|
+
|
|
332
|
+
## Architecture
|
|
333
|
+
|
|
334
|
+
```
|
|
335
|
+
src/
|
|
336
|
+
├── mcp/
|
|
337
|
+
│ └── server.ts # MCP server with tools, prompts, resources
|
|
338
|
+
├── database/
|
|
339
|
+
│ ├── schema.sql # SQLite + FTS5 schema
|
|
340
|
+
│ └── db.ts # Database access layer (npx-safe path resolution)
|
|
341
|
+
├── scrapers/
|
|
342
|
+
│ └── scrape-modules.ts # Module data population (224 modules)
|
|
343
|
+
└── utils/
|
|
344
|
+
└── logger.ts # Structured stderr-only logger
|
|
345
|
+
bin/
|
|
346
|
+
├── make-mcp.js # CLI entry point (npx, --help, --version, --scrape)
|
|
347
|
+
└── postinstall.js # Post-install verification
|
|
348
|
+
scripts/
|
|
349
|
+
├── build.js # Build: tsc + copy schema + add shebang
|
|
350
|
+
├── prepublish.js # Publish prep: build + populate DB + verify
|
|
351
|
+
└── smoke-compat.js # Fast local smoke test for module compatibility + validation
|
|
352
|
+
data/
|
|
353
|
+
└── make-modules.db # Pre-built SQLite database (bundled in npm package)
|
|
354
|
+
tests/
|
|
355
|
+
├── database.test.ts # Database unit tests (14)
|
|
356
|
+
├── logger.test.ts # Logger unit tests (7)
|
|
357
|
+
└── server.test.ts # MCP integration tests (22)
|
|
358
|
+
Dockerfile # Multi-stage Docker image
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
## Tech Stack
|
|
362
|
+
|
|
363
|
+
- **TypeScript** + **Node.js** (ESM)
|
|
364
|
+
- **@modelcontextprotocol/sdk** v1.26.0 — MCP protocol implementation
|
|
365
|
+
- **better-sqlite3** — Synchronous SQLite with FTS5 full-text search
|
|
366
|
+
- **zod** — Schema validation for tool parameters
|
|
367
|
+
- **axios** — HTTP client for Make.com API
|
|
368
|
+
- **vitest** — Test framework
|
|
369
|
+
|
|
370
|
+
## Supported Apps (40+)
|
|
371
|
+
|
|
372
|
+
Google Sheets, Slack, OpenAI, Google Drive, Notion, Telegram Bot, HubSpot CRM, Gmail, Airtable, Tools, Flow Control, Google Calendar, Jira, Trello, Shopify, Google Docs, Microsoft Teams, Microsoft Outlook, Discord, Asana, monday.com, Salesforce, Stripe, GitHub, HTTP, Mailchimp, WordPress, Dropbox, Data Store, JSON, Twilio, Google Gemini AI, WhatsApp Business, Text Parser, Webhooks, Anthropic Claude, CSV, RSS, Email, Schedule
|
|
373
|
+
|
|
374
|
+
## Author
|
|
375
|
+
|
|
376
|
+
Built by **[Daniel Shashko](https://www.linkedin.com/in/daniel-shashko/)**
|
|
377
|
+
|
|
378
|
+
## License
|
|
379
|
+
|
|
380
|
+
MIT License — see [LICENSE](LICENSE) for details.
|