Documentation
Install the CLI, log in once, and deploy. DenkOps packs your directory, picks a build lane, and returns a live, SSL-secured URL.
Two optimized paved-road templates. The bun-hono fast lane for lightweight APIs and MCP servers; the python-fastapi heavy lane for AI and long-running workloads. No Dockerfile needed — or bring your own container.
The MCP server is the primary interface. After a one-time token login, Claude talks straight to the control plane and operates your infrastructure via tools.
| Tool | Does |
|---|---|
| deploy | Pack + build + ship the current project |
| logs | Fetch logs + ai_hint for a deploy |
| status | Health, version, resource usage |
| rollback | Activate a previous version |
| secrets | Set / list encrypted env vars |
Three steps: install the CLI, log in once, then register the MCP server. After that Claude drives DenkOps directly from your editor — deploy, read logs, roll back — no dashboard needed.
The installer drops both denkops and denkops-mcp on your PATH. Log in once; the token is stored 0600 in ~/.denkops/config.json.
Add DenkOps to Claude Code with one command:
…or drop a .mcp.json in your project root (or ~/.claude.json to enable it everywhere):
Open a project with a denkops.json ({name, slug, runtime}) and just ask. Claude picks up the denkops tools automatically — confirm the connection with /mcp inside Claude Code.
When a deploy crashes, DenkOps attaches a machine-readable ai_hint — likely cause, file and line. Claude reads it, edits forward, and redeploys. No human in the loop for the common failures.
All outbound traffic is denied by default. Whitelist domains explicitly; everything else is blocked and logged. Manage it with denkops egress add <domain>.
Secrets are encrypted at rest and injected at deploy time. Set with denkops secrets set KEY=value; they never appear in logs or the dashboard in plaintext.
Each slot has durable local disk mounted at /data. It survives redeploys, restarts and crashes — the built-in SQLite/KV store gives you persistence without wiring up an external database.