aparajithn/agent-deploy-dashboard-mcp
Unified deployment dashboard MCP server across Vercel, Render, Railway, and Fly.io. 9 tools for deploy status, logs, environment variables, rollback, and health checks across all platforms. Free tier with x402 micropayments.
Ask AI about aparajithn/agent-deploy-dashboard-mcp
Powered by Claude Β· Grounded in docs
I know everything about aparajithn/agent-deploy-dashboard-mcp. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
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:
{
"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:
{
"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:
{
"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:
{
"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:
{
"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:
{
"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:
{
"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:
{
"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:
{
"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:
{
"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:
{
"success": true,
"logs": [...],
"count": 50
}
8. check_health(url)
Ping a health endpoint.
Parameters:
url(string): URL to check
Returns:
{
"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:
{
"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
- Name:
- 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) π€
