Getting started
This is the shortest path from nothing to a live, deployed app. deploymill is driven entirely by MCP tools, so "getting started" means pointing an MCP client (Claude Code, Codex, opencode, or any MCP-capable agent) at the server and making a few tool calls.
1. Connect your agent
- Create an account at the web sign-in page (this exists only because OAuth
requires a browser consent step — everything else is tool-driven).
- Add deploymill as an MCP server in your client, pointing at
POST https://<your-host>/mcp. - Authenticate. Your client performs the OAuth 2.0 + PKCE flow and is issued a
bearer access token; every
POST /mcpcall carriesAuthorization: Bearer <token>. The token scopes you to your own org — you can only see and touch your own apps.
Once connected, your agent can discover everything else: fetch the deploymill://guides resource for the full index of guides, or call search_docs to find one by keyword.
2. Go from idea to live app
The single highest-level tool is start_project. One call creates a GitHub repo from a starter template, provisions an app wired to that repo, deploys main, and attaches an auto-generated domain:
start_project({ name: "my-app", stack: "node" })
If any step fails it returns { ok: false, failedAt, partial } so the agent can resume by re-running start_project with the same name (the create steps are idempotent) or, once the repo exists, calling reconcile_project.
3. Put your code in
After scaffolding, commit source with push_files — the platform auto-deploys on push, so this is how you go from "scaffolded repo" to "running site" without a manual git push:
push_files({ repo, branch: "main", files: [...], message: "Build the thing" })
Prefer a real local checkout to build and test against? Call get_clone_credentials for a short-lived authenticated clone URL.
4. Find the URL and confirm it's healthy
list_domains({ applicationId })returns the live URL.get_app_health({ applicationId })checks the health gate right now.- If a deploy reports
status: "error", callget_logs(build source) to seewhy.
Where to go next
deploymill://docs/what-is-deploymill— the mental model behind the tools.deploymill://guides/project-config—.deploymill/project.json, theconfig file every other tool reconciles to.
- The per-stack guide for whatever you're building (
stack-node,stack-python,stack-static). - Add a database / object storage / custom domain / secrets — each is a
field in
.deploymill/project.jsonplus areconcile_projectcall; the relevant guide walks you through it. deploymill://docs/troubleshooting— when something goes wrong.