deploy-mcp 0.3.0 → 0.5.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 CHANGED
@@ -16,6 +16,7 @@ No more context-switching. No more dashboard hunting.
16
16
  ---
17
17
 
18
18
  ## Demo
19
+ ─────────────────────────
19
20
 
20
21
  ### Your conversation:
21
22
  ```
@@ -44,49 +45,8 @@ User: "Check my latest Vercel deployment"
44
45
  **Just ask your AI**: *"What's the status of my latest deployment?"*
45
46
  Get instant answers without leaving your conversation.
46
47
 
47
- ## Features
48
-
49
- <table>
50
- <tr>
51
- <td width="50%">
52
-
53
- **Universal AI Support**
54
- Built for the Model Context Protocol. Works seamlessly with Claude Desktop, VS Code, Cursor, Windsurf, Continue.dev, Cline, and any MCP-compatible AI assistant.
55
-
56
- **Secure & Private**
57
- Your API tokens stay local on your machine. Never sent to third parties or logged anywhere.
58
-
59
- **Lightning Fast**
60
- Get deployment status in under 2 seconds. Optimized for developer productivity.
61
-
62
- </td>
63
- <td width="50%">
64
-
65
- **Zero Context Switching**
66
- Check deployment status without leaving your AI conversation.
67
-
68
- **Universal Platform Support**
69
- Currently supports Vercel, with Netlify, Railway, and Render coming soon.
70
-
71
- **Real-time Status**
72
- Get instant deployment status through AI conversation.
73
-
74
- **Open Source**
75
- Fully transparent, community-driven development.
76
-
77
- </td>
78
- </tr>
79
- </table>
80
-
81
- ## Why deploy-mcp?
82
-
83
- **The Problem**: Developers context-switch 10-20 times per day to check deployment status, losing 23 minutes of focus each time.
84
-
85
- **The Solution**: deploy-mcp brings deployment status directly into your AI conversation. No more alt-tabbing, no more dashboard hunting, no more broken flow state.
86
-
87
- Built for the modern developer who uses AI assistants as part of their daily workflow.
88
-
89
48
  ## Quick Start
49
+ ─────────────────────────
90
50
 
91
51
  **Get started in under 30 seconds:**
92
52
 
@@ -96,94 +56,121 @@ npx deploy-mcp
96
56
 
97
57
  That's it! The server is now running and ready to be configured in your AI assistant.
98
58
 
99
- ## Configuration
100
-
101
- ### AI Assistants
59
+ ## Supported Platforms
60
+ ─────────────────────────
102
61
 
103
- <details>
104
- <summary><strong>Claude Desktop</strong> ✅</summary>
62
+ deploy-mcp supports multiple deployment platforms simultaneously. Configure as many as you need:
105
63
 
106
- **Official MCP support** - Ready to use today
64
+ | Platform | Status | Token Required | Features |
65
+ |----------|--------|---------------|----------|
66
+ | **Vercel** | ✅ Ready | `VERCEL_TOKEN` | Status, Logs, History, Real-time Monitoring |
67
+ | **Netlify** | ✅ Ready | `NETLIFY_TOKEN` | Status, Logs, History, Real-time Monitoring |
68
+ | **Railway** | Coming Soon | `RAILWAY_TOKEN` | - |
69
+ | **Render** | Coming Soon | `RENDER_TOKEN` | - |
107
70
 
108
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
109
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
110
- **Linux**: `~/.config/Claude/claude_desktop_config.json`
71
+ ### Multi-Platform Configuration
111
72
 
112
- </details>
73
+ You can use **multiple platforms simultaneously** by providing tokens for each platform you want to track:
113
74
 
114
- <details>
115
- <summary><strong>VS Code</strong> ✅</summary>
116
-
117
- **Official MCP support** - Generally available in VS Code 1.102+
75
+ ```json
76
+ {
77
+ "mcpServers": {
78
+ "deploy-mcp": {
79
+ "command": "npx",
80
+ "args": ["-y", "deploy-mcp"],
81
+ "env": {
82
+ "VERCEL_TOKEN": "your-vercel-token",
83
+ "NETLIFY_TOKEN": "your-netlify-token"
84
+ // Add more platform tokens as needed
85
+ }
86
+ }
87
+ }
88
+ }
89
+ ```
118
90
 
119
- Add to workspace `.vscode/mcp.json` or global `~/.vscode/mcp.json`
91
+ ## Platform Configuration
92
+ ─────────────────────────
120
93
 
121
- Requires GitHub Copilot subscription and MCP policy enabled by organization.
122
- </details>
94
+ ### Vercel
123
95
 
124
96
  <details>
125
- <summary><strong>Cursor AI</strong> ✅</summary>
97
+ <summary><strong>Setup Instructions</strong></summary>
98
+
99
+ 1. **Get your API token:**
100
+ - Go to [vercel.com/account/tokens](https://vercel.com/account/tokens)
101
+ - Click "Create Token"
102
+ - Give it a descriptive name (e.g., "deploy-mcp")
103
+ - Copy the token
104
+
105
+ 2. **Add to your AI assistant configuration:**
106
+ ```json
107
+ {
108
+ "env": {
109
+ "VERCEL_TOKEN": "your-vercel-token"
110
+ }
111
+ }
112
+ ```
126
113
 
127
- **Official MCP support** - Available with one-click installation
114
+ 3. **Available commands:**
115
+ - `"Check my Vercel deployment for project-name"`
116
+ - `"What's the status of my latest Vercel deployment?"`
117
+ - `"Show me Vercel deployment logs"`
118
+ - `"Watch my Vercel deployment progress"`
119
+ - `"List all my Vercel projects"`
120
+ - `"Show last 5 deployments for project-name"`
128
121
 
129
- Navigate to Cursor Settings MCP or create `~/.cursor/mcp.json`
122
+ 4. **Required permissions:** Read access to deployments and projects
130
123
 
131
124
  </details>
132
125
 
133
- <details>
134
- <summary><strong>Windsurf IDE</strong> ✅</summary>
135
-
136
- **Official MCP support** - Native integration with Cascade
137
-
138
- Navigate to Windsurf Settings → Advanced Settings → Cascade or edit `~/.codeium/windsurf/mcp_config.json`
139
-
140
- </details>
126
+ ### Netlify
141
127
 
142
128
  <details>
143
- <summary><strong>Continue.dev</strong> ✅</summary>
129
+ <summary><strong>Setup Instructions</strong></summary>
130
+
131
+ 1. **Get your API token:**
132
+ - Go to [app.netlify.com/user/applications](https://app.netlify.com/user/applications)
133
+ - Under "Personal access tokens", click "New access token"
134
+ - Give it a descriptive name (e.g., "deploy-mcp")
135
+ - Copy the token
136
+
137
+ 2. **Add to your AI assistant configuration:**
138
+ ```json
139
+ {
140
+ "env": {
141
+ "NETLIFY_TOKEN": "your-netlify-token"
142
+ }
143
+ }
144
+ ```
144
145
 
145
- **Official MCP support** - Available in agent mode
146
+ 3. **Available commands:**
147
+ - `"Check my Netlify deployment for site-name"`
148
+ - `"What's the status of my latest Netlify deployment?"`
149
+ - `"Show me Netlify deployment logs"`
150
+ - `"Watch my Netlify deployment progress"`
151
+ - `"List all my Netlify sites"`
152
+ - `"Show deployment history for site-name"`
146
153
 
147
- Add to your `config.json` with different structure:
154
+ 4. **Required permissions:** Read access to sites and deploys
148
155
 
149
- ```json
150
- {
151
- "experimental": {
152
- "modelContextProtocolServer": {
153
- "transport": {
154
- "type": "stdio",
155
- "command": "npx",
156
- "args": ["-y", "deploy-mcp"]
157
- },
158
- "env": {
159
- "VERCEL_TOKEN": "your-vercel-token"
160
- }
161
- }
162
- }
163
- }
164
- ```
165
-
166
- Or create `.continue/mcpServers/` folder in your workspace.
167
156
  </details>
168
157
 
169
- <details>
170
- <summary><strong>Cline (VS Code)</strong> ✅</summary>
171
-
172
- **Official MCP support** - Can create and install tools automatically
173
-
174
- Cline can install deploy-mcp through natural language:
175
- - Ask: *"Add the deploy-mcp tool to check Vercel deployments"*
176
- - Or manually configure via MCP Servers icon → Advanced MCP Settings
158
+ ## AI Assistant Configuration
159
+ ─────────────────────────
177
160
 
178
- </details>
161
+ deploy-mcp works with any MCP-compatible AI assistant. Here's how to set it up:
179
162
 
180
- **+ Any MCP-compatible tool**
181
- Works with all AI assistants that support [Model Context Protocol](https://modelcontextprotocol.io)
163
+ ### Claude Desktop
182
164
 
183
- ### MCP Configuration
165
+ <details>
166
+ <summary><strong>Configuration</strong></summary>
184
167
 
185
- All AI tools (except Continue.dev) use the same configuration:
168
+ **File location:**
169
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
170
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
171
+ - **Linux**: `~/.config/Claude/claude_desktop_config.json`
186
172
 
173
+ **Configuration:**
187
174
  ```json
188
175
  {
189
176
  "mcpServers": {
@@ -191,592 +178,270 @@ All AI tools (except Continue.dev) use the same configuration:
191
178
  "command": "npx",
192
179
  "args": ["-y", "deploy-mcp"],
193
180
  "env": {
194
- "VERCEL_TOKEN": "your-vercel-token"
181
+ "VERCEL_TOKEN": "your-vercel-token",
182
+ "NETLIFY_TOKEN": "your-netlify-token"
195
183
  }
196
184
  }
197
185
  }
198
186
  }
199
187
  ```
200
188
 
201
- 💡 Replace `your-vercel-token` with your actual Vercel API token from [vercel.com/account/tokens](https://vercel.com/account/tokens)
202
-
203
- ## Deployment Status Badges
204
-
205
- Get live deployment status badges for your repositories that update in real-time via webhooks.
206
-
207
- ### Badge URLs
208
-
209
- Add these badges to your README to show live deployment status:
210
-
211
- ```markdown
212
- ![Vercel Deployment](https://deploy-mcp.io/badge/username/repository/vercel)
213
- ```
214
-
215
- **Examples:**
216
- - `https://deploy-mcp.io/badge/john/my-app/vercel`
217
- - `https://deploy-mcp.io/badge/youruser/yourrepo/vercel`
218
-
219
- **⚠️ Requirements:**
220
- - **Public repositories only** - Private repos not supported for security reasons
221
- - **Vercel Pro/Enterprise plan** - Webhooks required for real-time badge updates
222
-
223
- **For free tier users:** The MCP server works perfectly for checking deployment status in your AI conversations. Badges are a premium feature requiring paid Vercel plans.
224
-
225
- ### Setting Up Webhooks
226
-
227
- For badges to show real-time status, configure webhooks in your deployment platform:
228
-
229
- #### Vercel Setup
230
-
231
- **Note:** Vercel webhooks require a Pro or Enterprise plan.
232
-
233
- 1. **Go to your Vercel team settings**
234
- 2. **Navigate to "Webhooks" section**
235
- 3. **Click "Create Webhook"**
236
- 4. **Configure the webhook:**
237
- - **URL**: `https://deploy-mcp.io/webhook/yourusername/yourrepo/vercel`
238
- - **Events**: Select "Deployment Created", "Deployment Ready", and "Deployment Error"
239
- - **Projects**: Choose your specific project or leave empty for all projects
240
- - **Secret**: Leave empty (not required for public repositories)
241
- 5. **Save the webhook**
242
-
243
- **Important:** Replace `yourusername` and `yourrepo` with your actual GitHub username and repository name.
244
-
245
- **Note:** Vercel's free tier doesn't support webhooks, so badges won't work. Use the MCP server instead for deployment status in your AI conversations.
246
-
247
- #### Supported Events
248
-
249
- The webhook will trigger on:
250
- - ✅ Deployment started (badge shows "building")
251
- - ✅ Deployment succeeded (badge shows "success")
252
- - ❌ Deployment failed (badge shows "failed")
253
- - ⚠️ Deployment errored (badge shows "error")
254
-
255
- #### Badge Status Colors
256
-
257
- - 🟢 **Success** - Green badge when deployment is live
258
- - 🔴 **Failed** - Red badge when deployment failed
259
- - 🟡 **Building** - Yellow badge during deployment
260
- - ⚫ **Unknown** - Grey badge when no status available
261
- - 🔴 **Error** - Red badge when deployment errored
262
-
263
- ### Testing Your Setup
264
-
265
- 1. **Add the badge** to your repository README
266
- 2. **Configure the webhook** as described above
267
- 3. **Make a commit** and push to trigger a deployment
268
- 4. **Watch the badge** update in real-time during deployment
269
-
270
- **Initial badge status will show "unknown" until the first webhook is received.**
271
-
189
+ </details>
272
190
 
273
- ### Getting API Tokens
191
+ ### VS Code
274
192
 
275
193
  <details>
276
- <summary><strong>Vercel</strong></summary>
194
+ <summary><strong>Configuration</strong></summary>
277
195
 
278
- 1. Go to [Vercel Dashboard](https://vercel.com/account/tokens)
279
- 2. Click **"Create Token"**
280
- 3. Give it a descriptive name (e.g., "deploy-mcp")
281
- 4. Select appropriate scope (read-only is sufficient)
282
- 5. Copy the token and add it to your configuration
196
+ **File location:**
197
+ - Workspace: `.vscode/mcp.json`
198
+ - Global: `~/.vscode/mcp.json`
283
199
 
284
- </details>
200
+ **Requirements:** GitHub Copilot subscription with MCP enabled
285
201
 
286
- <details>
287
- <summary><strong>Netlify</strong> (Coming Soon)</summary>
202
+ **Configuration:** Same as Claude Desktop
288
203
 
289
- 1. Go to [Netlify User Settings](https://app.netlify.com/user/applications#personal-access-tokens)
290
- 2. Click **"New access token"**
291
- 3. Give it a descriptive name
292
- 4. Copy the token
293
204
  </details>
294
205
 
295
- <details>
296
- <summary><strong>Railway</strong> (Coming Soon)</summary>
297
-
298
- Railway integration is on our roadmap. [Star the repo](https://github.com/alexpota/deploy-mcp) to get notified!
299
- </details>
206
+ ### Cursor AI
300
207
 
301
208
  <details>
302
- <summary><strong>Render</strong> (Coming Soon)</summary>
209
+ <summary><strong>Configuration</strong></summary>
303
210
 
304
- Render integration is on our roadmap. [Star the repo](https://github.com/alexpota/deploy-mcp) to get notified!
305
- </details>
211
+ **File location:** `~/.cursor/mcp.json`
306
212
 
307
- ## Usage Examples
213
+ **Setup:** Navigate to Cursor Settings → MCP
308
214
 
309
- ### Quick Examples by Tool
215
+ **Configuration:** Same as Claude Desktop
310
216
 
311
- #### 1. Check Deployment Status
217
+ </details>
312
218
 
313
- > 💬 **Ask your AI:**
314
- > - "Check my Vercel deployment"
315
- > - "Is my website live?"
316
- > - "Show deployment status for my-app"
219
+ ### Windsurf IDE
317
220
 
318
- #### 2. Watch Deployment (Real-time)
221
+ <details>
222
+ <summary><strong>Configuration</strong></summary>
319
223
 
320
- > 💬 **Ask your AI:**
321
- > - "Watch my deployment"
322
- > - "Stream my build progress"
323
- > - "Show me real-time deployment updates"
224
+ **File location:** `~/.codeium/windsurf/mcp_config.json`
324
225
 
325
- Get live updates as your deployment progresses through initialization, building, and completion.
226
+ **Setup:** Settings Advanced Settings Cascade
326
227
 
327
- #### 3. Compare Deployments
228
+ **Configuration:** Same as Claude Desktop
328
229
 
329
- > 💬 **Ask your AI:**
330
- > - "Compare my last 2 deployments"
331
- > - "What changed in my latest deployment?"
332
- > - "Show build time differences"
230
+ </details>
333
231
 
334
- See performance metrics, risk assessment, and identify what changed between deployments.
232
+ ### Continue.dev
335
233
 
336
- #### 4. Get Deployment Logs
234
+ <details>
235
+ <summary><strong>Configuration</strong></summary>
337
236
 
338
- > 💬 **Ask your AI:**
339
- > - "Show deployment logs"
340
- > - "Why did my deployment fail?"
341
- > - "Get error logs for deployment dpl_ABC123"
237
+ **File location:** `~/.continue/config.json`
342
238
 
343
- Get intelligent error analysis with suggested fixes and filtered log output.
239
+ **Configuration (different structure):**
240
+ ```json
241
+ {
242
+ "experimental": {
243
+ "modelContextProtocolServer": {
244
+ "transport": {
245
+ "type": "stdio",
246
+ "command": "npx",
247
+ "args": ["-y", "deploy-mcp"]
248
+ },
249
+ "env": {
250
+ "VERCEL_TOKEN": "your-vercel-token",
251
+ "NETLIFY_TOKEN": "your-netlify-token"
252
+ }
253
+ }
254
+ }
255
+ }
256
+ ```
344
257
 
345
- ### MCP Server Usage
258
+ </details>
346
259
 
347
- Once configured with your AI assistant, simply ask:
260
+ ### Cline (VS Code Extension)
348
261
 
349
- #### Example: Check Status
262
+ <details>
263
+ <summary><strong>Configuration</strong></summary>
350
264
 
351
- **You:** "Check my latest Vercel deployment"
265
+ **Natural language setup:**
266
+ - Ask: *"Add the deploy-mcp tool to check deployments"*
352
267
 
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!
268
+ **Manual setup:**
269
+ - MCP Servers icon Advanced MCP Settings
372
270
 
373
- #### Example: Real-time Monitoring
271
+ **Configuration:** Same as Claude Desktop
374
272
 
375
- **You:** "Watch my deployment"
273
+ </details>
376
274
 
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
275
+ ## Deployment Status Badges
276
+ ─────────────────────────
391
277
 
392
- **More examples:**
393
- - `"Is my website deployment finished?"`
394
- - `"Show me the deployment status for project-xyz"`
395
- - `"Check if the production deployment succeeded"`
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]**
278
+ Get live deployment status badges for your repositories:
401
279
 
402
- ### Badge Usage
280
+ ### Badge Format
403
281
 
404
- Add live deployment status badges to your README:
282
+ The deploy-mcp.io endpoint returns JSON data for shields.io. Use the shields.io endpoint wrapper:
405
283
 
406
284
  ```markdown
407
- # My Project
285
+ ![Platform Deployment](https://img.shields.io/endpoint?url=https://deploy-mcp.io/badge/{username}/{repository}/{platform})
286
+ ```
408
287
 
409
- ![Vercel](https://deploy-mcp.io/badge/yourusername/yourrepo/vercel)
288
+ ### Examples by Platform
410
289
 
411
- <!-- Other content -->
290
+ #### Vercel Badge
291
+ ```markdown
292
+ ![Vercel](https://img.shields.io/endpoint?url=https://deploy-mcp.io/badge/john/my-app/vercel)
412
293
  ```
413
294
 
414
- **Multiple platforms:**
295
+ #### Netlify Badge
415
296
  ```markdown
416
- [![Vercel](https://deploy-mcp.io/badge/user/repo/vercel)](https://deploy-mcp.io)
417
- [![Netlify](https://deploy-mcp.io/badge/user/repo/netlify)](https://deploy-mcp.io)
297
+ ![Netlify](https://img.shields.io/endpoint?url=https://deploy-mcp.io/badge/john/my-app/netlify)
418
298
  ```
419
299
 
300
+ #### Multiple Badges
301
+ ```markdown
302
+ ![Vercel](https://img.shields.io/endpoint?url=https://deploy-mcp.io/badge/john/my-app/vercel)
303
+ ![Netlify](https://img.shields.io/endpoint?url=https://deploy-mcp.io/badge/john/my-app/netlify)
304
+ ```
420
305
 
421
- ## MCP Tools Reference
422
-
423
- The MCP server provides four powerful tools for comprehensive deployment tracking:
306
+ ### Webhook Configuration
424
307
 
425
- ### 1. check_deployment_status
426
- Retrieve the latest deployment status for a project.
308
+ For real-time badge updates, configure webhooks:
427
309
 
428
310
  <details>
429
- <summary><strong>Parameters</strong></summary>
311
+ <summary><strong>Vercel Webhooks</strong> (Pro/Enterprise only)</summary>
430
312
 
431
- | Parameter | Type | Required | Description |
432
- |-----------|------|----------|-------------|
433
- | `platform` | string | ✓ | Deployment platform (`vercel`, `netlify`, etc.) |
434
- | `project` | string | ✓ | Project name or ID |
435
- | `token` | string | ✗ | API token (uses env variable if not provided) |
313
+ 1. Go to your Vercel team settings
314
+ 2. Navigate to "Webhooks" section
315
+ 3. Click "Create Webhook"
316
+ 4. Configure:
317
+ - **URL**: `https://deploy-mcp.io/webhook/{username}/{repo}/vercel`
318
+ - **Events**: Deployment Created, Ready, Error
319
+ - **Projects**: Select specific or all
436
320
 
437
321
  </details>
438
322
 
439
- ### 2. watch_deployment **[NEW]**
440
- Stream real-time deployment progress with live updates.
441
-
442
323
  <details>
443
- <summary><strong>Parameters</strong></summary>
324
+ <summary><strong>Netlify Webhooks</strong></summary>
444
325
 
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) |
326
+ 1. Go to Site Settings Build & deploy → Deploy notifications
327
+ 2. Add notification → Outgoing webhook
328
+ 3. Configure:
329
+ - **URL**: `https://deploy-mcp.io/webhook/{username}/{repo}/netlify`
330
+ - **Events**: Deploy started, succeeded, failed
451
331
 
452
332
  </details>
453
333
 
454
- ### 3. compare_deployments **[NEW]**
455
- Compare current deployment with previous versions to identify changes and performance differences.
334
+ **Note:** Badges require public repositories. Private repo support coming soon.
456
335
 
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) |
336
+ ## Available Tools
337
+ ─────────────────────────
466
338
 
467
- </details>
339
+ deploy-mcp provides these tools to your AI assistant:
468
340
 
469
- ### 4. get_deployment_logs **[NEW]**
470
- Fetch and analyze deployment logs with intelligent error detection.
341
+ ### Core Tools
471
342
 
472
- <details>
473
- <summary><strong>Parameters</strong></summary>
343
+ | Tool | Description | Example Command |
344
+ |------|-------------|-----------------|
345
+ | `check_deployment_status` | Get latest deployment status or history | *"Check my deployment status"* / *"Show last 5 deployments"* |
346
+ | `watch_deployment` | Monitor deployment in real-time | *"Watch my deployment progress"* |
347
+ | `compare_deployments` | Compare recent deployments | *"Compare my last 2 deployments"* |
348
+ | `get_deployment_logs` | Fetch deployment logs | *"Show me deployment logs"* |
349
+ | `list_projects` | List all available projects | *"List my Vercel projects"* / *"Show all Netlify sites"* |
474
350
 
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) |
351
+ ### Platform-Specific Usage
481
352
 
482
- </details>
483
-
484
- <details>
485
- <summary><strong>Response Formats</strong></summary>
353
+ Commands work across all configured platforms:
486
354
 
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
504
355
  ```
505
-
506
- </details>
507
-
508
- ## Development
509
-
510
- For contributors who want to help develop deploy-mcp.
511
-
512
- ### Prerequisites
513
-
514
- - Node.js 22 or higher
515
- - npm, yarn, or pnpm
516
-
517
- ### Local Development
518
-
519
- ```bash
520
- # Clone the repository
521
- git clone https://github.com/alexpota/deploy-mcp.git
522
- cd deploy-mcp
523
-
524
- # Install dependencies
525
- npm install
526
-
527
- # Run in development mode
528
- npm run dev
356
+ "Check my Vercel deployment for my-app"
357
+ "Show last 10 deployments for my-app on Vercel"
358
+ "List all my Vercel projects"
359
+ "Check my Netlify deployment for my-site"
360
+ "Show me logs for deployment abc123 on Vercel"
361
+ "Watch my Netlify deployment progress"
362
+ "Show all my Netlify sites"
529
363
  ```
530
364
 
531
- ### Testing
365
+ ### New Features
532
366
 
533
- ```bash
534
- # Run tests
535
- npm test
536
-
537
- # Type checking
538
- npm run lint
367
+ #### List Projects
368
+ Discover all your projects/sites across platforms:
539
369
  ```
540
-
541
- ### Building & Deployment
542
-
543
- ```bash
544
- # Build TypeScript
545
- npm run build
546
-
547
- # Deploy worker to Cloudflare
548
- npm run deploy
549
-
550
- # Development worker server
551
- npm run dev:worker
370
+ "List my Vercel projects"
371
+ "Show all Netlify sites"
372
+ "What projects do I have on Vercel?"
552
373
  ```
553
374
 
554
- ## Project Structure
555
-
375
+ #### Deployment History
376
+ View multiple recent deployments at once:
556
377
  ```
557
- deploy-mcp/
558
- ├── src/
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
572
- │ ├── core/
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
578
- │ ├── server/
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
378
+ "Show last 5 deployments for my-app"
379
+ "Get deployment history for my-site"
380
+ "Check last 10 deployments on Vercel"
587
381
  ```
588
382
 
589
- ## Security
590
-
591
- ### Our Security Commitments
592
-
593
- - **Local-Only Tokens** - Your API tokens never leave your machine
594
- - **No Data Collection** - We don't track, log, or store any user data
595
- - **Direct API Calls** - All platform APIs are called directly from your local MCP server
596
- - **Open Source** - Full transparency with auditable code
597
- - **Badge Service** - Coming in v0.2.0 with webhook-based live deployment badges
598
-
599
- ### Best Practices
600
-
601
- 1. **Use Read-Only Tokens** - When possible, create tokens with minimal permissions
602
- 2. **Rotate Tokens Regularly** - Update your tokens periodically
603
- 3. **Environment Variables** - Store tokens in environment variables, not in code
604
- 4. **Git Ignore** - Never commit configuration files with tokens
605
-
606
- ## Platform Support & Capabilities
607
-
608
- ### Platform Status
609
- <table>
610
- <thead>
611
- <tr>
612
- <th>Platform</th>
613
- <th>Status</th>
614
- <th>Check Status</th>
615
- <th>Watch Live</th>
616
- <th>Compare</th>
617
- <th>Get Logs</th>
618
- <th>Badges</th>
619
- </tr>
620
- </thead>
621
- <tbody>
622
- <tr>
623
- <td><strong>Vercel</strong></td>
624
- <td>✅ <strong>Available</strong></td>
625
- <td>✅</td>
626
- <td>✅</td>
627
- <td>✅</td>
628
- <td>✅</td>
629
- <td>✅</td>
630
- </tr>
631
- <tr>
632
- <td><strong>Netlify</strong></td>
633
- <td>🚧 <strong>In Development</strong></td>
634
- <td>🚧</td>
635
- <td>🚧</td>
636
- <td>🚧</td>
637
- <td>🚧</td>
638
- <td>🚧</td>
639
- </tr>
640
- <tr>
641
- <td><strong>Railway</strong></td>
642
- <td>📅 <strong>Planned</strong></td>
643
- <td>📅</td>
644
- <td>📅</td>
645
- <td>📅</td>
646
- <td>📅</td>
647
- <td>📅</td>
648
- </tr>
649
- <tr>
650
- <td><strong>Render</strong></td>
651
- <td>📅 <strong>Planned</strong></td>
652
- <td>📅</td>
653
- <td>📅</td>
654
- <td>📅</td>
655
- <td>📅</td>
656
- <td>📅</td>
657
- </tr>
658
- </tbody>
659
- </table>
660
-
661
- **Legend:** ✅ Available | 🚧 In Development | 📅 Planned
662
-
663
- Want support for another platform? [Open an issue](https://github.com/alexpota/deploy-mcp/issues/new) or submit a PR\!
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>
383
+ The AI will automatically use the correct platform based on:
384
+ 1. Explicit platform mention in your command
385
+ 2. Project/site name matching
386
+ 3. Available tokens in configuration
688
387
 
689
- <details>
690
- <summary><strong>Rate limiting</strong></summary>
388
+ ## Security
389
+ ─────────────────────────
691
390
 
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
391
+ - **Local tokens only** - Your API tokens stay on your machine
392
+ - **No telemetry** - We don't track usage or collect data
393
+ - **Open source** - Fully auditable codebase
394
+ - **Minimal permissions** - Only read access required
696
395
 
697
- If you still hit limits, consider using a different token for heavy usage.
396
+ ## Advanced Configuration
397
+ ─────────────────────────
698
398
 
699
- </details>
399
+ ### Environment Variables
700
400
 
701
- <details>
702
- <summary><strong>Deployment not found</strong></summary>
401
+ You can also set tokens via environment variables:
703
402
 
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>
403
+ ```bash
404
+ export VERCEL_TOKEN="your-vercel-token"
405
+ export NETLIFY_TOKEN="your-netlify-token"
406
+ npx deploy-mcp
407
+ ```
710
408
 
711
- <details>
712
- <summary><strong>Real-time features not working</strong></summary>
409
+ ### Custom Installation
713
410
 
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
411
+ For production use, install globally:
718
412
 
719
- </details>
413
+ ```bash
414
+ npm install -g deploy-mcp
415
+ deploy-mcp
416
+ ```
720
417
 
721
418
  ## Contributing
419
+ ─────────────────────────
722
420
 
723
- We love contributions\! Whether it's a bug fix, new feature, or platform support, we'd love to have you.
421
+ We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
724
422
 
725
- ### Quick Start
423
+ ### Adding New Platforms
726
424
 
727
- 1. Fork the repository
728
- 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
729
- 3. Commit your changes (`git commit -m 'Add amazing feature'`)
730
- 4. Push to the branch (`git push origin feature/amazing-feature`)
731
- 5. Open a Pull Request
732
-
733
- ### Adding Platform Support
734
-
735
- Want to add support for a new platform? Here's how:
736
-
737
- 1. **Create an adapter folder** in `src/adapters/your-platform/`
738
- 2. **Implement the interface**:
739
- ```typescript
740
- export class YourPlatformAdapter extends BaseAdapter {
741
- async getDeploymentStatus(project: string, token: string) {
742
- // Your implementation
743
- }
744
- }
745
- ```
746
- 3. **Add tests** in `src/adapters/your-platform/__tests__/`
747
- 4. **Update docs** with setup instructions
748
- 5. **Submit a PR** and we'll review it\!
749
-
750
- See our [Contributing Guide](CONTRIBUTING.md) for more details.
425
+ 1. Implement the `BaseAdapter` interface
426
+ 2. Add platform-specific API client
427
+ 3. Update configuration documentation
428
+ 4. Add tests
751
429
 
752
430
  ## License
431
+ ─────────────────────────
753
432
 
754
- This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
433
+ Apache 2.0 - See [LICENSE](LICENSE) for details.
755
434
 
756
- ## Acknowledgments
435
+ ## Links
436
+ ─────────────────────────
757
437
 
758
- - Built with [Model Context Protocol SDK](https://github.com/modelcontextprotocol/sdk) by Anthropic
759
- - Hosted on [Cloudflare Workers](https://workers.cloudflare.com) for global edge performance
760
- - Icons from [Feather Icons](https://feathericons.com) and [Heroicons](https://heroicons.com)
761
-
762
- ## Community & Support
763
-
764
- <div align="center">
765
- <a href="https://github.com/alexpota/deploy-mcp/discussions">
766
- <img src="https://img.shields.io/badge/GitHub-Discussions-181717?style=for-the-badge&logo=github" alt="GitHub Discussions" />
767
- </a>
768
- <a href="https://github.com/alexpota/deploy-mcp/issues">
769
- <img src="https://img.shields.io/badge/Report-Issues-ff6b6b?style=for-the-badge&logo=github" alt="Report Issues" />
770
- </a>
771
- <a href="mailto:alex.potapenko.dev@gmail.com">
772
- <img src="https://img.shields.io/badge/Email-alex.potapenko.dev@gmail.com-ff6b6b?style=for-the-badge&logo=gmail" alt="Email" />
773
- </a>
774
- </div>
438
+ - [Website](https://deploy-mcp.io)
439
+ - [npm Package](https://www.npmjs.com/package/deploy-mcp)
440
+ - [GitHub Repository](https://github.com/alexpota/deploy-mcp)
441
+ - [Report Issues](https://github.com/alexpota/deploy-mcp/issues)
775
442
 
776
443
  ---
777
444
 
778
445
  <div align="center">
779
- <p>Made with ❤️ by <a href="https://github.com/alexpota">Alex Potapenko</a> and contributors</p>
780
- <p><a href="https://deploy-mcp.io">deploy-mcp.io</a> • <a href="https://github.com/alexpota/deploy-mcp">GitHub</a> • <a href="https://www.npmjs.com/package/deploy-mcp">NPM</a></p>
781
- </div>
782
-
446
+ Made with ❤️ for developers who love AI-assisted coding
447
+ </div>