@muuktest/maintenance-mcp 0.1.3
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 -0
- package/README.md +926 -0
- package/build/index.d.ts +7 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +146 -0
- package/build/index.js.map +1 -0
- package/build/server.d.ts +26 -0
- package/build/server.d.ts.map +1 -0
- package/build/server.js +220 -0
- package/build/server.js.map +1 -0
- package/build/utils.d.ts +23 -0
- package/build/utils.d.ts.map +1 -0
- package/build/utils.js +117 -0
- package/build/utils.js.map +1 -0
- package/package.json +53 -0
package/README.md
ADDED
|
@@ -0,0 +1,926 @@
|
|
|
1
|
+
# MuukTest Maintenance MCP# MuukTest Maintenance MCP# MuukTest Maintenance MCP
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
MCP server for analyzing and repairing E2E test failures (Playwright, Cypress, Selenium, etc.) with AI-powered suggestions.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
```MCP server for analyzing and repairing E2E test failures (Playwright, Cypress, Selenium, etc.) with AI-powered suggestions.MCP server for analyzing and repairing E2E test failures (Playwright, Cypress, Selenium, etc.) with AI-powered suggestions.
|
|
10
|
+
|
|
11
|
+
User → AI Agent → MCP Server → MuukTest API → AI Analysis
|
|
12
|
+
|
|
13
|
+
↑
|
|
14
|
+
|
|
15
|
+
Reads local files
|
|
16
|
+
|
|
17
|
+
(test files, screenshots, JSON)``````
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
User → AI Agent → MCP Server → MuukTest API → AI AnalysisUser → AI Agent → MCP Server → MuukTest API → AI Analysis
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
↑ ↑
|
|
26
|
+
|
|
27
|
+
## Requirements
|
|
28
|
+
|
|
29
|
+
Reads local files Reads local files
|
|
30
|
+
|
|
31
|
+
Before you begin, make sure you have:
|
|
32
|
+
|
|
33
|
+
(test files, screenshots, JSON) (test files, screenshots, JSON)
|
|
34
|
+
|
|
35
|
+
- **Node.js 24+** — Check with `node --version`
|
|
36
|
+
|
|
37
|
+
- **npm** — Comes with Node.js, check with `npm --version```````
|
|
38
|
+
|
|
39
|
+
- **MuukTest Key** — Available in MuukTest Portal. If you don't have one yet, request access at [MuukTest](https://muuktest.com).
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
------
|
|
46
|
+
|
|
47
|
+
## Step 1: Install the MCP Server
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
You have two options for installation:
|
|
52
|
+
|
|
53
|
+
## Requirements## Requirements
|
|
54
|
+
|
|
55
|
+
### Option A: Install from npm (when published)
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
|
|
61
|
+
npm install -g muuk-maintenanceBefore you begin, make sure you have:Before you begin, make sure you have:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
Or use directly with npx (no installation needed):
|
|
68
|
+
|
|
69
|
+
- **Node.js 24+** — Check with `node --version`- **Python 3.10+** — Check with `python --version` or `python3 --version`
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
|
|
73
|
+
npx muuk-maintenance- **npm** — Comes with Node.js, check with `npm --version`- **MuukTest Key** — Available in MuukTest Portal. If you don’t have one yet, request access at [MuukTest](https://muuktest.com).
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
- **MuukTest Key** — Available in MuukTest Portal. If you don't have one yet, request access at [MuukTest](https://muuktest.com).
|
|
78
|
+
|
|
79
|
+
### Option B: Install from source (current setup)
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
|
|
85
|
+
# Clone the repository---
|
|
86
|
+
|
|
87
|
+
git clone <repository-url>
|
|
88
|
+
|
|
89
|
+
cd muukAgents-mcp## Step 1: Install uv
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
# Install dependencies and build## Step 1: Install the MCP Server
|
|
94
|
+
|
|
95
|
+
npm install
|
|
96
|
+
|
|
97
|
+
First, check if you already have `uvx` installed:
|
|
98
|
+
|
|
99
|
+
# Link globally for local development
|
|
100
|
+
|
|
101
|
+
npm linkYou have two options for installation:
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
|
|
107
|
+
Verify the installation:
|
|
108
|
+
|
|
109
|
+
### Option A: Install from npm (when published)uvx --version
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
|
|
113
|
+
npx muuk-maintenance```
|
|
114
|
+
|
|
115
|
+
# Should start and wait for stdio input (press Ctrl+C to exit)
|
|
116
|
+
|
|
117
|
+
``````bash
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
---npm install -g muuk-maintenanceIf you see a version number, skip to **Step 2**. Otherwise, install `uv` for your operating system:
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
## Step 2: Configure Your AI Client```
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
Choose your AI client below:**macOS / Linux:**
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
- [VS Code / GitHub Copilot](#vs-code--github-copilot)### Option B: Install from source (current setup)```bash
|
|
134
|
+
|
|
135
|
+
- [Claude Desktop](#claude-desktop)
|
|
136
|
+
|
|
137
|
+
- [Claude Code (CLI)](#claude-code-cli)curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
138
|
+
|
|
139
|
+
- [Cursor](#cursor)
|
|
140
|
+
|
|
141
|
+
```bash```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
# Clone the repository
|
|
146
|
+
|
|
147
|
+
### VS Code / GitHub Copilot
|
|
148
|
+
|
|
149
|
+
git clone <repository-url>**Windows (PowerShell):**
|
|
150
|
+
|
|
151
|
+
1. Open Command Palette: `Cmd+Shift+P` (Mac) or `Ctrl+Shift+P` (Windows/Linux)
|
|
152
|
+
|
|
153
|
+
2. Search for **"MCP: Open User Configuration"**cd muukAgents-mcp```powershell
|
|
154
|
+
|
|
155
|
+
3. Add this configuration:
|
|
156
|
+
|
|
157
|
+
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
|
|
158
|
+
|
|
159
|
+
```json
|
|
160
|
+
|
|
161
|
+
{# Install dependencies and build```
|
|
162
|
+
|
|
163
|
+
"inputs": [
|
|
164
|
+
|
|
165
|
+
{npm install
|
|
166
|
+
|
|
167
|
+
"id": "muuk_key",
|
|
168
|
+
|
|
169
|
+
"type": "promptString",**Homebrew (macOS/Linux):**
|
|
170
|
+
|
|
171
|
+
"description": "MuukTest Key (available in your MuukTest account)",
|
|
172
|
+
|
|
173
|
+
"password": true# Link globally for local development (optional)```bash
|
|
174
|
+
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
],npm linkbrew install uv
|
|
178
|
+
|
|
179
|
+
"servers": {
|
|
180
|
+
|
|
181
|
+
"muuk-maintenance": {``````
|
|
182
|
+
|
|
183
|
+
"command": "npx",
|
|
184
|
+
|
|
185
|
+
"args": ["-y", "muuk-maintenance"],
|
|
186
|
+
|
|
187
|
+
"env": {
|
|
188
|
+
|
|
189
|
+
"MUUK_KEY": "${input:muuk_key}"Verify the build:After installation, restart your terminal and verify:
|
|
190
|
+
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
}```bash```bash
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
node build/index.jsuvx --version
|
|
202
|
+
|
|
203
|
+
4. Restart VS Code
|
|
204
|
+
|
|
205
|
+
5. When prompted, enter your MuukTest Key# Should start and wait for stdio input (press Ctrl+C to exit)```
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
**Note**: The `-y` flag automatically accepts the npx prompt. If using local development, use:```
|
|
210
|
+
|
|
211
|
+
```json
|
|
212
|
+
|
|
213
|
+
{---
|
|
214
|
+
|
|
215
|
+
"command": "node",
|
|
216
|
+
|
|
217
|
+
"args": ["/absolute/path/to/muukAgents-mcp/build/index.js"]---
|
|
218
|
+
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
```## Step 2: Configure Your AI Client
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
---## Step 2: Configure Your AI Client
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
### Claude DesktopChoose your AI client below:
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
1. Open the configuration file:Choose your AI client below:
|
|
234
|
+
|
|
235
|
+
- **macOS**: `~/.config/claude/claude_desktop_config.json`
|
|
236
|
+
|
|
237
|
+
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`- [VS Code / GitHub Copilot](#vs-code--github-copilot)
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
2. Add this configuration:- [VS Code / GitHub Copilot](#vs-code--github-copilot)- [Claude Desktop](#claude-desktop)
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
```json- [Claude Desktop](#claude-desktop)- [Claude Code (CLI)](#claude-code-cli)
|
|
246
|
+
|
|
247
|
+
{
|
|
248
|
+
|
|
249
|
+
"mcpServers": {- [Claude Code (CLI)](#claude-code-cli)- [Cursor](#cursor)
|
|
250
|
+
|
|
251
|
+
"muuk-maintenance": {
|
|
252
|
+
|
|
253
|
+
"command": "npx",- [Cursor](#cursor)
|
|
254
|
+
|
|
255
|
+
"args": ["-y", "muuk-maintenance"],
|
|
256
|
+
|
|
257
|
+
"env": {---
|
|
258
|
+
|
|
259
|
+
"MUUK_KEY": "your-api-key-here"
|
|
260
|
+
|
|
261
|
+
}---
|
|
262
|
+
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
}### VS Code / GitHub Copilot
|
|
266
|
+
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
```### VS Code / GitHub Copilot
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
3. Replace `your-api-key-here` with your actual MuukTest Key1. Open Command Palette: `Cmd+Shift+P` (Mac) or `Ctrl+Shift+P` (Windows/Linux)
|
|
274
|
+
|
|
275
|
+
4. Restart Claude Desktop
|
|
276
|
+
|
|
277
|
+
1. Open Command Palette: `Cmd+Shift+P` (Mac) or `Ctrl+Shift+P` (Windows/Linux)2. Search for **"MCP: Open User Configuration"**
|
|
278
|
+
|
|
279
|
+
**Note**: For local development, use:
|
|
280
|
+
|
|
281
|
+
```json2. Search for **"MCP: Open User Configuration"**3. Add this configuration:
|
|
282
|
+
|
|
283
|
+
{
|
|
284
|
+
|
|
285
|
+
"command": "node",3. Add this configuration:
|
|
286
|
+
|
|
287
|
+
"args": ["/absolute/path/to/muukAgents-mcp/build/index.js"]
|
|
288
|
+
|
|
289
|
+
}```json
|
|
290
|
+
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
```json{
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
{ "inputs": [
|
|
298
|
+
|
|
299
|
+
### Claude Code (CLI)
|
|
300
|
+
|
|
301
|
+
"inputs": [ {
|
|
302
|
+
|
|
303
|
+
Run this command in your terminal (replace YOUR_KEY with your actual key):
|
|
304
|
+
|
|
305
|
+
{ "id": "muuk_key",
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
|
|
309
|
+
claude mcp add muuk-maintenance --transport stdio -e MUUK_KEY=YOUR_KEY -- npx -y muuk-maintenance "id": "muuk_key", "type": "promptString",
|
|
310
|
+
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
"type": "promptString", "description": "MuukTest Key (available in your MuukTest account)",
|
|
314
|
+
|
|
315
|
+
Verify the setup:
|
|
316
|
+
|
|
317
|
+
"description": "MuukTest Key (available in your MuukTest account)", "password": true
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
|
|
321
|
+
claude /mcp "password": true }
|
|
322
|
+
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
} ],
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
], "servers": {
|
|
330
|
+
|
|
331
|
+
### Cursor
|
|
332
|
+
|
|
333
|
+
"servers": { "muuk-maintenance": {
|
|
334
|
+
|
|
335
|
+
1. Open Cursor Settings (`Cmd+,` or `Ctrl+,`)
|
|
336
|
+
|
|
337
|
+
2. Search for **"MCP"** in settings "muuk-maintenance": { "command": "node",
|
|
338
|
+
|
|
339
|
+
3. Add this server configuration:
|
|
340
|
+
|
|
341
|
+
"command": "node", "args": ["/path/to/muukAgents-mcp/build/index.js"],
|
|
342
|
+
|
|
343
|
+
```json
|
|
344
|
+
|
|
345
|
+
{ "args": ["/absolute/path/to/muukAgents-mcp/build/index.js"], "env": {
|
|
346
|
+
|
|
347
|
+
"muuk-maintenance": {
|
|
348
|
+
|
|
349
|
+
"command": "npx", "env": { "MUUK_KEY": "${input:muuk_key}"
|
|
350
|
+
|
|
351
|
+
"args": ["-y", "muuk-maintenance"],
|
|
352
|
+
|
|
353
|
+
"env": { "MUUK_KEY": "${input:muuk_key}" }
|
|
354
|
+
|
|
355
|
+
"MUUK_KEY": "your-api-key-here"
|
|
356
|
+
|
|
357
|
+
} } }
|
|
358
|
+
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
} } }
|
|
362
|
+
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
}}
|
|
366
|
+
|
|
367
|
+
4. Replace `your-api-key-here` with your actual MuukTest Key
|
|
368
|
+
|
|
369
|
+
5. Restart Cursor}```
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
---```
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
## Step 3: Start Using It4. Replace `/path/to/muukAgents-mcp/build/index.js` with the actual path to your installation
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
Once configured, ask your AI agent to analyze test failures:4. Replace `/absolute/path/to/muukAgents-mcp/build/index.js` with the actual absolute path to your installation5. Restart VS Code
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
**Basic usage:**5. Restart VS Code6. When prompted, enter your MuukTest Key
|
|
386
|
+
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
Analyze the test failure with test files in ./tests/ and failure data in ./failure-artifacts/6. When prompted, enter your MuukTest Key
|
|
390
|
+
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
**Natural language:**
|
|
396
|
+
|
|
397
|
+
```---
|
|
398
|
+
|
|
399
|
+
I have a failing E2E test. The test files are in ./e2e/booking-flow/
|
|
400
|
+
|
|
401
|
+
and the failure screenshots and logs are in ./test-results/. ### Claude Desktop
|
|
402
|
+
|
|
403
|
+
Please analyze and suggest a fix.
|
|
404
|
+
|
|
405
|
+
```### Claude Desktop
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
|
|
409
|
+
---1. Open the configuration file:
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
## Reference1. Open the configuration file: - **macOS**: `~/.config/claude/claude_desktop_config.json`
|
|
414
|
+
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
### Available Tools - **macOS**: `~/.config/claude/claude_desktop_config.json` - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
The MCP server provides three tools: - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
422
|
+
|
|
423
|
+
|
|
424
|
+
|
|
425
|
+
- **fix_selectors** - Fixing selector issues in E2E tests2. Add this configuration:
|
|
426
|
+
|
|
427
|
+
- **fix_ui_flow** - Fixing UI/flow issues in E2E tests
|
|
428
|
+
|
|
429
|
+
- **fix_data_dependence** - Fixing data dependence issues in E2E tests2. Add this configuration:
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
### Environment Variables```json
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
| Variable | Description | Default |```json{
|
|
438
|
+
|
|
439
|
+
|----------|-------------|---------|
|
|
440
|
+
|
|
441
|
+
| `MUUK_KEY` | Your MuukTest API key (required) | - |{ "mcpServers": {
|
|
442
|
+
|
|
443
|
+
| `MUUK_API_URL` | MuukTest API endpoint | `https://oztodz5qove7dnpts5yln3ccl40bitlo.lambda-url.us-east-2.on.aws/` |
|
|
444
|
+
|
|
445
|
+
| `MUUK_SIGNED_URL_ENDPOINT` | S3 signed URL endpoint | `https://bm5s428g6e.execute-api.us-east-2.amazonaws.com/v1/mcp/getSignedUrl` | "mcpServers": { "muuk-maintenance": {
|
|
446
|
+
|
|
447
|
+
| `MUUK_TIMEOUT_SECS` | Request timeout in seconds | `300` |
|
|
448
|
+
|
|
449
|
+
"muuk-maintenance": { "command": "node",
|
|
450
|
+
|
|
451
|
+
---
|
|
452
|
+
|
|
453
|
+
"command": "node", "args": ["/path/to/muukAgents-mcp/build/index.js"],
|
|
454
|
+
|
|
455
|
+
## Development
|
|
456
|
+
|
|
457
|
+
"args": ["/absolute/path/to/muukAgents-mcp/build/index.js"], "env": {
|
|
458
|
+
|
|
459
|
+
### Building
|
|
460
|
+
|
|
461
|
+
"env": { "MUUK_KEY": "your-api-key-here"
|
|
462
|
+
|
|
463
|
+
```bash
|
|
464
|
+
|
|
465
|
+
npm run build "MUUK_KEY": "your-api-key-here" }
|
|
466
|
+
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
} }
|
|
470
|
+
|
|
471
|
+
### Watch mode
|
|
472
|
+
|
|
473
|
+
} }
|
|
474
|
+
|
|
475
|
+
```bash
|
|
476
|
+
|
|
477
|
+
npm run watch }}
|
|
478
|
+
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
}```
|
|
482
|
+
|
|
483
|
+
### Project Structure
|
|
484
|
+
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
├── src/3. Replace `/path/to/muukAgents-mcp/build/index.js` with the actual path
|
|
490
|
+
|
|
491
|
+
│ ├── index.ts # Main entry point and MCP server setup
|
|
492
|
+
|
|
493
|
+
│ ├── server.ts # Core analysis logic3. Replace `/absolute/path/to/muukAgents-mcp/build/index.js` with the actual absolute path4. Replace `your-api-key-here` with your actual MuukTest Key
|
|
494
|
+
|
|
495
|
+
│ └── utils.ts # Utility functions (zip, S3 upload, etc.)
|
|
496
|
+
|
|
497
|
+
├── build/ # Compiled JavaScript (generated)4. Replace `your-api-key-here` with your actual MuukTest Key5. Restart Claude Desktop
|
|
498
|
+
|
|
499
|
+
├── package.json
|
|
500
|
+
|
|
501
|
+
├── tsconfig.json5. Restart Claude Desktop
|
|
502
|
+
|
|
503
|
+
└── .nvmrc # Node version specification
|
|
504
|
+
|
|
505
|
+
```---
|
|
506
|
+
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
------
|
|
510
|
+
|
|
511
|
+
|
|
512
|
+
|
|
513
|
+
## Troubleshooting### Claude Code (CLI)
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
|
|
517
|
+
### "Cannot find module" or "Command not found"### Claude Code (CLI)
|
|
518
|
+
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
If using `npx`:Run this command in your terminal (replace paths and key accordingly):
|
|
522
|
+
|
|
523
|
+
- Make sure npm is in your PATH: `which npm`
|
|
524
|
+
|
|
525
|
+
- Try with full path: `npx muuk-maintenance`Run this command in your terminal (replace paths and key accordingly):
|
|
526
|
+
|
|
527
|
+
- Clear npx cache: `npx clear-npx-cache`
|
|
528
|
+
|
|
529
|
+
```bash
|
|
530
|
+
|
|
531
|
+
If using local development:
|
|
532
|
+
|
|
533
|
+
- Make sure you've built the project: `npm run build````bashclaude mcp add muuk-maintenance --transport stdio -e MUUK_KEY=YOUR_KEY -- node /path/to/muukAgents-mcp/build/index.js
|
|
534
|
+
|
|
535
|
+
- Verify the path to `build/index.js` is correct
|
|
536
|
+
|
|
537
|
+
- Use **absolute paths** in your MCP configurationclaude mcp add muuk-maintenance --transport stdio -e MUUK_KEY=YOUR_KEY -- node /absolute/path/to/muukAgents-mcp/build/index.js```
|
|
538
|
+
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
### "Invalid or missing MUUK_KEY"```
|
|
542
|
+
|
|
543
|
+
|
|
544
|
+
|
|
545
|
+
- Verify your key is correct in your MuukTest accountVerify the setup:
|
|
546
|
+
|
|
547
|
+
- Check that the environment variable is properly set in your configuration
|
|
548
|
+
|
|
549
|
+
- For VS Code: make sure you're entering the key when promptedVerify the setup:
|
|
550
|
+
|
|
551
|
+
|
|
552
|
+
|
|
553
|
+
### MCP server not appearing in your AI client```bash
|
|
554
|
+
|
|
555
|
+
|
|
556
|
+
|
|
557
|
+
- Restart your AI client completely```bashclaude /mcp
|
|
558
|
+
|
|
559
|
+
- Verify the JSON configuration syntax is valid (use a JSON validator)
|
|
560
|
+
|
|
561
|
+
- Test that the server starts manually:claude /mcp```
|
|
562
|
+
|
|
563
|
+
```bash
|
|
564
|
+
|
|
565
|
+
npx muuk-maintenance```
|
|
566
|
+
|
|
567
|
+
# Or: node /path/to/build/index.js
|
|
568
|
+
|
|
569
|
+
```---
|
|
570
|
+
|
|
571
|
+
It should start and wait for stdio input. Press Ctrl+C to exit.
|
|
572
|
+
|
|
573
|
+
---
|
|
574
|
+
|
|
575
|
+
### Node version issues
|
|
576
|
+
|
|
577
|
+
### Cursor
|
|
578
|
+
|
|
579
|
+
If you're using nvm, make sure you're on Node 24:
|
|
580
|
+
|
|
581
|
+
### Cursor
|
|
582
|
+
|
|
583
|
+
```bash
|
|
584
|
+
|
|
585
|
+
nvm use 241. Open Cursor Settings (`Cmd+,` or `Ctrl+,`)
|
|
586
|
+
|
|
587
|
+
# Or if not installed
|
|
588
|
+
|
|
589
|
+
nvm install 241. Open Cursor Settings (`Cmd+,` or `Ctrl+,`)2. Search for **"MCP"** in settings
|
|
590
|
+
|
|
591
|
+
nvm use 24
|
|
592
|
+
|
|
593
|
+
```2. Search for **"MCP"** in settings3. Add this server configuration:
|
|
594
|
+
|
|
595
|
+
|
|
596
|
+
|
|
597
|
+
The repository includes an `.nvmrc` file, so you can also just run:3. Add this server configuration:
|
|
598
|
+
|
|
599
|
+
```bash
|
|
600
|
+
|
|
601
|
+
nvm use```json
|
|
602
|
+
|
|
603
|
+
```
|
|
604
|
+
|
|
605
|
+
```json{
|
|
606
|
+
|
|
607
|
+
### TypeScript compilation errors
|
|
608
|
+
|
|
609
|
+
{ "muuk-maintenance": {
|
|
610
|
+
|
|
611
|
+
Make sure you have the correct dependencies installed:
|
|
612
|
+
|
|
613
|
+
"muuk-maintenance": { "command": "node",
|
|
614
|
+
|
|
615
|
+
```bash
|
|
616
|
+
|
|
617
|
+
npm install "command": "node", "args": ["/path/to/muukAgents-mcp/build/index.js"],
|
|
618
|
+
|
|
619
|
+
```
|
|
620
|
+
|
|
621
|
+
"args": ["/absolute/path/to/muukAgents-mcp/build/index.js"], "env": {
|
|
622
|
+
|
|
623
|
+
If you see type errors, try cleaning and rebuilding:
|
|
624
|
+
|
|
625
|
+
"env": { "MUUK_KEY": "your-api-key-here"
|
|
626
|
+
|
|
627
|
+
```bash
|
|
628
|
+
|
|
629
|
+
rm -rf build node_modules "MUUK_KEY": "your-api-key-here" }
|
|
630
|
+
|
|
631
|
+
npm install
|
|
632
|
+
|
|
633
|
+
npm run build } }
|
|
634
|
+
|
|
635
|
+
```
|
|
636
|
+
|
|
637
|
+
}}
|
|
638
|
+
|
|
639
|
+
### npx prompts or hangs
|
|
640
|
+
|
|
641
|
+
}```
|
|
642
|
+
|
|
643
|
+
If npx asks for confirmation, use the `-y` flag:
|
|
644
|
+
|
|
645
|
+
```bash```
|
|
646
|
+
|
|
647
|
+
npx -y muuk-maintenance
|
|
648
|
+
|
|
649
|
+
```4. Replace `/path/to/muukAgents-mcp/build/index.js` with the actual path
|
|
650
|
+
|
|
651
|
+
|
|
652
|
+
|
|
653
|
+
This is already included in the configuration examples above.4. Replace `/absolute/path/to/muukAgents-mcp/build/index.js` with the actual absolute path5. Replace `your-api-key-here` with your actual MuukTest Key
|
|
654
|
+
|
|
655
|
+
|
|
656
|
+
|
|
657
|
+
---5. Replace `your-api-key-here` with your actual MuukTest Key6. Restart Cursor
|
|
658
|
+
|
|
659
|
+
|
|
660
|
+
|
|
661
|
+
## Publishing to npm6. Restart Cursor
|
|
662
|
+
|
|
663
|
+
|
|
664
|
+
|
|
665
|
+
To publish this package to npm (for maintainers):---
|
|
666
|
+
|
|
667
|
+
|
|
668
|
+
|
|
669
|
+
```bash---
|
|
670
|
+
|
|
671
|
+
# 1. Login to npm
|
|
672
|
+
|
|
673
|
+
npm login## Step 3: Start Using It
|
|
674
|
+
|
|
675
|
+
|
|
676
|
+
|
|
677
|
+
# 2. Update version in package.json## Step 3: Start Using It
|
|
678
|
+
|
|
679
|
+
npm version patch # or minor, or major
|
|
680
|
+
|
|
681
|
+
Once configured, ask your AI agent to analyze test failures:
|
|
682
|
+
|
|
683
|
+
# 3. Publish
|
|
684
|
+
|
|
685
|
+
npm publish --access publicOnce configured, ask your AI agent to analyze test failures:
|
|
686
|
+
|
|
687
|
+
```
|
|
688
|
+
|
|
689
|
+
**Basic usage:**
|
|
690
|
+
|
|
691
|
+
After publishing, users can install with:
|
|
692
|
+
|
|
693
|
+
```bash**Basic usage:**```
|
|
694
|
+
|
|
695
|
+
npm install -g muuk-maintenance
|
|
696
|
+
|
|
697
|
+
``````Analyze the test failure with test files in ./tests/ and failure data in ./failure-artifacts/
|
|
698
|
+
|
|
699
|
+
|
|
700
|
+
|
|
701
|
+
Or use directly:Analyze the test failure with test files in ./tests/ and failure data in ./failure-artifacts/```
|
|
702
|
+
|
|
703
|
+
```bash
|
|
704
|
+
|
|
705
|
+
npx muuk-maintenance```
|
|
706
|
+
|
|
707
|
+
```
|
|
708
|
+
|
|
709
|
+
**Natural language:**
|
|
710
|
+
|
|
711
|
+
---
|
|
712
|
+
|
|
713
|
+
**Natural language:**```
|
|
714
|
+
|
|
715
|
+
## Support
|
|
716
|
+
|
|
717
|
+
```I have a failing E2E test. The test files are in ./e2e/booking-flow/
|
|
718
|
+
|
|
719
|
+
For issues and questions:
|
|
720
|
+
|
|
721
|
+
- Visit [MuukTest](https://muuktest.com)I have a failing E2E test. The test files are in ./e2e/booking-flow/ and the failure screenshots and logs are in ./test-results/.
|
|
722
|
+
|
|
723
|
+
- Check the [GitHub Issues](https://github.com/muuklabs/muukAgents-mcp/issues)
|
|
724
|
+
|
|
725
|
+
and the failure screenshots and logs are in ./test-results/. Please analyze and suggest a fix.
|
|
726
|
+
|
|
727
|
+
---
|
|
728
|
+
|
|
729
|
+
Please analyze and suggest a fix.```
|
|
730
|
+
|
|
731
|
+
## License
|
|
732
|
+
|
|
733
|
+
```
|
|
734
|
+
|
|
735
|
+
MIT
|
|
736
|
+
|
|
737
|
+
---
|
|
738
|
+
|
|
739
|
+
---
|
|
740
|
+
|
|
741
|
+
## Reference
|
|
742
|
+
|
|
743
|
+
## Reference
|
|
744
|
+
|
|
745
|
+
### Environment Variables
|
|
746
|
+
|
|
747
|
+
### Available Tools
|
|
748
|
+
|
|
749
|
+
| Variable | Description |
|
|
750
|
+
|
|
751
|
+
The MCP server provides three tools:|----------|-------------|
|
|
752
|
+
|
|
753
|
+
| `MUUK_KEY` | Your MuukTest API key |
|
|
754
|
+
|
|
755
|
+
- **fix_selectors** - Fixing selector issues in E2E tests
|
|
756
|
+
|
|
757
|
+
- **fix_ui_flow** - Fixing UI/flow issues in E2E tests ---
|
|
758
|
+
|
|
759
|
+
- **fix_data_dependence** - Fixing data dependence issues in E2E tests
|
|
760
|
+
|
|
761
|
+
## Troubleshooting
|
|
762
|
+
|
|
763
|
+
### Environment Variables
|
|
764
|
+
|
|
765
|
+
### "Cannot find module" or "Command not found"
|
|
766
|
+
|
|
767
|
+
| Variable | Description | Default |
|
|
768
|
+
|
|
769
|
+
|----------|-------------|---------|Your AI client can't find the Node.js executable or the built files.
|
|
770
|
+
|
|
771
|
+
| `MUUK_KEY` | Your MuukTest API key (required) | - |
|
|
772
|
+
|
|
773
|
+
| `MUUK_API_URL` | MuukTest API endpoint | `https://oztodz5qove7dnpts5yln3ccl40bitlo.lambda-url.us-east-2.on.aws/` |1. Make sure you've built the project:
|
|
774
|
+
|
|
775
|
+
| `MUUK_SIGNED_URL_ENDPOINT` | S3 signed URL endpoint | `https://bm5s428g6e.execute-api.us-east-2.amazonaws.com/v1/mcp/getSignedUrl` | ```bash
|
|
776
|
+
|
|
777
|
+
| `MUUK_TIMEOUT_SECS` | Request timeout in seconds | `300` | npm run build
|
|
778
|
+
|
|
779
|
+
```
|
|
780
|
+
|
|
781
|
+
---
|
|
782
|
+
|
|
783
|
+
2. Verify the path to `build/index.js` is correct in your configuration
|
|
784
|
+
|
|
785
|
+
## Development
|
|
786
|
+
|
|
787
|
+
3. Use absolute paths in your MCP configuration
|
|
788
|
+
|
|
789
|
+
### Building
|
|
790
|
+
|
|
791
|
+
### "Invalid or missing MUUK_KEY"
|
|
792
|
+
|
|
793
|
+
```bash
|
|
794
|
+
|
|
795
|
+
npm run build- Verify your key is correct in your MuukTest account
|
|
796
|
+
|
|
797
|
+
```- Check that the environment variable is properly set in your configuration
|
|
798
|
+
|
|
799
|
+
- For VS Code: make sure you're entering the key when prompted
|
|
800
|
+
|
|
801
|
+
### Watch mode
|
|
802
|
+
|
|
803
|
+
### MCP server not appearing in your AI client
|
|
804
|
+
|
|
805
|
+
```bash
|
|
806
|
+
|
|
807
|
+
npm run watch- Restart your AI client completely
|
|
808
|
+
|
|
809
|
+
```- Verify the JSON configuration syntax is valid
|
|
810
|
+
|
|
811
|
+
- Check that `node build/index.js` runs successfully in your terminal (it should wait for stdio input)
|
|
812
|
+
|
|
813
|
+
### Project Structure- Make sure Node.js 24+ is installed and in your PATH
|
|
814
|
+
|
|
815
|
+
|
|
816
|
+
|
|
817
|
+
```### Node version issues
|
|
818
|
+
|
|
819
|
+
├── src/
|
|
820
|
+
|
|
821
|
+
│ ├── index.ts # Main entry point and MCP server setupIf you're using nvm, make sure you're on Node 24:
|
|
822
|
+
|
|
823
|
+
│ ├── server.ts # Core analysis logic
|
|
824
|
+
|
|
825
|
+
│ └── utils.ts # Utility functions (zip, S3 upload, etc.)```bash
|
|
826
|
+
|
|
827
|
+
├── build/ # Compiled JavaScript (generated)nvm use 24
|
|
828
|
+
|
|
829
|
+
├── package.json# Or if not installed
|
|
830
|
+
|
|
831
|
+
├── tsconfig.jsonnvm install 24
|
|
832
|
+
|
|
833
|
+
└── .nvmrc # Node version specificationnvm use 24
|
|
834
|
+
|
|
835
|
+
``````
|
|
836
|
+
|
|
837
|
+
|
|
838
|
+
|
|
839
|
+
------
|
|
840
|
+
|
|
841
|
+
|
|
842
|
+
|
|
843
|
+
## Troubleshooting## Support
|
|
844
|
+
|
|
845
|
+
|
|
846
|
+
|
|
847
|
+
### "Cannot find module" or "Command not found"TBD
|
|
848
|
+
|
|
849
|
+
Your AI client can't find the Node.js executable or the built files.
|
|
850
|
+
|
|
851
|
+
1. Make sure you've built the project:
|
|
852
|
+
```bash
|
|
853
|
+
npm run build
|
|
854
|
+
```
|
|
855
|
+
|
|
856
|
+
2. Verify the path to `build/index.js` is correct in your configuration
|
|
857
|
+
|
|
858
|
+
3. Use **absolute paths** in your MCP configuration (not relative paths like `~/` or `./`)
|
|
859
|
+
|
|
860
|
+
4. Check Node.js is in your PATH:
|
|
861
|
+
```bash
|
|
862
|
+
which node # macOS/Linux
|
|
863
|
+
where node # Windows
|
|
864
|
+
```
|
|
865
|
+
|
|
866
|
+
### "Invalid or missing MUUK_KEY"
|
|
867
|
+
|
|
868
|
+
- Verify your key is correct in your MuukTest account
|
|
869
|
+
- Check that the environment variable is properly set in your configuration
|
|
870
|
+
- For VS Code: make sure you're entering the key when prompted
|
|
871
|
+
|
|
872
|
+
### MCP server not appearing in your AI client
|
|
873
|
+
|
|
874
|
+
- Restart your AI client completely
|
|
875
|
+
- Verify the JSON configuration syntax is valid (use a JSON validator)
|
|
876
|
+
- Test that the server starts manually:
|
|
877
|
+
```bash
|
|
878
|
+
node /path/to/build/index.js
|
|
879
|
+
```
|
|
880
|
+
It should start and wait for stdio input. Press Ctrl+C to exit.
|
|
881
|
+
|
|
882
|
+
### Node version issues
|
|
883
|
+
|
|
884
|
+
If you're using nvm, make sure you're on Node 24:
|
|
885
|
+
|
|
886
|
+
```bash
|
|
887
|
+
nvm use 24
|
|
888
|
+
# Or if not installed
|
|
889
|
+
nvm install 24
|
|
890
|
+
nvm use 24
|
|
891
|
+
```
|
|
892
|
+
|
|
893
|
+
The repository includes an `.nvmrc` file, so you can also just run:
|
|
894
|
+
```bash
|
|
895
|
+
nvm use
|
|
896
|
+
```
|
|
897
|
+
|
|
898
|
+
### TypeScript compilation errors
|
|
899
|
+
|
|
900
|
+
Make sure you have the correct dependencies installed:
|
|
901
|
+
|
|
902
|
+
```bash
|
|
903
|
+
npm install
|
|
904
|
+
```
|
|
905
|
+
|
|
906
|
+
If you see type errors, try cleaning and rebuilding:
|
|
907
|
+
|
|
908
|
+
```bash
|
|
909
|
+
rm -rf build node_modules
|
|
910
|
+
npm install
|
|
911
|
+
npm run build
|
|
912
|
+
```
|
|
913
|
+
|
|
914
|
+
---
|
|
915
|
+
|
|
916
|
+
## Support
|
|
917
|
+
|
|
918
|
+
For issues and questions:
|
|
919
|
+
- Visit [MuukTest](https://muuktest.com)
|
|
920
|
+
- Check the [GitHub Issues](https://github.com/muuklabs/muukAgents-mcp/issues)
|
|
921
|
+
|
|
922
|
+
---
|
|
923
|
+
|
|
924
|
+
## License
|
|
925
|
+
|
|
926
|
+
MIT
|