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 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
- // In your AI conversation:
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
- ## Configuration
95
-
96
- ### AI Assistants
97
-
98
- <details>
99
- <summary><strong>Claude Desktop</strong> ✅</summary>
59
+ ## Supported Platforms
60
+ ─────────────────────────
100
61
 
101
- **Official MCP support** - Ready to use today
62
+ deploy-mcp supports multiple deployment platforms simultaneously. Configure as many as you need:
102
63
 
103
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
104
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
105
- **Linux**: `~/.config/Claude/claude_desktop_config.json`
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
- </details>
71
+ ### Multi-Platform Configuration
108
72
 
109
- <details>
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
- **Official MCP support** - Generally available in VS Code 1.102+
75
+ ```json
76
+ {
77
+ "mcpServers": {
78
+ "deploy-mcp": {
79
+ "command": "npx",
80
+ "args": ["-y", "deploy-mcp"],
81
+ "env": {
82
+ "VERCEL_TOKEN": "your-vercel-token",
83
+ "NETLIFY_TOKEN": "your-netlify-token"
84
+ // Add more platform tokens as needed
85
+ }
86
+ }
87
+ }
88
+ }
89
+ ```
113
90
 
114
- Add to workspace `.vscode/mcp.json` or global `~/.vscode/mcp.json`
91
+ ## Platform Configuration
92
+ ─────────────────────────
115
93
 
116
- Requires GitHub Copilot subscription and MCP policy enabled by organization.
117
- </details>
94
+ ### Vercel
118
95
 
119
96
  <details>
120
- <summary><strong>Cursor AI</strong> ✅</summary>
97
+ <summary><strong>Setup Instructions</strong></summary>
98
+
99
+ 1. **Get your API token:**
100
+ - Go to [vercel.com/account/tokens](https://vercel.com/account/tokens)
101
+ - Click "Create Token"
102
+ - Give it a descriptive name (e.g., "deploy-mcp")
103
+ - Copy the token
104
+
105
+ 2. **Add to your AI assistant configuration:**
106
+ ```json
107
+ {
108
+ "env": {
109
+ "VERCEL_TOKEN": "your-vercel-token"
110
+ }
111
+ }
112
+ ```
121
113
 
122
- **Official MCP support** - Available with one-click installation
114
+ 3. **Available commands:**
115
+ - `"Check my Vercel deployment for project-name"`
116
+ - `"What's the status of my latest Vercel deployment?"`
117
+ - `"Show me Vercel deployment logs"`
118
+ - `"Watch my Vercel deployment progress"`
123
119
 
124
- Navigate to Cursor Settings MCP or create `~/.cursor/mcp.json`
120
+ 4. **Required permissions:** Read access to deployments and projects
125
121
 
126
122
  </details>
127
123
 
128
- <details>
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>Continue.dev</strong> ✅</summary>
139
-
140
- **Official MCP support** - Available in agent mode
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
- Add to your `config.json` with different structure:
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
- ```json
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
- <details>
165
- <summary><strong>Cline (VS Code)</strong> ✅</summary>
166
-
167
- **Official MCP support** - Can create and install tools automatically
154
+ ## AI Assistant Configuration
155
+ ─────────────────────────
168
156
 
169
- Cline can install deploy-mcp through natural language:
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
- </details>
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
- ### MCP Configuration
161
+ <details>
162
+ <summary><strong>Configuration</strong></summary>
179
163
 
180
- All AI tools (except Continue.dev) use the same configuration:
164
+ **File location:**
165
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
166
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
167
+ - **Linux**: `~/.config/Claude/claude_desktop_config.json`
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
- 💡 Replace `your-vercel-token` with your actual Vercel API token from [vercel.com/account/tokens](https://vercel.com/account/tokens)
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
- ![Vercel Deployment](https://deploy-mcp.io/badge/username/repository/vercel)
208
- ```
185
+ </details>
209
186
 
210
- **Examples:**
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
- **⚠️ Requirements:**
215
- - **Public repositories only** - Private repos not supported for security reasons
216
- - **Vercel Pro/Enterprise plan** - Webhooks required for real-time badge updates
189
+ <details>
190
+ <summary><strong>Configuration</strong></summary>
217
191
 
218
- **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.
192
+ **File location:**
193
+ - Workspace: `.vscode/mcp.json`
194
+ - Global: `~/.vscode/mcp.json`
219
195
 
220
- ### Setting Up Webhooks
196
+ **Requirements:** GitHub Copilot subscription with MCP enabled
221
197
 
222
- For badges to show real-time status, configure webhooks in your deployment platform:
198
+ **Configuration:** Same as Claude Desktop
223
199
 
224
- #### Vercel Setup
200
+ </details>
225
201
 
226
- **Note:** Vercel webhooks require a Pro or Enterprise plan.
202
+ ### Cursor AI
227
203
 
228
- 1. **Go to your Vercel team settings**
229
- 2. **Navigate to "Webhooks" section**
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
- **Important:** Replace `yourusername` and `yourrepo` with your actual GitHub username and repository name.
207
+ **File location:** `~/.cursor/mcp.json`
239
208
 
240
- **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.
209
+ **Setup:** Navigate to Cursor Settings MCP
241
210
 
242
- #### Supported Events
211
+ **Configuration:** Same as Claude Desktop
243
212
 
244
- The webhook will trigger on:
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
- #### Badge Status Colors
215
+ ### Windsurf IDE
251
216
 
252
- - 🟢 **Success** - Green badge when deployment is live
253
- - 🔴 **Failed** - Red badge when deployment failed
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
- ### Testing Your Setup
220
+ **File location:** `~/.codeium/windsurf/mcp_config.json`
259
221
 
260
- 1. **Add the badge** to your repository README
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
- **Initial badge status will show "unknown" until the first webhook is received.**
224
+ **Configuration:** Same as Claude Desktop
266
225
 
226
+ </details>
267
227
 
268
- ### Getting API Tokens
228
+ ### Continue.dev
269
229
 
270
230
  <details>
271
- <summary><strong>Vercel</strong></summary>
231
+ <summary><strong>Configuration</strong></summary>
272
232
 
273
- 1. Go to [Vercel Dashboard](https://vercel.com/account/tokens)
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
- </details>
280
-
281
- <details>
282
- <summary><strong>Netlify</strong> (Coming Soon)</summary>
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
- <details>
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>Render</strong> (Coming Soon)</summary>
259
+ <summary><strong>Configuration</strong></summary>
298
260
 
299
- Render integration is on our roadmap. [Star the repo](https://github.com/alexpota/deploy-mcp) to get notified!
300
- </details>
261
+ **Natural language setup:**
262
+ - Ask: *"Add the deploy-mcp tool to check deployments"*
301
263
 
302
- ## Usage Examples
264
+ **Manual setup:**
265
+ - MCP Servers icon → Advanced MCP Settings
303
266
 
304
- ### MCP Server Usage
267
+ **Configuration:** Same as Claude Desktop
305
268
 
306
- Once configured with your AI assistant, simply ask:
269
+ </details>
307
270
 
308
- ```
309
- You: Check my latest Vercel deployment
271
+ ## Deployment Status Badges
272
+ ─────────────────────────
310
273
 
311
- Assistant: I'll check your latest Vercel deployment for you.
274
+ Get live deployment status badges for your repositories:
312
275
 
313
- **Status**: Success
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
- **Latest Commit**:
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
- Everything looks good - your deployment is live and running successfully!
280
+ ```markdown
281
+ ![Platform Deployment](https://img.shields.io/endpoint?url=https://deploy-mcp.io/badge/{username}/{repository}/{platform})
325
282
  ```
326
283
 
327
- **More examples:**
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
- # My Project
339
-
340
- ![Vercel](https://deploy-mcp.io/badge/yourusername/yourrepo/vercel)
288
+ ![Vercel](https://img.shields.io/endpoint?url=https://deploy-mcp.io/badge/john/my-app/vercel)
289
+ ```
341
290
 
342
- <!-- Other content -->
291
+ #### Netlify Badge
292
+ ```markdown
293
+ ![Netlify](https://img.shields.io/endpoint?url=https://deploy-mcp.io/badge/john/my-app/netlify)
343
294
  ```
344
295
 
345
- **Multiple platforms:**
296
+ #### Multiple Badges
346
297
  ```markdown
347
- [![Vercel](https://deploy-mcp.io/badge/user/repo/vercel)](https://deploy-mcp.io)
348
- [![Netlify](https://deploy-mcp.io/badge/user/repo/netlify)](https://deploy-mcp.io)
298
+ ![Vercel](https://img.shields.io/endpoint?url=https://deploy-mcp.io/badge/john/my-app/vercel)
299
+ ![Netlify](https://img.shields.io/endpoint?url=https://deploy-mcp.io/badge/john/my-app/netlify)
349
300
  ```
350
301
 
302
+ ### Webhook Configuration
351
303
 
352
- ## MCP Tools Reference
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>Parameters</strong></summary>
307
+ <summary><strong>Vercel Webhooks</strong> (Pro/Enterprise only)</summary>
357
308
 
358
- | Parameter | Type | Required | Description |
359
- |-----------|------|----------|-------------|
360
- | `platform` | string | ✓ | Deployment platform (`vercel`, `netlify`, etc.) |
361
- | `project` | string | ✓ | Project name or ID |
362
- | `token` | string | ✗ | API token (uses env variable if not provided) |
309
+ 1. Go to your Vercel team settings
310
+ 2. Navigate to "Webhooks" section
311
+ 3. Click "Create Webhook"
312
+ 4. Configure:
313
+ - **URL**: `https://deploy-mcp.io/webhook/{username}/{repo}/vercel`
314
+ - **Events**: Deployment Created, Ready, Error
315
+ - **Projects**: Select specific or all
363
316
 
364
317
  </details>
365
318
 
366
319
  <details>
367
- <summary><strong>Response Format</strong></summary>
320
+ <summary><strong>Netlify Webhooks</strong></summary>
368
321
 
369
- ```typescript
370
- {
371
- status: "success" | "failed" | "building" | "error",
372
- url: string,
373
- projectName: string,
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
- ## Development
330
+ **Note:** Badges require public repositories. Private repo support coming soon.
389
331
 
390
- For contributors who want to help develop deploy-mcp.
332
+ ## Available Tools
333
+ ─────────────────────────
391
334
 
392
- ### Prerequisites
335
+ deploy-mcp provides these tools to your AI assistant:
393
336
 
394
- - Node.js 22 or higher
395
- - npm, yarn, or pnpm
337
+ ### Core Tools
396
338
 
397
- ### Local Development
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
- ```bash
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
- # Install dependencies
405
- npm install
348
+ Commands work across all configured platforms:
406
349
 
407
- # Run in development mode
408
- npm run dev
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
- ### Testing
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
- ```bash
414
- # Run tests
415
- npm test
362
+ ## Security
363
+ ─────────────────────────
416
364
 
417
- # Type checking
418
- npm run lint
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
- ### Building & Deployment
370
+ ## Advanced Configuration
371
+ ─────────────────────────
422
372
 
423
- ```bash
424
- # Build TypeScript
425
- npm run build
373
+ ### Environment Variables
426
374
 
427
- # Deploy worker to Cloudflare
428
- npm run deploy
375
+ You can also set tokens via environment variables:
429
376
 
430
- # Development worker server
431
- npm run dev:worker
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
- ## Project Structure
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
- ## Security
466
-
467
- ### Our Security Commitments
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 love contributions\! Whether it's a bug fix, new feature, or platform support, we'd love to have you.
526
-
527
- ### Quick Start
395
+ We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
528
396
 
529
- 1. Fork the repository
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
- ### Adding Platform Support
536
-
537
- Want to add support for a new platform? Here's how:
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
- This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
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
- ## Community & Support
409
+ ## Links
410
+ ─────────────────────────
565
411
 
566
- <div align="center">
567
- <a href="https://github.com/alexpota/deploy-mcp/discussions">
568
- <img src="https://img.shields.io/badge/GitHub-Discussions-181717?style=for-the-badge&logo=github" alt="GitHub Discussions" />
569
- </a>
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
- <p>Made with ❤️ by <a href="https://github.com/alexpota">Alex Potapenko</a> and contributors</p>
582
- <p><a href="https://deploy-mcp.io">deploy-mcp.io</a> • <a href="https://github.com/alexpota/deploy-mcp">GitHub</a> • <a href="https://www.npmjs.com/package/deploy-mcp">NPM</a></p>
583
- </div>
584
-
420
+ Made with ❤️ for developers who love AI-assisted coding
421
+ </div>