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