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) π€











