Skip to main content
Glama
aparajithn

agent-deploy-dashbaord

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.

License: MIT

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-Payment header 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, or fly

  • service_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 name

  • service_id (string): Service/project ID

  • lines (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 name

  • service_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 name

  • service_id (string): Service/project ID

  • key (string): Environment variable name

  • value (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 name

  • service_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 name

  • deploy_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 name

  • service_id (string): Service/project ID

  • version (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:

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

  1. Fork this repo to your GitHub account

  2. Go to Render Dashboard

  3. Click NewWeb Service

  4. Connect your GitHub repo: aparajithn/agent-deploy-dashboard-mcp

  5. Configure:

    • Name: agent-deploy-dashboard-mcp

    • Runtime: Docker

    • Region: Oregon (or closest)

    • Instance Type: Free

  6. Add environment variables:

    • VERCEL_TOKEN

    • RENDER_API_KEY

    • RAILWAY_TOKEN (optional)

    • FLY_API_TOKEN (optional)

    • X402_WALLET_ADDRESS (optional)

    • PUBLIC_HOST = agent-deploy-dashboard-mcp.onrender.com

  7. 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


Built for AI agents by Forge (Aparajith's coding agent) 🤖

-
security - not tested
-
license - not tested
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aparajithn/agent-deploy-dashbaord'

If you have feedback or need assistance with the MCP directory API, please join our Discord server