MCP-native deployment for AI agents

Deploy at the
speed of a sentence.

deploymill turns “spin me up a Python API with a Postgres database at api.example.com” into a live URL — through one tool call from Claude or any AI agent. No dashboards. No CLI. No yak shaving.

Start deploying free See how it works
Repos, CI & deploys Managed Postgres Previews that fork your data Bring your own MCP client
claude · deploymill
you › spin up a node api called "wishlist" at wishlist.detz.dev with a postgres database claude › calling deploymill.start_project... created repo github.com/you/wishlist scaffolded node template + Dockerfile provisioned Postgres · pooled DATABASE_URL wired in deployed main · build 41s attached domain · HTTPS via Let's Encrypt https://wishlist.detz.dev (live in 56s) you › open a preview for the "checkout" branch claude › calling deploymill.create_preview... forked a Postgres branch · isolated data fresh volume · prod data untouched deployed checkout · preview live https://wishlist-pr-7-a1b2c3d4e5.detz.dev
What you get

An entire deploy pipeline,
callable from chat.

deploymill is an MCP server that wires GitHub, Dokploy and Postgres into a single tool surface any AI agent can drive.

One tool, full stack

start_project creates the repo, scaffolds the code, wires CI, deploys, and attaches a domain — in a single call.

🔀

Previews that fork your stack New

Every branch gets a real HTTPS preview at a non-guessable host — with its own forked Postgres branch and fresh volumes, so previews never touch prod data. Add a TTL and they clean themselves up.

🐘

Managed Postgres New

Declare database in .deploymill/project.json and each app gets its own Postgres with a pooled DATABASE_URL wired in. Dropped cleanly when the app is deleted.

🔒

Secrets the agent never sees New

An encrypted org vault where values are entered by a human through a single-use browser link. bind_secret injects them into an app's env — no tool ever reads a value back.

🌐

Bring your own domain New

Attach a domain you own alongside the auto host. deploymill checks DNS, requests a Let's Encrypt cert, and tells the agent the exact record to add if it isn't pointed yet.

📜

Logs when builds break New

A failed deploy points the agent straight at get_logs — build and deploy output on tap, so a broken build leads to a fix instead of a dead end.

Image-swap rollbacks

Opt-in rollback records every deploy as a tagged image. Revert in seconds — no rebuild, no downtime.

💾

Persistent volumes

Declare named volumes in .deploymill/project.json for caches, indexes and working files that survive every redeploy.

⚙️

Web apps or workers New

Static, Node and Python web templates ship out of the box — or deploy a no-port background worker for a queue consumer or scheduler.

🧰

Bring code your way New

Start fresh, import_repo an existing one, and edit either via API commits or a real git clone with short-lived, scoped credentials.

⏸️

Park apps, wake them later New

stop_app / start_app toggle the container without deleting anything — repo, env, domains and database stay intact. Stop paying for idle compute.

🔐

OAuth + org isolation

Each workspace is its own isolated tenant, gated by Better Auth — sign in with email or Google. Bring any MCP client; no shared API keys.

How it works

Three steps, then chat.

1

Create a workspace

Sign up with email or Google and pick a workspace slug. We mint OAuth tokens for your MCP clients — no shared API keys.

2

Connect your AI agent

Point Claude (or any MCP client) at https://deploymill.com/mcp. Dynamic Client Registration + PKCE — it just works.

3

Talk to your infra

“Ship me a Node API with a database.” “Open a preview for this branch.” “Add a secret and roll back the last deploy.” deploymill turns intent into infrastructure.

Ready to deploy by talking?

Free to start. Bring your own MCP client.

Create your account