Agent Deploy Dashboard MCP Server
Unified deployment management for AI agents ā manage Vercel, Render, Railway, and Fly.io services from a single MCP + REST API.

Features
š Multi-Platform Support ā Manage Vercel, Render, Railway, and Fly.io from one interface š Deployment Status ā Check deploy status and health across all platforms š Unified Logging ā Tail logs and view build logs āļø Environment Management ā List, update, and manage env vars š Redeploy Operations ā Trigger redeployments and rollbacks š° x402 Micropayments ā Built-in payment middleware for API monetization š Rate Limiting ā 50 free requests/IP/day with paid tier support
Quick Start
MCP Configuration
Add to your MCP settings file (cline_mcp_settings.json or similar):
{
"mcpServers": {
"agent-deploy-dashboard": {
"url": "https://agent-deploy-dashboard-mcp.onrender.com/mcp"
}
}
}
REST API
Base URL: https://agent-deploy-dashboard-mcp.onrender.com
List All Services
curl -X GET https://agent-deploy-dashboard-mcp.onrender.com/api/v1/list_all_services
Response: ``json { "success": true, "services": [ { "id": "prj_abc123", "name": "my-app", "platform": "vercel", "url": "https://my-app.vercel.app", "framework": "nextjs" }, { "id": "srv_xyz789", "name": "api-service", "platform": "render", "type": "web_service", "region": "oregon" } ], "count": 2 } ``
Get Deploy Status
curl -X POST https://agent-deploy-dashboard-mcp.onrender.com/api/v1/get_deploy_status \
-H "Content-Type: application/json" \
-d '{
"platform": "vercel",
"service_id": "prj_abc123"
}'
Response: ``json { "success": true, "platform": "vercel", "service_id": "prj_abc123", "deployment_id": "dpl_xyz", "status": "READY", "url": "https://my-app.vercel.app", "created_at": 1709823600000 } ``
Tail Logs
curl -X POST https://agent-deploy-dashboard-mcp.onrender.com/api/v1/tail_logs \
-H "Content-Type: application/json" \
-d '{
"platform": "render",
"service_id": "srv_xyz789",
"lines": 50
}'
Get Environment Variables
curl -X POST https://agent-deploy-dashboard-mcp.onrender.com/api/v1/get_env_vars \
-H "Content-Type: application/json" \
-d '{
"platform": "vercel",
"service_id": "prj_abc123"
}'
Response: ``json { "success": true, "platform": "vercel", "service_id": "prj_abc123", "env_vars": { "DATABASE_URL": { "value": "[ENCRYPTED]", "target": ["production"], "type": "encrypted" }, "API_KEY": { "value": "abc123", "target": ["production", "preview"], "type": "plain" } }, "count": 2 } ``
Set Environment Variable
curl -X POST https://agent-deploy-dashboard-mcp.onrender.com/api/v1/set_env_var \
-H "Content-Type: application/json" \
-d '{
"platform": "render",
"service_id": "srv_xyz789",
"key": "NEW_FEATURE_FLAG",
"value": "true"
}'
Trigger Redeploy
curl -X POST https://agent-deploy-dashboard-mcp.onrender.com/api/v1/trigger_redeploy \
-H "Content-Type: application/json" \
-d '{
"platform": "vercel",
"service_id": "prj_abc123"
}'
Get Build Logs
curl -X POST https://agent-deploy-dashboard-mcp.onrender.com/api/v1/get_build_logs \
-H "Content-Type: application/json" \
-d '{
"platform": "vercel",
"deploy_id": "dpl_xyz"
}'
Check Health
curl -X POST https://agent-deploy-dashboard-mcp.onrender.com/api/v1/check_health \
-H "Content-Type: application/json" \
-d '{
"url": "https://my-app.vercel.app/health"
}'
Response: ``json { "success": true, "url": "https://my-app.vercel.app/health", "status_code": 200, "healthy": true, "response_time_ms": 142, "headers": { "content-type": "application/json", "x-vercel-id": "sfo1::abc123" } } ``
Pricing
Free Tier
- 50 requests per IP per day
- All tools included
- All platforms supported
- No credit card required
Paid Tier (HTTP 402 Payment)
After free tier exhausted:
- $0.01 per request
- Payment via HTTP 402 with crypto wallet
- Wallet address:
0x8E844a7De89d7CfBFe9B4453E65935A22F146aBB - Include
X-Paymentheader with payment proof
Platform Support
| Platform | List Services | Deploy Status | Logs | Env Vars | Redeploy | Build Logs | |----------|--------------|---------------|------|----------|----------|------------| | Vercel | ā Full | ā Full | ā ļø Build only | ā Full | ā Full | ā Full | | Render | ā Full | ā Full | ā Full | ā Full | ā Full | ā Full | | Railway | ā Basic | ā³ Planned | ā³ Planned | ā³ Planned | ā³ Planned | ā³ Planned | | Fly.io | ā Basic | ā³ Planned | ā³ Planned | ā³ Planned | ā³ Planned | ā³ Planned |
ā = Fully implemented ā ļø = Partial implementation ā³ = Planned/stub implementation
Tools Reference
1. list_all_services()
List all services across all platforms.
Parameters: None
Returns: ``json { "success": true, "services": [...], "count": 10, "errors": null } ``
---
2. get_deploy_status(platform, service_id)
Check deployment status for a specific service.
Parameters:
platform(string): Platform name āvercel,render,railway, orflyservice_id(string): Service/project ID
Returns: ``json { "success": true, "platform": "vercel", "service_id": "prj_abc", "deployment_id": "dpl_xyz", "status": "READY", "url": "https://...", "created_at": 1709823600000 } ``
---
3. tail_logs(platform, service_id, lines=100)
Stream recent logs from a service.
Parameters:
platform(string): Platform nameservice_id(string): Service/project IDlines(integer, optional): Number of log lines (default: 100)
Returns: ``json { "success": true, "platform": "render", "service_id": "srv_xyz", "logs": [...], "count": 100 } ``
---
4. get_env_vars(platform, service_id)
List environment variables for a service.
Parameters:
platform(string): Platform nameservice_id(string): Service/project ID
Returns: ``json { "success": true, "platform": "vercel", "env_vars": {"KEY": "value"}, "count": 5 } ``
---
5. set_env_var(platform, service_id, key, value)
Update an environment variable.
Parameters:
platform(string): Platform nameservice_id(string): Service/project IDkey(string): Environment variable namevalue(string): Environment variable value
Returns: ``json { "success": true, "message": "Environment variable set successfully" } ``
---
6. trigger_redeploy(platform, service_id)
Force redeploy a service.
Parameters:
platform(string): Platform nameservice_id(string): Service/project ID
Returns: ``json { "success": true, "deployment_id": "dpl_new", "message": "Redeploy triggered successfully" } ``
---
7. get_build_logs(platform, deploy_id)
Fetch build logs for a deployment.
Parameters:
platform(string): Platform namedeploy_id(string): Deployment ID
Returns: ``json { "success": true, "logs": [...], "count": 50 } ``
---
8. check_health(url)
Ping a health endpoint.
Parameters:
url(string): URL to check
Returns: ``json { "success": true, "status_code": 200, "healthy": true, "response_time_ms": 142 } ``
---
9. rollback_deploy(platform, service_id, version)
Rollback to a previous deployment version.
Parameters:
platform(string): Platform nameservice_id(string): Service/project IDversion(string): Version/deployment ID to rollback to
Returns: ``json { "success": false, "error": "Rollback not yet implemented for this platform" } ``
---
Environment Variables
Configure platform API access via environment variables:
# Vercel
VERCEL_TOKEN=your_vercel_token
# Render
RENDER_API_KEY=your_render_api_key
# Railway
RAILWAY_TOKEN=your_railway_token
# Fly.io
FLY_API_TOKEN=your_fly_api_token
# Payment (optional)
X402_WALLET_ADDRESS=0x8E844a7De89d7CfBFe9B4453E65935A22F146aBB
Get your API tokens:
- Vercel: https://vercel.com/account/tokens
- Render: https://dashboard.render.com/u/settings#api-keys
- Railway: https://railway.app/account/tokens
- Fly.io: Run
flyctl auth token
Development
Local Setup
# Clone repo
git clone https://github.com/aparajithn/agent-deploy-dashboard-mcp.git
cd agent-deploy-dashboard-mcp
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -e ".[dev]"
# Set environment variables
export VERCEL_TOKEN=your_token
export RENDER_API_KEY=your_key
# Run server
uvicorn src.main:app --reload --port 8080
Test Endpoints
# Health check
curl http://localhost:8080/health
# List services (requires platform tokens)
curl http://localhost:8080/api/v1/list_all_services
# Test MCP protocol
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}'
# List MCP tools
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
Docker
# Build
docker build -t agent-deploy-dashboard-mcp .
# Run
docker run -p 8080:8080 \
-e VERCEL_TOKEN=your_token \
-e RENDER_API_KEY=your_key \
-e PUBLIC_HOST=localhost \
agent-deploy-dashboard-mcp
Deployment on Render
Via Web UI
- Fork this repo to your GitHub account
- Go to Render Dashboard
- Click New ā Web Service
- Connect your GitHub repo:
aparajithn/agent-deploy-dashboard-mcp - Configure:
- Name:
agent-deploy-dashboard-mcp - Runtime: Docker
- Region: Oregon (or closest)
- Instance Type: Free
- Add environment variables:
VERCEL_TOKENRENDER_API_KEYRAILWAY_TOKEN(optional)FLY_API_TOKEN(optional)X402_WALLET_ADDRESS(optional)PUBLIC_HOST=agent-deploy-dashboard-mcp.onrender.com
- Click Create Web Service
Via Render API
curl -X POST https://api.render.com/v1/services \
-H "Authorization: Bearer $RENDER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "web_service",
"name": "agent-deploy-dashboard-mcp",
"repo": "https://github.com/aparajithn/agent-deploy-dashboard-mcp",
"branch": "main",
"runtime": "docker",
"plan": "free",
"region": "oregon",
"envVars": [
{"key": "VERCEL_TOKEN", "value": "your_token"},
{"key": "RENDER_API_KEY", "value": "your_key"},
{"key": "PUBLIC_HOST", "value": "agent-deploy-dashboard-mcp.onrender.com"}
]
}'
Architecture
agent-deploy-dashboard-mcp/
āāā src/
ā āāā main.py # FastMCP server + REST API
ā āāā tools/
ā ā āāā platforms.py # Platform API clients (Vercel, Render, etc)
ā ā āāā deploy_tools.py # Tool implementations
ā āāā middleware/
ā āāā rate_limit.py # Rate limiting
ā āāā x402.py # Payment middleware
āāā Dockerfile
āāā pyproject.toml
āāā README.md
Tech Stack
- Python 3.11 ā Modern async/await
- FastAPI ā REST API framework
- FastMCP ā MCP protocol implementation (Streamable HTTP)
- httpx ā Fast async HTTP client
- Pydantic ā Data validation
API Reference Docs
Once deployed, view interactive API docs at:
- Swagger UI:
https://agent-deploy-dashboard-mcp.onrender.com/docs - OpenAPI JSON:
https://agent-deploy-dashboard-mcp.onrender.com/openapi.json
License
MIT License ā see LICENSE for details.
Support
- Issues: GitHub Issues
- Email: aparajith@dabaracoffee.com
---
Built for AI agents by Forge (Aparajith's coding agent) š¤






