deploy-mcp 0.2.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 +255 -418
- package/dist/chunk-V4XY4X6P.js +2007 -0
- package/dist/index.js +9 -30
- package/dist/worker.js +496 -920
- package/package.json +17 -8
- package/dist/chunk-QRZL43CY.js +0 -297
package/README.md
CHANGED
|
@@ -16,72 +16,37 @@ No more context-switching. No more dashboard hunting.
|
|
|
16
16
|
---
|
|
17
17
|
|
|
18
18
|
## Demo
|
|
19
|
+
─────────────────────────
|
|
19
20
|
|
|
21
|
+
### Your conversation:
|
|
20
22
|
```
|
|
21
|
-
|
|
22
|
-
"Check my latest Vercel deployment"
|
|
23
|
-
|
|
24
|
-
// Claude's Response:
|
|
25
|
-
✅ **Status**: Success
|
|
26
|
-
🌐 **Live URL**: https://my-app.vercel.app
|
|
27
|
-
⏱️ **Deployment Time**: 45 seconds
|
|
28
|
-
📅 **Last Deployed**: January 15, 2025 at 10:30 UTC
|
|
29
|
-
🌍 **Environment**: Production
|
|
30
|
-
|
|
31
|
-
**Latest Commit**:
|
|
32
|
-
- SHA: `abc123ef`
|
|
33
|
-
- Message: "Update homepage hero section"
|
|
34
|
-
- Author: John Doe
|
|
35
|
-
|
|
36
|
-
Everything looks good - your deployment is live and running successfully!
|
|
23
|
+
User: "Check my latest Vercel deployment"
|
|
37
24
|
```
|
|
38
25
|
|
|
26
|
+
### AI Assistant's Response:
|
|
27
|
+
|
|
28
|
+
> ## Deployment Status
|
|
29
|
+
>
|
|
30
|
+
> ### Current Status
|
|
31
|
+
> **Project:** my-app
|
|
32
|
+
> **Platform:** Vercel
|
|
33
|
+
> **Status:** ✅ Success
|
|
34
|
+
> **URL:** https://my-app.vercel.app
|
|
35
|
+
> **Duration:** 45s
|
|
36
|
+
> **Deployed:** 2 hours ago
|
|
37
|
+
>
|
|
38
|
+
> ### Commit Info
|
|
39
|
+
> **SHA:** `abc123ef`
|
|
40
|
+
> **Message:** Update homepage hero section
|
|
41
|
+
> **Author:** John Doe
|
|
42
|
+
>
|
|
43
|
+
> Everything looks good - your deployment is live and running successfully!
|
|
44
|
+
|
|
39
45
|
**Just ask your AI**: *"What's the status of my latest deployment?"*
|
|
40
46
|
Get instant answers without leaving your conversation.
|
|
41
47
|
|
|
42
|
-
## Features
|
|
43
|
-
|
|
44
|
-
<table>
|
|
45
|
-
<tr>
|
|
46
|
-
<td width="50%">
|
|
47
|
-
|
|
48
|
-
**Universal AI Support**
|
|
49
|
-
Built for the Model Context Protocol. Works seamlessly with Claude Desktop, VS Code, Cursor, Windsurf, Continue.dev, Cline, and any MCP-compatible AI assistant.
|
|
50
|
-
|
|
51
|
-
**Secure & Private**
|
|
52
|
-
Your API tokens stay local on your machine. Never sent to third parties or logged anywhere.
|
|
53
|
-
|
|
54
|
-
**Lightning Fast**
|
|
55
|
-
Get deployment status in under 2 seconds. Optimized for developer productivity.
|
|
56
|
-
|
|
57
|
-
</td>
|
|
58
|
-
<td width="50%">
|
|
59
|
-
|
|
60
|
-
**Zero Context Switching**
|
|
61
|
-
Check deployment status without leaving your AI conversation.
|
|
62
|
-
|
|
63
|
-
**Universal Platform Support**
|
|
64
|
-
Currently supports Vercel, with Netlify, Railway, and Render coming soon.
|
|
65
|
-
|
|
66
|
-
**Real-time Status**
|
|
67
|
-
Get instant deployment status through AI conversation.
|
|
68
|
-
|
|
69
|
-
**Open Source**
|
|
70
|
-
Fully transparent, community-driven development.
|
|
71
|
-
|
|
72
|
-
</td>
|
|
73
|
-
</tr>
|
|
74
|
-
</table>
|
|
75
|
-
|
|
76
|
-
## Why deploy-mcp?
|
|
77
|
-
|
|
78
|
-
**The Problem**: Developers context-switch 10-20 times per day to check deployment status, losing 23 minutes of focus each time.
|
|
79
|
-
|
|
80
|
-
**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.
|
|
81
|
-
|
|
82
|
-
Built for the modern developer who uses AI assistants as part of their daily workflow.
|
|
83
|
-
|
|
84
48
|
## Quick Start
|
|
49
|
+
─────────────────────────
|
|
85
50
|
|
|
86
51
|
**Get started in under 30 seconds:**
|
|
87
52
|
|
|
@@ -91,94 +56,117 @@ npx deploy-mcp
|
|
|
91
56
|
|
|
92
57
|
That's it! The server is now running and ready to be configured in your AI assistant.
|
|
93
58
|
|
|
94
|
-
##
|
|
95
|
-
|
|
96
|
-
### AI Assistants
|
|
97
|
-
|
|
98
|
-
<details>
|
|
99
|
-
<summary><strong>Claude Desktop</strong> ✅</summary>
|
|
59
|
+
## Supported Platforms
|
|
60
|
+
─────────────────────────
|
|
100
61
|
|
|
101
|
-
|
|
62
|
+
deploy-mcp supports multiple deployment platforms simultaneously. Configure as many as you need:
|
|
102
63
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
**
|
|
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` | - |
|
|
106
70
|
|
|
107
|
-
|
|
71
|
+
### Multi-Platform Configuration
|
|
108
72
|
|
|
109
|
-
|
|
110
|
-
<summary><strong>VS Code</strong> ✅</summary>
|
|
73
|
+
You can use **multiple platforms simultaneously** by providing tokens for each platform you want to track:
|
|
111
74
|
|
|
112
|
-
|
|
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
|
+
```
|
|
113
90
|
|
|
114
|
-
|
|
91
|
+
## Platform Configuration
|
|
92
|
+
─────────────────────────
|
|
115
93
|
|
|
116
|
-
|
|
117
|
-
</details>
|
|
94
|
+
### Vercel
|
|
118
95
|
|
|
119
96
|
<details>
|
|
120
|
-
<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
|
+
```
|
|
121
113
|
|
|
122
|
-
|
|
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"`
|
|
123
119
|
|
|
124
|
-
|
|
120
|
+
4. **Required permissions:** Read access to deployments and projects
|
|
125
121
|
|
|
126
122
|
</details>
|
|
127
123
|
|
|
128
|
-
|
|
129
|
-
<summary><strong>Windsurf IDE</strong> ✅</summary>
|
|
130
|
-
|
|
131
|
-
**Official MCP support** - Native integration with Cascade
|
|
132
|
-
|
|
133
|
-
Navigate to Windsurf Settings → Advanced Settings → Cascade or edit `~/.codeium/windsurf/mcp_config.json`
|
|
134
|
-
|
|
135
|
-
</details>
|
|
124
|
+
### Netlify
|
|
136
125
|
|
|
137
126
|
<details>
|
|
138
|
-
<summary><strong>
|
|
139
|
-
|
|
140
|
-
|
|
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
|
+
```
|
|
141
143
|
|
|
142
|
-
|
|
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"`
|
|
143
149
|
|
|
144
|
-
|
|
145
|
-
{
|
|
146
|
-
"experimental": {
|
|
147
|
-
"modelContextProtocolServer": {
|
|
148
|
-
"transport": {
|
|
149
|
-
"type": "stdio",
|
|
150
|
-
"command": "npx",
|
|
151
|
-
"args": ["-y", "deploy-mcp"]
|
|
152
|
-
},
|
|
153
|
-
"env": {
|
|
154
|
-
"VERCEL_TOKEN": "your-vercel-token"
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
```
|
|
150
|
+
4. **Required permissions:** Read access to sites and deploys
|
|
160
151
|
|
|
161
|
-
Or create `.continue/mcpServers/` folder in your workspace.
|
|
162
152
|
</details>
|
|
163
153
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
**Official MCP support** - Can create and install tools automatically
|
|
154
|
+
## AI Assistant Configuration
|
|
155
|
+
─────────────────────────
|
|
168
156
|
|
|
169
|
-
|
|
170
|
-
- Ask: *"Add the deploy-mcp tool to check Vercel deployments"*
|
|
171
|
-
- Or manually configure via MCP Servers icon → Advanced MCP Settings
|
|
157
|
+
deploy-mcp works with any MCP-compatible AI assistant. Here's how to set it up:
|
|
172
158
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
**+ Any MCP-compatible tool**
|
|
176
|
-
Works with all AI assistants that support [Model Context Protocol](https://modelcontextprotocol.io)
|
|
159
|
+
### Claude Desktop
|
|
177
160
|
|
|
178
|
-
|
|
161
|
+
<details>
|
|
162
|
+
<summary><strong>Configuration</strong></summary>
|
|
179
163
|
|
|
180
|
-
|
|
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`
|
|
181
168
|
|
|
169
|
+
**Configuration:**
|
|
182
170
|
```json
|
|
183
171
|
{
|
|
184
172
|
"mcpServers": {
|
|
@@ -186,399 +174,248 @@ All AI tools (except Continue.dev) use the same configuration:
|
|
|
186
174
|
"command": "npx",
|
|
187
175
|
"args": ["-y", "deploy-mcp"],
|
|
188
176
|
"env": {
|
|
189
|
-
"VERCEL_TOKEN": "your-vercel-token"
|
|
177
|
+
"VERCEL_TOKEN": "your-vercel-token",
|
|
178
|
+
"NETLIFY_TOKEN": "your-netlify-token"
|
|
190
179
|
}
|
|
191
180
|
}
|
|
192
181
|
}
|
|
193
182
|
}
|
|
194
183
|
```
|
|
195
184
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
## Deployment Status Badges
|
|
199
|
-
|
|
200
|
-
Get live deployment status badges for your repositories that update in real-time via webhooks.
|
|
201
|
-
|
|
202
|
-
### Badge URLs
|
|
203
|
-
|
|
204
|
-
Add these badges to your README to show live deployment status:
|
|
205
|
-
|
|
206
|
-
```markdown
|
|
207
|
-

|
|
208
|
-
```
|
|
185
|
+
</details>
|
|
209
186
|
|
|
210
|
-
|
|
211
|
-
- `https://deploy-mcp.io/badge/john/my-app/vercel`
|
|
212
|
-
- `https://deploy-mcp.io/badge/youruser/yourrepo/vercel`
|
|
187
|
+
### VS Code
|
|
213
188
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
- **Vercel Pro/Enterprise plan** - Webhooks required for real-time badge updates
|
|
189
|
+
<details>
|
|
190
|
+
<summary><strong>Configuration</strong></summary>
|
|
217
191
|
|
|
218
|
-
**
|
|
192
|
+
**File location:**
|
|
193
|
+
- Workspace: `.vscode/mcp.json`
|
|
194
|
+
- Global: `~/.vscode/mcp.json`
|
|
219
195
|
|
|
220
|
-
|
|
196
|
+
**Requirements:** GitHub Copilot subscription with MCP enabled
|
|
221
197
|
|
|
222
|
-
|
|
198
|
+
**Configuration:** Same as Claude Desktop
|
|
223
199
|
|
|
224
|
-
|
|
200
|
+
</details>
|
|
225
201
|
|
|
226
|
-
|
|
202
|
+
### Cursor AI
|
|
227
203
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
3. **Click "Create Webhook"**
|
|
231
|
-
4. **Configure the webhook:**
|
|
232
|
-
- **URL**: `https://deploy-mcp.io/webhook/yourusername/yourrepo/vercel`
|
|
233
|
-
- **Events**: Select "Deployment Created", "Deployment Ready", and "Deployment Error"
|
|
234
|
-
- **Projects**: Choose your specific project or leave empty for all projects
|
|
235
|
-
- **Secret**: Leave empty (not required for public repositories)
|
|
236
|
-
5. **Save the webhook**
|
|
204
|
+
<details>
|
|
205
|
+
<summary><strong>Configuration</strong></summary>
|
|
237
206
|
|
|
238
|
-
**
|
|
207
|
+
**File location:** `~/.cursor/mcp.json`
|
|
239
208
|
|
|
240
|
-
**
|
|
209
|
+
**Setup:** Navigate to Cursor Settings → MCP
|
|
241
210
|
|
|
242
|
-
|
|
211
|
+
**Configuration:** Same as Claude Desktop
|
|
243
212
|
|
|
244
|
-
|
|
245
|
-
- ✅ Deployment started (badge shows "building")
|
|
246
|
-
- ✅ Deployment succeeded (badge shows "success")
|
|
247
|
-
- ❌ Deployment failed (badge shows "failed")
|
|
248
|
-
- ⚠️ Deployment errored (badge shows "error")
|
|
213
|
+
</details>
|
|
249
214
|
|
|
250
|
-
|
|
215
|
+
### Windsurf IDE
|
|
251
216
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
- 🟡 **Building** - Yellow badge during deployment
|
|
255
|
-
- ⚫ **Unknown** - Grey badge when no status available
|
|
256
|
-
- 🔴 **Error** - Red badge when deployment errored
|
|
217
|
+
<details>
|
|
218
|
+
<summary><strong>Configuration</strong></summary>
|
|
257
219
|
|
|
258
|
-
|
|
220
|
+
**File location:** `~/.codeium/windsurf/mcp_config.json`
|
|
259
221
|
|
|
260
|
-
|
|
261
|
-
2. **Configure the webhook** as described above
|
|
262
|
-
3. **Make a commit** and push to trigger a deployment
|
|
263
|
-
4. **Watch the badge** update in real-time during deployment
|
|
222
|
+
**Setup:** Settings → Advanced Settings → Cascade
|
|
264
223
|
|
|
265
|
-
**
|
|
224
|
+
**Configuration:** Same as Claude Desktop
|
|
266
225
|
|
|
226
|
+
</details>
|
|
267
227
|
|
|
268
|
-
###
|
|
228
|
+
### Continue.dev
|
|
269
229
|
|
|
270
230
|
<details>
|
|
271
|
-
<summary><strong>
|
|
231
|
+
<summary><strong>Configuration</strong></summary>
|
|
272
232
|
|
|
273
|
-
|
|
274
|
-
2. Click **"Create Token"**
|
|
275
|
-
3. Give it a descriptive name (e.g., "deploy-mcp")
|
|
276
|
-
4. Select appropriate scope (read-only is sufficient)
|
|
277
|
-
5. Copy the token and add it to your configuration
|
|
233
|
+
**File location:** `~/.continue/config.json`
|
|
278
234
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
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
|
+
```
|
|
283
253
|
|
|
284
|
-
1. Go to [Netlify User Settings](https://app.netlify.com/user/applications#personal-access-tokens)
|
|
285
|
-
2. Click **"New access token"**
|
|
286
|
-
3. Give it a descriptive name
|
|
287
|
-
4. Copy the token
|
|
288
254
|
</details>
|
|
289
255
|
|
|
290
|
-
|
|
291
|
-
<summary><strong>Railway</strong> (Coming Soon)</summary>
|
|
292
|
-
|
|
293
|
-
Railway integration is on our roadmap. [Star the repo](https://github.com/alexpota/deploy-mcp) to get notified!
|
|
294
|
-
</details>
|
|
256
|
+
### Cline (VS Code Extension)
|
|
295
257
|
|
|
296
258
|
<details>
|
|
297
|
-
<summary><strong>
|
|
259
|
+
<summary><strong>Configuration</strong></summary>
|
|
298
260
|
|
|
299
|
-
|
|
300
|
-
|
|
261
|
+
**Natural language setup:**
|
|
262
|
+
- Ask: *"Add the deploy-mcp tool to check deployments"*
|
|
301
263
|
|
|
302
|
-
|
|
264
|
+
**Manual setup:**
|
|
265
|
+
- MCP Servers icon → Advanced MCP Settings
|
|
303
266
|
|
|
304
|
-
|
|
267
|
+
**Configuration:** Same as Claude Desktop
|
|
305
268
|
|
|
306
|
-
|
|
269
|
+
</details>
|
|
307
270
|
|
|
308
|
-
|
|
309
|
-
|
|
271
|
+
## Deployment Status Badges
|
|
272
|
+
─────────────────────────
|
|
310
273
|
|
|
311
|
-
|
|
274
|
+
Get live deployment status badges for your repositories:
|
|
312
275
|
|
|
313
|
-
|
|
314
|
-
🌐 **Live URL**: https://my-app.vercel.app
|
|
315
|
-
⏱️ **Deployment Time**: 45 seconds
|
|
316
|
-
📅 **Last Deployed**: January 15, 2025 at 10:30 UTC
|
|
317
|
-
🌍 **Environment**: Production
|
|
276
|
+
### Badge Format
|
|
318
277
|
|
|
319
|
-
|
|
320
|
-
- SHA: `abc123ef`
|
|
321
|
-
- Message: "Update homepage hero section"
|
|
322
|
-
- Author: John Doe
|
|
278
|
+
The deploy-mcp.io endpoint returns JSON data for shields.io. Use the shields.io endpoint wrapper:
|
|
323
279
|
|
|
324
|
-
|
|
280
|
+
```markdown
|
|
281
|
+

|
|
325
282
|
```
|
|
326
283
|
|
|
327
|
-
|
|
328
|
-
- `"Is my website deployment finished?"`
|
|
329
|
-
- `"Show me the deployment status for project-xyz"`
|
|
330
|
-
- `"Check if the production deployment succeeded"`
|
|
331
|
-
- `"What's the status of my latest deploy?"`
|
|
332
|
-
|
|
333
|
-
### Badge Usage
|
|
334
|
-
|
|
335
|
-
Add live deployment status badges to your README:
|
|
284
|
+
### Examples by Platform
|
|
336
285
|
|
|
286
|
+
#### Vercel Badge
|
|
337
287
|
```markdown
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-

|
|
288
|
+

|
|
289
|
+
```
|
|
341
290
|
|
|
342
|
-
|
|
291
|
+
#### Netlify Badge
|
|
292
|
+
```markdown
|
|
293
|
+

|
|
343
294
|
```
|
|
344
295
|
|
|
345
|
-
|
|
296
|
+
#### Multiple Badges
|
|
346
297
|
```markdown
|
|
347
|
-
|
|
348
|
-
|
|
298
|
+

|
|
299
|
+

|
|
349
300
|
```
|
|
350
301
|
|
|
302
|
+
### Webhook Configuration
|
|
351
303
|
|
|
352
|
-
|
|
353
|
-
Retrieve the latest deployment status for a project.
|
|
304
|
+
For real-time badge updates, configure webhooks:
|
|
354
305
|
|
|
355
306
|
<details>
|
|
356
|
-
<summary><strong>
|
|
307
|
+
<summary><strong>Vercel Webhooks</strong> (Pro/Enterprise only)</summary>
|
|
357
308
|
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
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
|
|
363
316
|
|
|
364
317
|
</details>
|
|
365
318
|
|
|
366
319
|
<details>
|
|
367
|
-
<summary><strong>
|
|
320
|
+
<summary><strong>Netlify Webhooks</strong></summary>
|
|
368
321
|
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
platform: string,
|
|
375
|
-
timestamp: string,
|
|
376
|
-
duration: number,
|
|
377
|
-
environment: "production" | "preview" | "development",
|
|
378
|
-
commit: {
|
|
379
|
-
sha: string,
|
|
380
|
-
message: string,
|
|
381
|
-
author: string
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
```
|
|
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
|
|
385
327
|
|
|
386
328
|
</details>
|
|
387
329
|
|
|
388
|
-
|
|
330
|
+
**Note:** Badges require public repositories. Private repo support coming soon.
|
|
389
331
|
|
|
390
|
-
|
|
332
|
+
## Available Tools
|
|
333
|
+
─────────────────────────
|
|
391
334
|
|
|
392
|
-
|
|
335
|
+
deploy-mcp provides these tools to your AI assistant:
|
|
393
336
|
|
|
394
|
-
|
|
395
|
-
- npm, yarn, or pnpm
|
|
337
|
+
### Core Tools
|
|
396
338
|
|
|
397
|
-
|
|
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"* |
|
|
398
345
|
|
|
399
|
-
|
|
400
|
-
# Clone the repository
|
|
401
|
-
git clone https://github.com/alexpota/deploy-mcp.git
|
|
402
|
-
cd deploy-mcp
|
|
346
|
+
### Platform-Specific Usage
|
|
403
347
|
|
|
404
|
-
|
|
405
|
-
npm install
|
|
348
|
+
Commands work across all configured platforms:
|
|
406
349
|
|
|
407
|
-
|
|
408
|
-
|
|
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"
|
|
409
355
|
```
|
|
410
356
|
|
|
411
|
-
|
|
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
|
|
412
361
|
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
npm test
|
|
362
|
+
## Security
|
|
363
|
+
─────────────────────────
|
|
416
364
|
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
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
|
|
420
369
|
|
|
421
|
-
|
|
370
|
+
## Advanced Configuration
|
|
371
|
+
─────────────────────────
|
|
422
372
|
|
|
423
|
-
|
|
424
|
-
# Build TypeScript
|
|
425
|
-
npm run build
|
|
373
|
+
### Environment Variables
|
|
426
374
|
|
|
427
|
-
|
|
428
|
-
npm run deploy
|
|
375
|
+
You can also set tokens via environment variables:
|
|
429
376
|
|
|
430
|
-
|
|
431
|
-
|
|
377
|
+
```bash
|
|
378
|
+
export VERCEL_TOKEN="your-vercel-token"
|
|
379
|
+
export NETLIFY_TOKEN="your-netlify-token"
|
|
380
|
+
npx deploy-mcp
|
|
432
381
|
```
|
|
433
382
|
|
|
434
|
-
|
|
383
|
+
### Custom Installation
|
|
435
384
|
|
|
436
|
-
|
|
437
|
-
deploy-mcp/
|
|
438
|
-
├── src/
|
|
439
|
-
│ ├── index.ts # MCP server entry point
|
|
440
|
-
│ ├── worker.ts # Cloudflare Worker for website
|
|
441
|
-
│ ├── adapters/ # Platform adapters (new structure)
|
|
442
|
-
│ │ ├── base/ # Base adapter framework
|
|
443
|
-
│ │ │ ├── adapter.ts # Abstract base class
|
|
444
|
-
│ │ │ ├── types.ts # Common interfaces
|
|
445
|
-
│ │ │ └── index.ts # Base exports
|
|
446
|
-
│ │ ├── vercel/ # Vercel platform support
|
|
447
|
-
│ │ │ ├── index.ts # Main adapter class
|
|
448
|
-
│ │ │ ├── types.ts # Vercel-specific types
|
|
449
|
-
│ │ │ ├── api.ts # API client
|
|
450
|
-
│ │ │ └── __tests__/ # Vercel tests
|
|
451
|
-
│ │ └── index.ts # All adapter exports
|
|
452
|
-
│ ├── core/
|
|
453
|
-
│ │ ├── mcp-handler.ts # MCP protocol implementation
|
|
454
|
-
│ │ └── tools.ts # MCP tool definitions
|
|
455
|
-
│ ├── server/
|
|
456
|
-
│ │ └── badge.ts # SVG badge generation (v0.2.0)
|
|
457
|
-
│ └── types.ts # TypeScript definitions
|
|
458
|
-
├── tests/ # Integration tests
|
|
459
|
-
├── dist/ # Compiled output
|
|
460
|
-
├── wrangler.toml # Cloudflare config
|
|
461
|
-
├── tsconfig.json # TypeScript config
|
|
462
|
-
└── package.json # Project metadata
|
|
463
|
-
```
|
|
385
|
+
For production use, install globally:
|
|
464
386
|
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
- **Local-Only Tokens** - Your API tokens never leave your machine
|
|
470
|
-
- **No Data Collection** - We don't track, log, or store any user data
|
|
471
|
-
- **Direct API Calls** - All platform APIs are called directly from your local MCP server
|
|
472
|
-
- **Open Source** - Full transparency with auditable code
|
|
473
|
-
- **Badge Service** - Coming in v0.2.0 with webhook-based live deployment badges
|
|
474
|
-
|
|
475
|
-
### Best Practices
|
|
476
|
-
|
|
477
|
-
1. **Use Read-Only Tokens** - When possible, create tokens with minimal permissions
|
|
478
|
-
2. **Rotate Tokens Regularly** - Update your tokens periodically
|
|
479
|
-
3. **Environment Variables** - Store tokens in environment variables, not in code
|
|
480
|
-
4. **Git Ignore** - Never commit configuration files with tokens
|
|
481
|
-
|
|
482
|
-
## Platform Support
|
|
483
|
-
|
|
484
|
-
<table>
|
|
485
|
-
<thead>
|
|
486
|
-
<tr>
|
|
487
|
-
<th>Platform</th>
|
|
488
|
-
<th>Status</th>
|
|
489
|
-
<th>Features</th>
|
|
490
|
-
<th>Documentation</th>
|
|
491
|
-
</tr>
|
|
492
|
-
</thead>
|
|
493
|
-
<tbody>
|
|
494
|
-
<tr>
|
|
495
|
-
<td><strong>Vercel</strong></td>
|
|
496
|
-
<td><strong>✓ Supported</strong></td>
|
|
497
|
-
<td>Full deployment tracking with real-time status updates</td>
|
|
498
|
-
<td><a href="https://deploy-mcp.io/docs/vercel">View Guide</a></td>
|
|
499
|
-
</tr>
|
|
500
|
-
<tr>
|
|
501
|
-
<td><strong>Netlify</strong></td>
|
|
502
|
-
<td><strong>Coming Soon</strong></td>
|
|
503
|
-
<td>In active development</td>
|
|
504
|
-
<td>Coming soon</td>
|
|
505
|
-
</tr>
|
|
506
|
-
<tr>
|
|
507
|
-
<td><strong>Railway</strong></td>
|
|
508
|
-
<td><strong>Planned</strong></td>
|
|
509
|
-
<td>On the roadmap</td>
|
|
510
|
-
<td>-</td>
|
|
511
|
-
</tr>
|
|
512
|
-
<tr>
|
|
513
|
-
<td><strong>Render</strong></td>
|
|
514
|
-
<td><strong>Planned</strong></td>
|
|
515
|
-
<td>On the roadmap</td>
|
|
516
|
-
<td>-</td>
|
|
517
|
-
</tr>
|
|
518
|
-
</tbody>
|
|
519
|
-
</table>
|
|
520
|
-
|
|
521
|
-
Want support for another platform? [Open an issue](https://github.com/alexpota/deploy-mcp/issues/new) or submit a PR\!
|
|
387
|
+
```bash
|
|
388
|
+
npm install -g deploy-mcp
|
|
389
|
+
deploy-mcp
|
|
390
|
+
```
|
|
522
391
|
|
|
523
392
|
## Contributing
|
|
393
|
+
─────────────────────────
|
|
524
394
|
|
|
525
|
-
We
|
|
526
|
-
|
|
527
|
-
### Quick Start
|
|
395
|
+
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
528
396
|
|
|
529
|
-
|
|
530
|
-
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
|
|
531
|
-
3. Commit your changes (`git commit -m 'Add amazing feature'`)
|
|
532
|
-
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
533
|
-
5. Open a Pull Request
|
|
397
|
+
### Adding New Platforms
|
|
534
398
|
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
1. **Create an adapter folder** in `src/adapters/your-platform/`
|
|
540
|
-
2. **Implement the interface**:
|
|
541
|
-
```typescript
|
|
542
|
-
export class YourPlatformAdapter extends BaseAdapter {
|
|
543
|
-
async getDeploymentStatus(project: string, token: string) {
|
|
544
|
-
// Your implementation
|
|
545
|
-
}
|
|
546
|
-
}
|
|
547
|
-
```
|
|
548
|
-
3. **Add tests** in `src/adapters/your-platform/__tests__/`
|
|
549
|
-
4. **Update docs** with setup instructions
|
|
550
|
-
5. **Submit a PR** and we'll review it\!
|
|
551
|
-
|
|
552
|
-
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
|
|
553
403
|
|
|
554
404
|
## License
|
|
405
|
+
─────────────────────────
|
|
555
406
|
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
## Acknowledgments
|
|
559
|
-
|
|
560
|
-
- Built with [Model Context Protocol SDK](https://github.com/modelcontextprotocol/sdk) by Anthropic
|
|
561
|
-
- Hosted on [Cloudflare Workers](https://workers.cloudflare.com) for global edge performance
|
|
562
|
-
- Icons from [Feather Icons](https://feathericons.com) and [Heroicons](https://heroicons.com)
|
|
407
|
+
Apache 2.0 - See [LICENSE](LICENSE) for details.
|
|
563
408
|
|
|
564
|
-
##
|
|
409
|
+
## Links
|
|
410
|
+
─────────────────────────
|
|
565
411
|
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
<a href="https://github.com/alexpota/deploy-mcp/issues">
|
|
571
|
-
<img src="https://img.shields.io/badge/Report-Issues-ff6b6b?style=for-the-badge&logo=github" alt="Report Issues" />
|
|
572
|
-
</a>
|
|
573
|
-
<a href="mailto:alex.potapenko.dev@gmail.com">
|
|
574
|
-
<img src="https://img.shields.io/badge/Email-alex.potapenko.dev@gmail.com-ff6b6b?style=for-the-badge&logo=gmail" alt="Email" />
|
|
575
|
-
</a>
|
|
576
|
-
</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)
|
|
577
416
|
|
|
578
417
|
---
|
|
579
418
|
|
|
580
419
|
<div align="center">
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
</div>
|
|
584
|
-
|
|
420
|
+
Made with ❤️ for developers who love AI-assisted coding
|
|
421
|
+
</div>
|