deploy-mcp 0.2.0 → 0.3.0
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 +283 -85
- package/dist/chunk-AIITEXOJ.js +1563 -0
- package/dist/index.js +6 -28
- package/dist/worker.js +39 -20
- package/package.json +10 -7
- package/dist/chunk-QRZL43CY.js +0 -297
package/README.md
CHANGED
|
@@ -17,25 +17,30 @@ No more context-switching. No more dashboard hunting.
|
|
|
17
17
|
|
|
18
18
|
## Demo
|
|
19
19
|
|
|
20
|
+
### Your conversation:
|
|
20
21
|
```
|
|
21
|
-
|
|
22
|
-
"Check my latest Vercel deployment"
|
|
23
|
-
|
|
24
|
-
// Claude's Response:
|
|
25
|
-
✅ **Status**: Success
|
|
26
|
-
🌐 **Live URL**: https://my-app.vercel.app
|
|
27
|
-
⏱️ **Deployment Time**: 45 seconds
|
|
28
|
-
📅 **Last Deployed**: January 15, 2025 at 10:30 UTC
|
|
29
|
-
🌍 **Environment**: Production
|
|
30
|
-
|
|
31
|
-
**Latest Commit**:
|
|
32
|
-
- SHA: `abc123ef`
|
|
33
|
-
- Message: "Update homepage hero section"
|
|
34
|
-
- Author: John Doe
|
|
35
|
-
|
|
36
|
-
Everything looks good - your deployment is live and running successfully!
|
|
22
|
+
User: "Check my latest Vercel deployment"
|
|
37
23
|
```
|
|
38
24
|
|
|
25
|
+
### AI Assistant's Response:
|
|
26
|
+
|
|
27
|
+
> ## Deployment Status
|
|
28
|
+
>
|
|
29
|
+
> ### Current Status
|
|
30
|
+
> **Project:** my-app
|
|
31
|
+
> **Platform:** Vercel
|
|
32
|
+
> **Status:** ✅ Success
|
|
33
|
+
> **URL:** https://my-app.vercel.app
|
|
34
|
+
> **Duration:** 45s
|
|
35
|
+
> **Deployed:** 2 hours ago
|
|
36
|
+
>
|
|
37
|
+
> ### Commit Info
|
|
38
|
+
> **SHA:** `abc123ef`
|
|
39
|
+
> **Message:** Update homepage hero section
|
|
40
|
+
> **Author:** John Doe
|
|
41
|
+
>
|
|
42
|
+
> Everything looks good - your deployment is live and running successfully!
|
|
43
|
+
|
|
39
44
|
**Just ask your AI**: *"What's the status of my latest deployment?"*
|
|
40
45
|
Get instant answers without leaving your conversation.
|
|
41
46
|
|
|
@@ -301,34 +306,98 @@ Render integration is on our roadmap. [Star the repo](https://github.com/alexpot
|
|
|
301
306
|
|
|
302
307
|
## Usage Examples
|
|
303
308
|
|
|
304
|
-
###
|
|
309
|
+
### Quick Examples by Tool
|
|
305
310
|
|
|
306
|
-
|
|
311
|
+
#### 1. Check Deployment Status
|
|
307
312
|
|
|
308
|
-
|
|
309
|
-
|
|
313
|
+
> 💬 **Ask your AI:**
|
|
314
|
+
> - "Check my Vercel deployment"
|
|
315
|
+
> - "Is my website live?"
|
|
316
|
+
> - "Show deployment status for my-app"
|
|
310
317
|
|
|
311
|
-
|
|
318
|
+
#### 2. Watch Deployment (Real-time)
|
|
312
319
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
🌍 **Environment**: Production
|
|
320
|
+
> 💬 **Ask your AI:**
|
|
321
|
+
> - "Watch my deployment"
|
|
322
|
+
> - "Stream my build progress"
|
|
323
|
+
> - "Show me real-time deployment updates"
|
|
318
324
|
|
|
319
|
-
|
|
320
|
-
- SHA: `abc123ef`
|
|
321
|
-
- Message: "Update homepage hero section"
|
|
322
|
-
- Author: John Doe
|
|
325
|
+
Get live updates as your deployment progresses through initialization, building, and completion.
|
|
323
326
|
|
|
324
|
-
|
|
325
|
-
|
|
327
|
+
#### 3. Compare Deployments
|
|
328
|
+
|
|
329
|
+
> 💬 **Ask your AI:**
|
|
330
|
+
> - "Compare my last 2 deployments"
|
|
331
|
+
> - "What changed in my latest deployment?"
|
|
332
|
+
> - "Show build time differences"
|
|
333
|
+
|
|
334
|
+
See performance metrics, risk assessment, and identify what changed between deployments.
|
|
335
|
+
|
|
336
|
+
#### 4. Get Deployment Logs
|
|
337
|
+
|
|
338
|
+
> 💬 **Ask your AI:**
|
|
339
|
+
> - "Show deployment logs"
|
|
340
|
+
> - "Why did my deployment fail?"
|
|
341
|
+
> - "Get error logs for deployment dpl_ABC123"
|
|
342
|
+
|
|
343
|
+
Get intelligent error analysis with suggested fixes and filtered log output.
|
|
344
|
+
|
|
345
|
+
### MCP Server Usage
|
|
346
|
+
|
|
347
|
+
Once configured with your AI assistant, simply ask:
|
|
348
|
+
|
|
349
|
+
#### Example: Check Status
|
|
350
|
+
|
|
351
|
+
**You:** "Check my latest Vercel deployment"
|
|
352
|
+
|
|
353
|
+
**Assistant:**
|
|
354
|
+
> I'll check your latest Vercel deployment for you.
|
|
355
|
+
>
|
|
356
|
+
> ## Deployment Status
|
|
357
|
+
>
|
|
358
|
+
> ### Current Status
|
|
359
|
+
> **Project:** my-app
|
|
360
|
+
> **Platform:** Vercel
|
|
361
|
+
> **Status:** ✅ Success
|
|
362
|
+
> **URL:** https://my-app.vercel.app
|
|
363
|
+
> **Duration:** 45s
|
|
364
|
+
> **Deployed:** 2 hours ago
|
|
365
|
+
>
|
|
366
|
+
> ### Commit Info
|
|
367
|
+
> **SHA:** `abc123ef`
|
|
368
|
+
> **Message:** Update homepage hero section
|
|
369
|
+
> **Author:** John Doe
|
|
370
|
+
>
|
|
371
|
+
> Everything looks good - your deployment is live and running successfully!
|
|
372
|
+
|
|
373
|
+
#### Example: Real-time Monitoring
|
|
374
|
+
|
|
375
|
+
**You:** "Watch my deployment"
|
|
376
|
+
|
|
377
|
+
**Assistant:**
|
|
378
|
+
> ## Deployment Watch
|
|
379
|
+
>
|
|
380
|
+
> ### Real-time Updates
|
|
381
|
+
> 🔄 **Starting to watch deployment for my-app**
|
|
382
|
+
>
|
|
383
|
+
> 🔄 **Deployment state: INITIALIZING**
|
|
384
|
+
>
|
|
385
|
+
> 🔄 **Deployment state: BUILDING**
|
|
386
|
+
> Duration: 15s
|
|
387
|
+
>
|
|
388
|
+
> ✅ **Deployment successful!**
|
|
389
|
+
> URL: https://my-app.vercel.app
|
|
390
|
+
> Duration: 45s
|
|
326
391
|
|
|
327
392
|
**More examples:**
|
|
328
393
|
- `"Is my website deployment finished?"`
|
|
329
394
|
- `"Show me the deployment status for project-xyz"`
|
|
330
395
|
- `"Check if the production deployment succeeded"`
|
|
331
396
|
- `"What's the status of my latest deploy?"`
|
|
397
|
+
- `"Watch my deployment in real-time"` **[NEW]**
|
|
398
|
+
- `"Compare my last 2 deployments"` **[NEW]**
|
|
399
|
+
- `"Show me the deployment logs for the failed build"` **[NEW]**
|
|
400
|
+
- `"What changed between my current and previous deployment?"` **[NEW]**
|
|
332
401
|
|
|
333
402
|
### Badge Usage
|
|
334
403
|
|
|
@@ -350,6 +419,10 @@ Add live deployment status badges to your README:
|
|
|
350
419
|
|
|
351
420
|
|
|
352
421
|
## MCP Tools Reference
|
|
422
|
+
|
|
423
|
+
The MCP server provides four powerful tools for comprehensive deployment tracking:
|
|
424
|
+
|
|
425
|
+
### 1. check_deployment_status
|
|
353
426
|
Retrieve the latest deployment status for a project.
|
|
354
427
|
|
|
355
428
|
<details>
|
|
@@ -363,24 +436,71 @@ Retrieve the latest deployment status for a project.
|
|
|
363
436
|
|
|
364
437
|
</details>
|
|
365
438
|
|
|
439
|
+
### 2. watch_deployment **[NEW]**
|
|
440
|
+
Stream real-time deployment progress with live updates.
|
|
441
|
+
|
|
366
442
|
<details>
|
|
367
|
-
<summary><strong>
|
|
443
|
+
<summary><strong>Parameters</strong></summary>
|
|
368
444
|
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
445
|
+
| Parameter | Type | Required | Description |
|
|
446
|
+
|-----------|------|----------|-------------|
|
|
447
|
+
| `platform` | string | ✓ | Deployment platform (`vercel`, `netlify`, etc.) |
|
|
448
|
+
| `project` | string | ✓ | Project name or ID |
|
|
449
|
+
| `deploymentId` | string | ✗ | Specific deployment ID (latest if not specified) |
|
|
450
|
+
| `token` | string | ✗ | API token (uses env variable if not provided) |
|
|
451
|
+
|
|
452
|
+
</details>
|
|
453
|
+
|
|
454
|
+
### 3. compare_deployments **[NEW]**
|
|
455
|
+
Compare current deployment with previous versions to identify changes and performance differences.
|
|
456
|
+
|
|
457
|
+
<details>
|
|
458
|
+
<summary><strong>Parameters</strong></summary>
|
|
459
|
+
|
|
460
|
+
| Parameter | Type | Required | Description |
|
|
461
|
+
|-----------|------|----------|-------------|
|
|
462
|
+
| `platform` | string | ✓ | Deployment platform (`vercel`, `netlify`, etc.) |
|
|
463
|
+
| `project` | string | ✓ | Project name or ID |
|
|
464
|
+
| `count` | number | ✗ | Number of deployments to compare (default: 2) |
|
|
465
|
+
| `token` | string | ✗ | API token (uses env variable if not provided) |
|
|
466
|
+
|
|
467
|
+
</details>
|
|
468
|
+
|
|
469
|
+
### 4. get_deployment_logs **[NEW]**
|
|
470
|
+
Fetch and analyze deployment logs with intelligent error detection.
|
|
471
|
+
|
|
472
|
+
<details>
|
|
473
|
+
<summary><strong>Parameters</strong></summary>
|
|
474
|
+
|
|
475
|
+
| Parameter | Type | Required | Description |
|
|
476
|
+
|-----------|------|----------|-------------|
|
|
477
|
+
| `platform` | string | ✓ | Deployment platform (`vercel`, `netlify`, etc.) |
|
|
478
|
+
| `deploymentId` | string | ✓ | Deployment ID to fetch logs for |
|
|
479
|
+
| `filter` | string | ✗ | Filter logs: `error`, `warning`, or `all` (default: `error`) |
|
|
480
|
+
| `token` | string | ✗ | API token (uses env variable if not provided) |
|
|
481
|
+
|
|
482
|
+
</details>
|
|
483
|
+
|
|
484
|
+
<details>
|
|
485
|
+
<summary><strong>Response Formats</strong></summary>
|
|
486
|
+
|
|
487
|
+
All tools return clean, Markdown-formatted responses for consistent display across AI tools:
|
|
488
|
+
|
|
489
|
+
```markdown
|
|
490
|
+
## Deployment Status
|
|
491
|
+
|
|
492
|
+
### Current Status
|
|
493
|
+
**Project:** my-app
|
|
494
|
+
**Platform:** Vercel
|
|
495
|
+
**Status:** ✅ Success
|
|
496
|
+
**URL:** https://my-app.vercel.app
|
|
497
|
+
**Duration:** 45s
|
|
498
|
+
**Deployed:** 2 hours ago
|
|
499
|
+
|
|
500
|
+
### Commit Info
|
|
501
|
+
**SHA:** `abc1234`
|
|
502
|
+
**Message:** Fix navigation bug
|
|
503
|
+
**Author:** John Doe
|
|
384
504
|
```
|
|
385
505
|
|
|
386
506
|
</details>
|
|
@@ -436,30 +556,34 @@ npm run dev:worker
|
|
|
436
556
|
```
|
|
437
557
|
deploy-mcp/
|
|
438
558
|
├── src/
|
|
439
|
-
│ ├── index.ts
|
|
440
|
-
│ ├── worker.ts
|
|
441
|
-
│ ├── adapters/
|
|
442
|
-
│ │ ├── base/
|
|
443
|
-
│ │ │ ├── adapter.ts
|
|
444
|
-
│ │ │ ├──
|
|
445
|
-
│ │ │ └── index.ts
|
|
446
|
-
│ │ ├── vercel/
|
|
447
|
-
│ │ │ ├── index.ts
|
|
448
|
-
│ │ │ ├──
|
|
449
|
-
│ │ │ ├──
|
|
450
|
-
│ │ │ └── __tests__/
|
|
451
|
-
│ │ └── index.ts
|
|
559
|
+
│ ├── index.ts # MCP server entry point
|
|
560
|
+
│ ├── worker.ts # Cloudflare Worker for website
|
|
561
|
+
│ ├── adapters/ # Platform adapters
|
|
562
|
+
│ │ ├── base/ # Base adapter framework
|
|
563
|
+
│ │ │ ├── adapter.ts # Abstract base class
|
|
564
|
+
│ │ │ ├── api-client.ts # HTTP client with rate limiting
|
|
565
|
+
│ │ │ └── index.ts # Base exports
|
|
566
|
+
│ │ ├── vercel/ # Vercel platform support
|
|
567
|
+
│ │ │ ├── index.ts # Main adapter class
|
|
568
|
+
│ │ │ ├── api.ts # Vercel API client
|
|
569
|
+
│ │ │ ├── endpoints.ts # API endpoint configs
|
|
570
|
+
│ │ │ └── __tests__/ # Vercel tests
|
|
571
|
+
│ │ └── index.ts # All adapter exports
|
|
452
572
|
│ ├── core/
|
|
453
|
-
│ │ ├── mcp-handler.ts
|
|
454
|
-
│ │
|
|
573
|
+
│ │ ├── mcp-handler.ts # MCP protocol implementation
|
|
574
|
+
│ │ ├── tools.ts # MCP tool definitions (4 tools)
|
|
575
|
+
│ │ ├── deployment-intelligence.ts # Real-time streaming
|
|
576
|
+
│ │ ├── response-formatter.ts # Markdown formatting
|
|
577
|
+
│ │ └── constants.ts # Configuration constants
|
|
455
578
|
│ ├── server/
|
|
456
|
-
│ │
|
|
457
|
-
│ └──
|
|
458
|
-
|
|
459
|
-
├──
|
|
460
|
-
├──
|
|
461
|
-
├──
|
|
462
|
-
|
|
579
|
+
│ │ ├── badge.ts # SVG badge generation
|
|
580
|
+
│ │ └── webhook.ts # Webhook handler
|
|
581
|
+
│ └── types.ts # TypeScript definitions
|
|
582
|
+
├── tests/ # Integration tests
|
|
583
|
+
├── dist/ # Compiled output
|
|
584
|
+
├── wrangler.toml # Cloudflare config
|
|
585
|
+
├── tsconfig.json # TypeScript config
|
|
586
|
+
└── package.json # Project metadata
|
|
463
587
|
```
|
|
464
588
|
|
|
465
589
|
## Security
|
|
@@ -479,47 +603,121 @@ deploy-mcp/
|
|
|
479
603
|
3. **Environment Variables** - Store tokens in environment variables, not in code
|
|
480
604
|
4. **Git Ignore** - Never commit configuration files with tokens
|
|
481
605
|
|
|
482
|
-
## Platform Support
|
|
606
|
+
## Platform Support & Capabilities
|
|
483
607
|
|
|
608
|
+
### Platform Status
|
|
484
609
|
<table>
|
|
485
610
|
<thead>
|
|
486
611
|
<tr>
|
|
487
612
|
<th>Platform</th>
|
|
488
613
|
<th>Status</th>
|
|
489
|
-
<th>
|
|
490
|
-
<th>
|
|
614
|
+
<th>Check Status</th>
|
|
615
|
+
<th>Watch Live</th>
|
|
616
|
+
<th>Compare</th>
|
|
617
|
+
<th>Get Logs</th>
|
|
618
|
+
<th>Badges</th>
|
|
491
619
|
</tr>
|
|
492
620
|
</thead>
|
|
493
621
|
<tbody>
|
|
494
622
|
<tr>
|
|
495
623
|
<td><strong>Vercel</strong></td>
|
|
496
|
-
<td
|
|
497
|
-
<td
|
|
498
|
-
<td
|
|
624
|
+
<td>✅ <strong>Available</strong></td>
|
|
625
|
+
<td>✅</td>
|
|
626
|
+
<td>✅</td>
|
|
627
|
+
<td>✅</td>
|
|
628
|
+
<td>✅</td>
|
|
629
|
+
<td>✅</td>
|
|
499
630
|
</tr>
|
|
500
631
|
<tr>
|
|
501
632
|
<td><strong>Netlify</strong></td>
|
|
502
|
-
<td
|
|
503
|
-
<td
|
|
504
|
-
<td
|
|
633
|
+
<td>🚧 <strong>In Development</strong></td>
|
|
634
|
+
<td>🚧</td>
|
|
635
|
+
<td>🚧</td>
|
|
636
|
+
<td>🚧</td>
|
|
637
|
+
<td>🚧</td>
|
|
638
|
+
<td>🚧</td>
|
|
505
639
|
</tr>
|
|
506
640
|
<tr>
|
|
507
641
|
<td><strong>Railway</strong></td>
|
|
508
|
-
<td
|
|
509
|
-
<td
|
|
510
|
-
<td
|
|
642
|
+
<td>📅 <strong>Planned</strong></td>
|
|
643
|
+
<td>📅</td>
|
|
644
|
+
<td>📅</td>
|
|
645
|
+
<td>📅</td>
|
|
646
|
+
<td>📅</td>
|
|
647
|
+
<td>📅</td>
|
|
511
648
|
</tr>
|
|
512
649
|
<tr>
|
|
513
650
|
<td><strong>Render</strong></td>
|
|
514
|
-
<td
|
|
515
|
-
<td
|
|
516
|
-
<td
|
|
651
|
+
<td>📅 <strong>Planned</strong></td>
|
|
652
|
+
<td>📅</td>
|
|
653
|
+
<td>📅</td>
|
|
654
|
+
<td>📅</td>
|
|
655
|
+
<td>📅</td>
|
|
656
|
+
<td>📅</td>
|
|
517
657
|
</tr>
|
|
518
658
|
</tbody>
|
|
519
659
|
</table>
|
|
520
660
|
|
|
661
|
+
**Legend:** ✅ Available | 🚧 In Development | 📅 Planned
|
|
662
|
+
|
|
521
663
|
Want support for another platform? [Open an issue](https://github.com/alexpota/deploy-mcp/issues/new) or submit a PR\!
|
|
522
664
|
|
|
665
|
+
## Troubleshooting
|
|
666
|
+
|
|
667
|
+
### Common Issues & Solutions
|
|
668
|
+
|
|
669
|
+
<details>
|
|
670
|
+
<summary><strong>Tool not showing up in Claude</strong></summary>
|
|
671
|
+
|
|
672
|
+
1. **Restart Claude Desktop** after updating configuration
|
|
673
|
+
2. **Check configuration file syntax** - Ensure valid JSON
|
|
674
|
+
3. **Verify file path** - Check correct config location for your OS
|
|
675
|
+
4. **Check logs** - Look for MCP errors in Claude's developer console
|
|
676
|
+
|
|
677
|
+
</details>
|
|
678
|
+
|
|
679
|
+
<details>
|
|
680
|
+
<summary><strong>Authentication errors</strong></summary>
|
|
681
|
+
|
|
682
|
+
1. **Invalid token** - Verify your API token is correct and active
|
|
683
|
+
2. **Token permissions** - Ensure token has read access to deployments
|
|
684
|
+
3. **Environment variable** - Check `VERCEL_TOKEN` is set correctly
|
|
685
|
+
4. **Token format** - Don't include quotes around token in env variable
|
|
686
|
+
|
|
687
|
+
</details>
|
|
688
|
+
|
|
689
|
+
<details>
|
|
690
|
+
<summary><strong>Rate limiting</strong></summary>
|
|
691
|
+
|
|
692
|
+
The MCP server automatically handles rate limiting:
|
|
693
|
+
- **Per-token limits** - 30 requests per minute per token
|
|
694
|
+
- **Automatic retry** - With exponential backoff
|
|
695
|
+
- **Smart polling** - Dynamic intervals based on deployment state
|
|
696
|
+
|
|
697
|
+
If you still hit limits, consider using a different token for heavy usage.
|
|
698
|
+
|
|
699
|
+
</details>
|
|
700
|
+
|
|
701
|
+
<details>
|
|
702
|
+
<summary><strong>Deployment not found</strong></summary>
|
|
703
|
+
|
|
704
|
+
1. **Project name** - Verify exact project name (case-sensitive)
|
|
705
|
+
2. **Team scope** - For team projects, may need team-scoped token
|
|
706
|
+
3. **Deployment exists** - Check if deployment is visible in dashboard
|
|
707
|
+
4. **Platform** - Ensure you're using correct platform parameter
|
|
708
|
+
|
|
709
|
+
</details>
|
|
710
|
+
|
|
711
|
+
<details>
|
|
712
|
+
<summary><strong>Real-time features not working</strong></summary>
|
|
713
|
+
|
|
714
|
+
The new streaming features (watch, compare, logs) require:
|
|
715
|
+
1. **Latest version** - Update to latest `deploy-mcp` version
|
|
716
|
+
2. **API access** - Some features need Pro/Enterprise Vercel plan
|
|
717
|
+
3. **Active deployment** - Watch only works during active deployments
|
|
718
|
+
|
|
719
|
+
</details>
|
|
720
|
+
|
|
523
721
|
## Contributing
|
|
524
722
|
|
|
525
723
|
We love contributions\! Whether it's a bug fix, new feature, or platform support, we'd love to have you.
|