deploy-mcp 0.3.0 → 0.4.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,117 @@ 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"`
128
119
 
129
- Navigate to Cursor Settings MCP or create `~/.cursor/mcp.json`
120
+ 4. **Required permissions:** Read access to deployments and projects
130
121
 
131
122
  </details>
132
123
 
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>
124
+ ### Netlify
141
125
 
142
126
  <details>
143
- <summary><strong>Continue.dev</strong> ✅</summary>
127
+ <summary><strong>Setup Instructions</strong></summary>
128
+
129
+ 1. **Get your API token:**
130
+ - Go to [app.netlify.com/user/applications](https://app.netlify.com/user/applications)
131
+ - Under "Personal access tokens", click "New access token"
132
+ - Give it a descriptive name (e.g., "deploy-mcp")
133
+ - Copy the token
134
+
135
+ 2. **Add to your AI assistant configuration:**
136
+ ```json
137
+ {
138
+ "env": {
139
+ "NETLIFY_TOKEN": "your-netlify-token"
140
+ }
141
+ }
142
+ ```
144
143
 
145
- **Official MCP support** - Available in agent mode
144
+ 3. **Available commands:**
145
+ - `"Check my Netlify deployment for site-name"`
146
+ - `"What's the status of my latest Netlify deployment?"`
147
+ - `"Show me Netlify deployment logs"`
148
+ - `"Watch my Netlify deployment progress"`
146
149
 
147
- Add to your `config.json` with different structure:
150
+ 4. **Required permissions:** Read access to sites and deploys
148
151
 
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
152
  </details>
168
153
 
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
154
+ ## AI Assistant Configuration
155
+ ─────────────────────────
177
156
 
178
- </details>
157
+ deploy-mcp works with any MCP-compatible AI assistant. Here's how to set it up:
179
158
 
180
- **+ Any MCP-compatible tool**
181
- Works with all AI assistants that support [Model Context Protocol](https://modelcontextprotocol.io)
159
+ ### Claude Desktop
182
160
 
183
- ### MCP Configuration
161
+ <details>
162
+ <summary><strong>Configuration</strong></summary>
184
163
 
185
- All AI tools (except Continue.dev) use the same configuration:
164
+ **File location:**
165
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
166
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
167
+ - **Linux**: `~/.config/Claude/claude_desktop_config.json`
186
168
 
169
+ **Configuration:**
187
170
  ```json
188
171
  {
189
172
  "mcpServers": {
@@ -191,592 +174,248 @@ All AI tools (except Continue.dev) use the same configuration:
191
174
  "command": "npx",
192
175
  "args": ["-y", "deploy-mcp"],
193
176
  "env": {
194
- "VERCEL_TOKEN": "your-vercel-token"
177
+ "VERCEL_TOKEN": "your-vercel-token",
178
+ "NETLIFY_TOKEN": "your-netlify-token"
195
179
  }
196
180
  }
197
181
  }
198
182
  }
199
183
  ```
200
184
 
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
-
185
+ </details>
272
186
 
273
- ### Getting API Tokens
187
+ ### VS Code
274
188
 
275
189
  <details>
276
- <summary><strong>Vercel</strong></summary>
190
+ <summary><strong>Configuration</strong></summary>
277
191
 
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
192
+ **File location:**
193
+ - Workspace: `.vscode/mcp.json`
194
+ - Global: `~/.vscode/mcp.json`
283
195
 
284
- </details>
196
+ **Requirements:** GitHub Copilot subscription with MCP enabled
285
197
 
286
- <details>
287
- <summary><strong>Netlify</strong> (Coming Soon)</summary>
198
+ **Configuration:** Same as Claude Desktop
288
199
 
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
200
  </details>
294
201
 
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>
202
+ ### Cursor AI
300
203
 
301
204
  <details>
302
- <summary><strong>Render</strong> (Coming Soon)</summary>
205
+ <summary><strong>Configuration</strong></summary>
303
206
 
304
- Render integration is on our roadmap. [Star the repo](https://github.com/alexpota/deploy-mcp) to get notified!
305
- </details>
207
+ **File location:** `~/.cursor/mcp.json`
306
208
 
307
- ## Usage Examples
209
+ **Setup:** Navigate to Cursor Settings → MCP
308
210
 
309
- ### Quick Examples by Tool
211
+ **Configuration:** Same as Claude Desktop
310
212
 
311
- #### 1. Check Deployment Status
213
+ </details>
312
214
 
313
- > 💬 **Ask your AI:**
314
- > - "Check my Vercel deployment"
315
- > - "Is my website live?"
316
- > - "Show deployment status for my-app"
215
+ ### Windsurf IDE
317
216
 
318
- #### 2. Watch Deployment (Real-time)
217
+ <details>
218
+ <summary><strong>Configuration</strong></summary>
319
219
 
320
- > 💬 **Ask your AI:**
321
- > - "Watch my deployment"
322
- > - "Stream my build progress"
323
- > - "Show me real-time deployment updates"
220
+ **File location:** `~/.codeium/windsurf/mcp_config.json`
324
221
 
325
- Get live updates as your deployment progresses through initialization, building, and completion.
222
+ **Setup:** Settings Advanced Settings Cascade
326
223
 
327
- #### 3. Compare Deployments
224
+ **Configuration:** Same as Claude Desktop
328
225
 
329
- > 💬 **Ask your AI:**
330
- > - "Compare my last 2 deployments"
331
- > - "What changed in my latest deployment?"
332
- > - "Show build time differences"
226
+ </details>
333
227
 
334
- See performance metrics, risk assessment, and identify what changed between deployments.
228
+ ### Continue.dev
335
229
 
336
- #### 4. Get Deployment Logs
230
+ <details>
231
+ <summary><strong>Configuration</strong></summary>
337
232
 
338
- > 💬 **Ask your AI:**
339
- > - "Show deployment logs"
340
- > - "Why did my deployment fail?"
341
- > - "Get error logs for deployment dpl_ABC123"
233
+ **File location:** `~/.continue/config.json`
342
234
 
343
- Get intelligent error analysis with suggested fixes and filtered log output.
235
+ **Configuration (different structure):**
236
+ ```json
237
+ {
238
+ "experimental": {
239
+ "modelContextProtocolServer": {
240
+ "transport": {
241
+ "type": "stdio",
242
+ "command": "npx",
243
+ "args": ["-y", "deploy-mcp"]
244
+ },
245
+ "env": {
246
+ "VERCEL_TOKEN": "your-vercel-token",
247
+ "NETLIFY_TOKEN": "your-netlify-token"
248
+ }
249
+ }
250
+ }
251
+ }
252
+ ```
344
253
 
345
- ### MCP Server Usage
254
+ </details>
346
255
 
347
- Once configured with your AI assistant, simply ask:
256
+ ### Cline (VS Code Extension)
348
257
 
349
- #### Example: Check Status
258
+ <details>
259
+ <summary><strong>Configuration</strong></summary>
350
260
 
351
- **You:** "Check my latest Vercel deployment"
261
+ **Natural language setup:**
262
+ - Ask: *"Add the deploy-mcp tool to check deployments"*
352
263
 
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!
264
+ **Manual setup:**
265
+ - MCP Servers icon Advanced MCP Settings
372
266
 
373
- #### Example: Real-time Monitoring
267
+ **Configuration:** Same as Claude Desktop
374
268
 
375
- **You:** "Watch my deployment"
269
+ </details>
376
270
 
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
271
+ ## Deployment Status Badges
272
+ ─────────────────────────
391
273
 
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]**
274
+ Get live deployment status badges for your repositories:
401
275
 
402
- ### Badge Usage
276
+ ### Badge Format
403
277
 
404
- Add live deployment status badges to your README:
278
+ The deploy-mcp.io endpoint returns JSON data for shields.io. Use the shields.io endpoint wrapper:
405
279
 
406
280
  ```markdown
407
- # My Project
281
+ ![Platform Deployment](https://img.shields.io/endpoint?url=https://deploy-mcp.io/badge/{username}/{repository}/{platform})
282
+ ```
408
283
 
409
- ![Vercel](https://deploy-mcp.io/badge/yourusername/yourrepo/vercel)
284
+ ### Examples by Platform
410
285
 
411
- <!-- Other content -->
286
+ #### Vercel Badge
287
+ ```markdown
288
+ ![Vercel](https://img.shields.io/endpoint?url=https://deploy-mcp.io/badge/john/my-app/vercel)
412
289
  ```
413
290
 
414
- **Multiple platforms:**
291
+ #### Netlify Badge
415
292
  ```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)
293
+ ![Netlify](https://img.shields.io/endpoint?url=https://deploy-mcp.io/badge/john/my-app/netlify)
418
294
  ```
419
295
 
296
+ #### Multiple Badges
297
+ ```markdown
298
+ ![Vercel](https://img.shields.io/endpoint?url=https://deploy-mcp.io/badge/john/my-app/vercel)
299
+ ![Netlify](https://img.shields.io/endpoint?url=https://deploy-mcp.io/badge/john/my-app/netlify)
300
+ ```
420
301
 
421
- ## MCP Tools Reference
422
-
423
- The MCP server provides four powerful tools for comprehensive deployment tracking:
302
+ ### Webhook Configuration
424
303
 
425
- ### 1. check_deployment_status
426
- Retrieve the latest deployment status for a project.
304
+ For real-time badge updates, configure webhooks:
427
305
 
428
306
  <details>
429
- <summary><strong>Parameters</strong></summary>
307
+ <summary><strong>Vercel Webhooks</strong> (Pro/Enterprise only)</summary>
430
308
 
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) |
309
+ 1. Go to your Vercel team settings
310
+ 2. Navigate to "Webhooks" section
311
+ 3. Click "Create Webhook"
312
+ 4. Configure:
313
+ - **URL**: `https://deploy-mcp.io/webhook/{username}/{repo}/vercel`
314
+ - **Events**: Deployment Created, Ready, Error
315
+ - **Projects**: Select specific or all
436
316
 
437
317
  </details>
438
318
 
439
- ### 2. watch_deployment **[NEW]**
440
- Stream real-time deployment progress with live updates.
441
-
442
319
  <details>
443
- <summary><strong>Parameters</strong></summary>
320
+ <summary><strong>Netlify Webhooks</strong></summary>
444
321
 
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) |
322
+ 1. Go to Site Settings Build & deploy → Deploy notifications
323
+ 2. Add notification → Outgoing webhook
324
+ 3. Configure:
325
+ - **URL**: `https://deploy-mcp.io/webhook/{username}/{repo}/netlify`
326
+ - **Events**: Deploy started, succeeded, failed
451
327
 
452
328
  </details>
453
329
 
454
- ### 3. compare_deployments **[NEW]**
455
- Compare current deployment with previous versions to identify changes and performance differences.
330
+ **Note:** Badges require public repositories. Private repo support coming soon.
456
331
 
457
- <details>
458
- <summary><strong>Parameters</strong></summary>
332
+ ## Available Tools
333
+ ─────────────────────────
459
334
 
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) |
335
+ deploy-mcp provides these tools to your AI assistant:
466
336
 
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>
337
+ ### Core Tools
474
338
 
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) |
339
+ | Tool | Description | Example Command |
340
+ |------|-------------|-----------------|
341
+ | `check_deployment_status` | Get latest deployment status | *"Check my deployment status"* |
342
+ | `watch_deployment` | Monitor deployment in real-time | *"Watch my deployment progress"* |
343
+ | `compare_deployments` | Compare recent deployments | *"Compare my last 2 deployments"* |
344
+ | `get_deployment_logs` | Fetch deployment logs | *"Show me deployment logs"* |
481
345
 
482
- </details>
483
-
484
- <details>
485
- <summary><strong>Response Formats</strong></summary>
346
+ ### Platform-Specific Usage
486
347
 
487
- All tools return clean, Markdown-formatted responses for consistent display across AI tools:
348
+ Commands work across all configured platforms:
488
349
 
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
350
+ ```
351
+ "Check my Vercel deployment for my-app"
352
+ "Check my Netlify deployment for my-site"
353
+ "Show me logs for deployment abc123 on Vercel"
354
+ "Watch my Netlify deployment progress"
504
355
  ```
505
356
 
506
- </details>
357
+ The AI will automatically use the correct platform based on:
358
+ 1. Explicit platform mention in your command
359
+ 2. Project/site name matching
360
+ 3. Available tokens in configuration
507
361
 
508
- ## Development
362
+ ## Security
363
+ ─────────────────────────
509
364
 
510
- For contributors who want to help develop deploy-mcp.
365
+ - **Local tokens only** - Your API tokens stay on your machine
366
+ - **No telemetry** - We don't track usage or collect data
367
+ - **Open source** - Fully auditable codebase
368
+ - **Minimal permissions** - Only read access required
511
369
 
512
- ### Prerequisites
370
+ ## Advanced Configuration
371
+ ─────────────────────────
513
372
 
514
- - Node.js 22 or higher
515
- - npm, yarn, or pnpm
373
+ ### Environment Variables
516
374
 
517
- ### Local Development
375
+ You can also set tokens via environment variables:
518
376
 
519
377
  ```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
378
+ export VERCEL_TOKEN="your-vercel-token"
379
+ export NETLIFY_TOKEN="your-netlify-token"
380
+ npx deploy-mcp
529
381
  ```
530
382
 
531
- ### Testing
532
-
533
- ```bash
534
- # Run tests
535
- npm test
383
+ ### Custom Installation
536
384
 
537
- # Type checking
538
- npm run lint
539
- ```
540
-
541
- ### Building & Deployment
385
+ For production use, install globally:
542
386
 
543
387
  ```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
388
+ npm install -g deploy-mcp
389
+ deploy-mcp
552
390
  ```
553
391
 
554
- ## Project Structure
555
-
556
- ```
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
587
- ```
588
-
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>
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
-
721
392
  ## Contributing
393
+ ─────────────────────────
722
394
 
723
- We love contributions\! Whether it's a bug fix, new feature, or platform support, we'd love to have you.
395
+ We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
724
396
 
725
- ### Quick Start
397
+ ### Adding New Platforms
726
398
 
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.
399
+ 1. Implement the `BaseAdapter` interface
400
+ 2. Add platform-specific API client
401
+ 3. Update configuration documentation
402
+ 4. Add tests
751
403
 
752
404
  ## License
405
+ ─────────────────────────
753
406
 
754
- This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
407
+ Apache 2.0 - See [LICENSE](LICENSE) for details.
755
408
 
756
- ## Acknowledgments
409
+ ## Links
410
+ ─────────────────────────
757
411
 
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>
412
+ - [Website](https://deploy-mcp.io)
413
+ - [npm Package](https://www.npmjs.com/package/deploy-mcp)
414
+ - [GitHub Repository](https://github.com/alexpota/deploy-mcp)
415
+ - [Report Issues](https://github.com/alexpota/deploy-mcp/issues)
775
416
 
776
417
  ---
777
418
 
778
419
  <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
-
420
+ Made with ❤️ for developers who love AI-assisted coding
421
+ </div>