mcp-deploy

The most lightweight PaaS on the planet. Deploy Docker containers to your VPS from any MCP client. No database, no bloat – just deploy.

curl -fsSL https://raw.githubusercontent.com/ddalcu/mcp-deploy/main/install.sh | bash
> "Deploy my-api" Deployed my-api – https://my-api.deploy.example.com

Get Started

See it in action

Server setup — one-command installer
One-command installer sets up Traefik + MCP server on your VPS
Claude Code deploying a container
Say "deploy nginx:alpine as hello" and it's live with SSL

How it works

  • Traefik handles SSL (automatic per-subdomain Let's Encrypt certs) and routes each subdomain to the right container
  • MCP Server receives tool calls over Streamable HTTP, exposes a REST API for CI/CD, and includes a built-in dashboard
  • No database – Docker is the source of truth. No JSON state files, no sync issues
  • No registry required – push images directly from your machine, or pull from GHCR / DockerHub

Quick start

Four steps from zero to deploying containers with natural language. Need a VPS? Hetzner gives you $20 free credit – a CX22 is more than enough.

1

Set up DNS

Create two A records pointing to your VPS IP: deploy.example.com and *.deploy.example.com.

2

Install on your VPS

SSH in and run the one-line installer. It sets up Traefik, the MCP server, and generates your API key. You can choose to expose the server via domain, direct port, or both.

curl -fsSL https://raw.githubusercontent.com/ddalcu/mcp-deploy/main/install.sh | bash
3

Add to your MCP client

Paste the config the installer outputs into Claude Code, Cursor, or any MCP client.

claude mcp add deploy https://mcp.deploy.example.com/mcp \
  -t http -s user \
  -H "Authorization: Bearer YOUR_API_KEY"
4

Deploy something

Open any project and say "Deploy nginx:alpine as hello". Visit the URL – it's live with SSL.

Upgrade to the latest version:

cd /opt/mcp-deploy && docker compose pull && docker compose up -d

Don't like it? Uninstalling is just as simple:

cd /opt/mcp-deploy && docker compose down -v && rm -rf /opt/mcp-deploy && docker network rm web

MCP Tools

Nine tools, available to any MCP client. All managed through natural language.

Tool Description
deployDeploy or redeploy a Docker image with automatic SSL and subdomain routing
deploy-staticDeploy a static HTML site with automatic SSL and subdomain routing
listList all managed deployments
logsGet container logs
statusDetailed app info – CPU, memory, uptime, restart count
stopStop a running app (container preserved)
startStart a stopped app
removePermanently remove an app and its container
upload-imagePush a locally-built Docker image directly to your VPS – no registry needed

REST API

Every MCP tool is also available as a REST endpoint, so you can deploy from GitHub Actions, scripts, or any HTTP client.

Endpoint Description
POST /api/deployDeploy or redeploy a Docker image
GET /api/appsList all managed deployments
GET /api/apps/:nameDetailed app info – CPU, memory, uptime
GET /api/apps/:name/logsGet container logs
POST /api/apps/:name/stopStop a running app
POST /api/apps/:name/startStart a stopped app
DELETE /api/apps/:namePermanently remove an app

Example: Deploy from a script

curl -X POST https://mcp.deploy.example.com/api/deploy \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "my-api", "image": "nginx:alpine"}'

Built-in dashboard

Visit your MCP server URL in a browser to see all your deployments, their status, resource usage, and logs – no extra setup needed. Just log in with your API key.

Web dashboard showing deployed apps with status, logs, and resource usage
Web dashboard with app status, resource usage, and expandable logs

Why mcp-deploy?

Coolify, Dokku, CapRover, Dokploy – great tools, but they all come with dashboards, databases, and complexity you don't need. This is the opposite.

Automatic SSL

Every app gets its own Let's Encrypt certificate. No config files, no cert managers, no renewals to think about.

No registry required

Push images straight from your machine. Skip the DockerHub/GHCR dance when you just want to ship.

No database

Docker IS the database. Two files, two containers, zero state to corrupt. It cannot get any simpler than this.

AI-native (MCP)

Built for AI from day one. Not a web UI with an API bolted on – your AI talks to it directly.

One-line install

One curl, two questions, done. No 15-minute setup wizards, no provisioning steps, no prerequisites.

Dashboard + REST API

Built-in web dashboard to monitor apps. REST API for CI/CD – deploy from GitHub Actions or scripts.

Multi-server

Install on as many VPS servers as you want. Address them by name: "deploy to staging".

Ditch the heavyweight

Other platforms do more – and that's the problem. More moving parts, more things to break, more to maintain. mcp-deploy does exactly what you need and nothing else.

MCP Docker servers Self-hosted PaaS mcp-deploy
Remote VPS deployment No Yes Yes
MCP protocol (AI-native) Yes No Yes
Automatic SSL + subdomains No Yes Yes
No database / minimal No Yes
Direct image push No Some Yes
REST API for CI/CD No Yes Yes