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 +254 -589
- package/dist/{chunk-AIITEXOJ.js → chunk-YU5SU5ZI.js} +773 -52
- package/dist/index.js +4 -3
- package/dist/worker.js +498 -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,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
|
-
##
|
|
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"`
|
|
119
|
+
- `"List all my Vercel projects"`
|
|
120
|
+
- `"Show last 5 deployments for project-name"`
|
|
128
121
|
|
|
129
|
-
|
|
122
|
+
4. **Required permissions:** Read access to deployments and projects
|
|
130
123
|
|
|
131
124
|
</details>
|
|
132
125
|
|
|
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>
|
|
126
|
+
### Netlify
|
|
141
127
|
|
|
142
128
|
<details>
|
|
143
|
-
<summary><strong>
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
158
|
+
## AI Assistant Configuration
|
|
159
|
+
─────────────────────────
|
|
177
160
|
|
|
178
|
-
|
|
161
|
+
deploy-mcp works with any MCP-compatible AI assistant. Here's how to set it up:
|
|
179
162
|
|
|
180
|
-
|
|
181
|
-
Works with all AI assistants that support [Model Context Protocol](https://modelcontextprotocol.io)
|
|
163
|
+
### Claude Desktop
|
|
182
164
|
|
|
183
|
-
|
|
165
|
+
<details>
|
|
166
|
+
<summary><strong>Configuration</strong></summary>
|
|
184
167
|
|
|
185
|
-
|
|
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
|
-
|
|
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
|
-
|
|
189
|
+
</details>
|
|
272
190
|
|
|
273
|
-
###
|
|
191
|
+
### VS Code
|
|
274
192
|
|
|
275
193
|
<details>
|
|
276
|
-
<summary><strong>
|
|
194
|
+
<summary><strong>Configuration</strong></summary>
|
|
277
195
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
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
|
-
|
|
200
|
+
**Requirements:** GitHub Copilot subscription with MCP enabled
|
|
285
201
|
|
|
286
|
-
|
|
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
|
-
|
|
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>
|
|
209
|
+
<summary><strong>Configuration</strong></summary>
|
|
303
210
|
|
|
304
|
-
|
|
305
|
-
</details>
|
|
211
|
+
**File location:** `~/.cursor/mcp.json`
|
|
306
212
|
|
|
307
|
-
|
|
213
|
+
**Setup:** Navigate to Cursor Settings → MCP
|
|
308
214
|
|
|
309
|
-
|
|
215
|
+
**Configuration:** Same as Claude Desktop
|
|
310
216
|
|
|
311
|
-
|
|
217
|
+
</details>
|
|
312
218
|
|
|
313
|
-
|
|
314
|
-
> - "Check my Vercel deployment"
|
|
315
|
-
> - "Is my website live?"
|
|
316
|
-
> - "Show deployment status for my-app"
|
|
219
|
+
### Windsurf IDE
|
|
317
220
|
|
|
318
|
-
|
|
221
|
+
<details>
|
|
222
|
+
<summary><strong>Configuration</strong></summary>
|
|
319
223
|
|
|
320
|
-
|
|
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
|
-
|
|
226
|
+
**Setup:** Settings → Advanced Settings → Cascade
|
|
326
227
|
|
|
327
|
-
|
|
228
|
+
**Configuration:** Same as Claude Desktop
|
|
328
229
|
|
|
329
|
-
>
|
|
330
|
-
> - "Compare my last 2 deployments"
|
|
331
|
-
> - "What changed in my latest deployment?"
|
|
332
|
-
> - "Show build time differences"
|
|
230
|
+
</details>
|
|
333
231
|
|
|
334
|
-
|
|
232
|
+
### Continue.dev
|
|
335
233
|
|
|
336
|
-
|
|
234
|
+
<details>
|
|
235
|
+
<summary><strong>Configuration</strong></summary>
|
|
337
236
|
|
|
338
|
-
|
|
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
|
-
|
|
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
|
-
|
|
258
|
+
</details>
|
|
346
259
|
|
|
347
|
-
|
|
260
|
+
### Cline (VS Code Extension)
|
|
348
261
|
|
|
349
|
-
|
|
262
|
+
<details>
|
|
263
|
+
<summary><strong>Configuration</strong></summary>
|
|
350
264
|
|
|
351
|
-
**
|
|
265
|
+
**Natural language setup:**
|
|
266
|
+
- Ask: *"Add the deploy-mcp tool to check deployments"*
|
|
352
267
|
|
|
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!
|
|
268
|
+
**Manual setup:**
|
|
269
|
+
- MCP Servers icon → Advanced MCP Settings
|
|
372
270
|
|
|
373
|
-
|
|
271
|
+
**Configuration:** Same as Claude Desktop
|
|
374
272
|
|
|
375
|
-
|
|
273
|
+
</details>
|
|
376
274
|
|
|
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
|
|
275
|
+
## Deployment Status Badges
|
|
276
|
+
─────────────────────────
|
|
391
277
|
|
|
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]**
|
|
278
|
+
Get live deployment status badges for your repositories:
|
|
401
279
|
|
|
402
|
-
### Badge
|
|
280
|
+
### Badge Format
|
|
403
281
|
|
|
404
|
-
|
|
282
|
+
The deploy-mcp.io endpoint returns JSON data for shields.io. Use the shields.io endpoint wrapper:
|
|
405
283
|
|
|
406
284
|
```markdown
|
|
407
|
-
|
|
285
|
+

|
|
286
|
+
```
|
|
408
287
|
|
|
409
|
-
|
|
288
|
+
### Examples by Platform
|
|
410
289
|
|
|
411
|
-
|
|
290
|
+
#### Vercel Badge
|
|
291
|
+
```markdown
|
|
292
|
+

|
|
412
293
|
```
|
|
413
294
|
|
|
414
|
-
|
|
295
|
+
#### Netlify Badge
|
|
415
296
|
```markdown
|
|
416
|
-
|
|
417
|
-
[](https://deploy-mcp.io)
|
|
297
|
+

|
|
418
298
|
```
|
|
419
299
|
|
|
300
|
+
#### Multiple Badges
|
|
301
|
+
```markdown
|
|
302
|
+

|
|
303
|
+

|
|
304
|
+
```
|
|
420
305
|
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
The MCP server provides four powerful tools for comprehensive deployment tracking:
|
|
306
|
+
### Webhook Configuration
|
|
424
307
|
|
|
425
|
-
|
|
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>
|
|
311
|
+
<summary><strong>Vercel Webhooks</strong> (Pro/Enterprise only)</summary>
|
|
430
312
|
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
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>
|
|
324
|
+
<summary><strong>Netlify Webhooks</strong></summary>
|
|
444
325
|
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
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
|
-
|
|
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
|
-
|
|
458
|
-
|
|
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
|
-
|
|
339
|
+
deploy-mcp provides these tools to your AI assistant:
|
|
468
340
|
|
|
469
|
-
###
|
|
470
|
-
Fetch and analyze deployment logs with intelligent error detection.
|
|
341
|
+
### Core Tools
|
|
471
342
|
|
|
472
|
-
|
|
473
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
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
|
-
###
|
|
365
|
+
### New Features
|
|
532
366
|
|
|
533
|
-
|
|
534
|
-
|
|
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
|
-
|
|
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
|
-
|
|
555
|
-
|
|
375
|
+
#### Deployment History
|
|
376
|
+
View multiple recent deployments at once:
|
|
556
377
|
```
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
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
|
-
|
|
590
|
-
|
|
591
|
-
|
|
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
|
-
|
|
690
|
-
|
|
388
|
+
## Security
|
|
389
|
+
─────────────────────────
|
|
691
390
|
|
|
692
|
-
|
|
693
|
-
- **
|
|
694
|
-
- **
|
|
695
|
-
- **
|
|
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
|
-
|
|
396
|
+
## Advanced Configuration
|
|
397
|
+
─────────────────────────
|
|
698
398
|
|
|
699
|
-
|
|
399
|
+
### Environment Variables
|
|
700
400
|
|
|
701
|
-
|
|
702
|
-
<summary><strong>Deployment not found</strong></summary>
|
|
401
|
+
You can also set tokens via environment variables:
|
|
703
402
|
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
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
|
-
|
|
712
|
-
<summary><strong>Real-time features not working</strong></summary>
|
|
409
|
+
### Custom Installation
|
|
713
410
|
|
|
714
|
-
|
|
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
|
-
|
|
413
|
+
```bash
|
|
414
|
+
npm install -g deploy-mcp
|
|
415
|
+
deploy-mcp
|
|
416
|
+
```
|
|
720
417
|
|
|
721
418
|
## Contributing
|
|
419
|
+
─────────────────────────
|
|
722
420
|
|
|
723
|
-
We
|
|
421
|
+
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
724
422
|
|
|
725
|
-
###
|
|
423
|
+
### Adding New Platforms
|
|
726
424
|
|
|
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.
|
|
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
|
-
|
|
433
|
+
Apache 2.0 - See [LICENSE](LICENSE) for details.
|
|
755
434
|
|
|
756
|
-
##
|
|
435
|
+
## Links
|
|
436
|
+
─────────────────────────
|
|
757
437
|
|
|
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>
|
|
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
|
-
|
|
780
|
-
|
|
781
|
-
</div>
|
|
782
|
-
|
|
446
|
+
Made with ❤️ for developers who love AI-assisted coding
|
|
447
|
+
</div>
|