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 +232 -593
- package/dist/{chunk-AIITEXOJ.js → chunk-V4XY4X6P.js} +486 -42
- package/dist/index.js +4 -3
- package/dist/worker.js +493 -936
- package/package.json +8 -2
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
|
-
##
|
|
100
|
-
|
|
101
|
-
### AI Assistants
|
|
59
|
+
## Supported Platforms
|
|
60
|
+
─────────────────────────
|
|
102
61
|
|
|
103
|
-
|
|
104
|
-
<summary><strong>Claude Desktop</strong> ✅</summary>
|
|
62
|
+
deploy-mcp supports multiple deployment platforms simultaneously. Configure as many as you need:
|
|
105
63
|
|
|
106
|
-
|
|
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
|
-
|
|
109
|
-
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
110
|
-
**Linux**: `~/.config/Claude/claude_desktop_config.json`
|
|
71
|
+
### Multi-Platform Configuration
|
|
111
72
|
|
|
112
|
-
|
|
73
|
+
You can use **multiple platforms simultaneously** by providing tokens for each platform you want to track:
|
|
113
74
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
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
|
-
|
|
91
|
+
## Platform Configuration
|
|
92
|
+
─────────────────────────
|
|
120
93
|
|
|
121
|
-
|
|
122
|
-
</details>
|
|
94
|
+
### Vercel
|
|
123
95
|
|
|
124
96
|
<details>
|
|
125
|
-
<summary><strong>
|
|
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
|
-
|
|
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
|
-
|
|
120
|
+
4. **Required permissions:** Read access to deployments and projects
|
|
130
121
|
|
|
131
122
|
</details>
|
|
132
123
|
|
|
133
|
-
|
|
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>
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
170
|
-
|
|
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
|
-
|
|
157
|
+
deploy-mcp works with any MCP-compatible AI assistant. Here's how to set it up:
|
|
179
158
|
|
|
180
|
-
|
|
181
|
-
Works with all AI assistants that support [Model Context Protocol](https://modelcontextprotocol.io)
|
|
159
|
+
### Claude Desktop
|
|
182
160
|
|
|
183
|
-
|
|
161
|
+
<details>
|
|
162
|
+
<summary><strong>Configuration</strong></summary>
|
|
184
163
|
|
|
185
|
-
|
|
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
|
-
|
|
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
|
-

|
|
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
|
-
###
|
|
187
|
+
### VS Code
|
|
274
188
|
|
|
275
189
|
<details>
|
|
276
|
-
<summary><strong>
|
|
190
|
+
<summary><strong>Configuration</strong></summary>
|
|
277
191
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
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
|
-
|
|
196
|
+
**Requirements:** GitHub Copilot subscription with MCP enabled
|
|
285
197
|
|
|
286
|
-
|
|
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
|
-
|
|
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>
|
|
205
|
+
<summary><strong>Configuration</strong></summary>
|
|
303
206
|
|
|
304
|
-
|
|
305
|
-
</details>
|
|
207
|
+
**File location:** `~/.cursor/mcp.json`
|
|
306
208
|
|
|
307
|
-
|
|
209
|
+
**Setup:** Navigate to Cursor Settings → MCP
|
|
308
210
|
|
|
309
|
-
|
|
211
|
+
**Configuration:** Same as Claude Desktop
|
|
310
212
|
|
|
311
|
-
|
|
213
|
+
</details>
|
|
312
214
|
|
|
313
|
-
|
|
314
|
-
> - "Check my Vercel deployment"
|
|
315
|
-
> - "Is my website live?"
|
|
316
|
-
> - "Show deployment status for my-app"
|
|
215
|
+
### Windsurf IDE
|
|
317
216
|
|
|
318
|
-
|
|
217
|
+
<details>
|
|
218
|
+
<summary><strong>Configuration</strong></summary>
|
|
319
219
|
|
|
320
|
-
|
|
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
|
-
|
|
222
|
+
**Setup:** Settings → Advanced Settings → Cascade
|
|
326
223
|
|
|
327
|
-
|
|
224
|
+
**Configuration:** Same as Claude Desktop
|
|
328
225
|
|
|
329
|
-
>
|
|
330
|
-
> - "Compare my last 2 deployments"
|
|
331
|
-
> - "What changed in my latest deployment?"
|
|
332
|
-
> - "Show build time differences"
|
|
226
|
+
</details>
|
|
333
227
|
|
|
334
|
-
|
|
228
|
+
### Continue.dev
|
|
335
229
|
|
|
336
|
-
|
|
230
|
+
<details>
|
|
231
|
+
<summary><strong>Configuration</strong></summary>
|
|
337
232
|
|
|
338
|
-
|
|
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
|
-
|
|
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
|
-
|
|
254
|
+
</details>
|
|
346
255
|
|
|
347
|
-
|
|
256
|
+
### Cline (VS Code Extension)
|
|
348
257
|
|
|
349
|
-
|
|
258
|
+
<details>
|
|
259
|
+
<summary><strong>Configuration</strong></summary>
|
|
350
260
|
|
|
351
|
-
**
|
|
261
|
+
**Natural language setup:**
|
|
262
|
+
- Ask: *"Add the deploy-mcp tool to check deployments"*
|
|
352
263
|
|
|
353
|
-
**
|
|
354
|
-
|
|
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
|
-
|
|
267
|
+
**Configuration:** Same as Claude Desktop
|
|
374
268
|
|
|
375
|
-
|
|
269
|
+
</details>
|
|
376
270
|
|
|
377
|
-
|
|
378
|
-
|
|
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
|
-
|
|
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
|
|
276
|
+
### Badge Format
|
|
403
277
|
|
|
404
|
-
|
|
278
|
+
The deploy-mcp.io endpoint returns JSON data for shields.io. Use the shields.io endpoint wrapper:
|
|
405
279
|
|
|
406
280
|
```markdown
|
|
407
|
-
|
|
281
|
+

|
|
282
|
+
```
|
|
408
283
|
|
|
409
|
-
|
|
284
|
+
### Examples by Platform
|
|
410
285
|
|
|
411
|
-
|
|
286
|
+
#### Vercel Badge
|
|
287
|
+
```markdown
|
|
288
|
+

|
|
412
289
|
```
|
|
413
290
|
|
|
414
|
-
|
|
291
|
+
#### Netlify Badge
|
|
415
292
|
```markdown
|
|
416
|
-
|
|
417
|
-
[](https://deploy-mcp.io)
|
|
293
|
+

|
|
418
294
|
```
|
|
419
295
|
|
|
296
|
+
#### Multiple Badges
|
|
297
|
+
```markdown
|
|
298
|
+

|
|
299
|
+

|
|
300
|
+
```
|
|
420
301
|
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
The MCP server provides four powerful tools for comprehensive deployment tracking:
|
|
302
|
+
### Webhook Configuration
|
|
424
303
|
|
|
425
|
-
|
|
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>
|
|
307
|
+
<summary><strong>Vercel Webhooks</strong> (Pro/Enterprise only)</summary>
|
|
430
308
|
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
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>
|
|
320
|
+
<summary><strong>Netlify Webhooks</strong></summary>
|
|
444
321
|
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
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
|
-
|
|
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
|
-
|
|
458
|
-
|
|
332
|
+
## Available Tools
|
|
333
|
+
─────────────────────────
|
|
459
334
|
|
|
460
|
-
|
|
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
|
-
|
|
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
|
-
|
|
|
476
|
-
|
|
477
|
-
| `
|
|
478
|
-
| `
|
|
479
|
-
| `
|
|
480
|
-
| `
|
|
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
|
-
|
|
483
|
-
|
|
484
|
-
<details>
|
|
485
|
-
<summary><strong>Response Formats</strong></summary>
|
|
346
|
+
### Platform-Specific Usage
|
|
486
347
|
|
|
487
|
-
|
|
348
|
+
Commands work across all configured platforms:
|
|
488
349
|
|
|
489
|
-
```
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
362
|
+
## Security
|
|
363
|
+
─────────────────────────
|
|
509
364
|
|
|
510
|
-
|
|
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
|
-
|
|
370
|
+
## Advanced Configuration
|
|
371
|
+
─────────────────────────
|
|
513
372
|
|
|
514
|
-
|
|
515
|
-
- npm, yarn, or pnpm
|
|
373
|
+
### Environment Variables
|
|
516
374
|
|
|
517
|
-
|
|
375
|
+
You can also set tokens via environment variables:
|
|
518
376
|
|
|
519
377
|
```bash
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
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
|
-
###
|
|
532
|
-
|
|
533
|
-
```bash
|
|
534
|
-
# Run tests
|
|
535
|
-
npm test
|
|
383
|
+
### Custom Installation
|
|
536
384
|
|
|
537
|
-
|
|
538
|
-
npm run lint
|
|
539
|
-
```
|
|
540
|
-
|
|
541
|
-
### Building & Deployment
|
|
385
|
+
For production use, install globally:
|
|
542
386
|
|
|
543
387
|
```bash
|
|
544
|
-
|
|
545
|
-
|
|
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
|
|
395
|
+
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
724
396
|
|
|
725
|
-
###
|
|
397
|
+
### Adding New Platforms
|
|
726
398
|
|
|
727
|
-
1.
|
|
728
|
-
2.
|
|
729
|
-
3.
|
|
730
|
-
4.
|
|
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
|
-
|
|
407
|
+
Apache 2.0 - See [LICENSE](LICENSE) for details.
|
|
755
408
|
|
|
756
|
-
##
|
|
409
|
+
## Links
|
|
410
|
+
─────────────────────────
|
|
757
411
|
|
|
758
|
-
-
|
|
759
|
-
-
|
|
760
|
-
-
|
|
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
|
-
|
|
780
|
-
|
|
781
|
-
</div>
|
|
782
|
-
|
|
420
|
+
Made with ❤️ for developers who love AI-assisted coding
|
|
421
|
+
</div>
|