Deploying and scaling from a conversation is genuinely useful, and the async deploy means a long build does not hang the call. Read the roadmap before you rely on it: enforcing an explicit allow-list instead of the current block-list is listed as an idea, not shipped, and the project describes itself as early with breaking changes expected. Try it under the MCP Inspector with `make inspect` before wiring it to a production host.
A Go server, v0.3.0, that exposes a Dokku instance over the Model Context Protocol. It talks to Dokku over SSH using the same commands you would type, and the plugin-based architecture groups those commands into apps, core and deployment.
- Apps: create, deploy from a Git URL and ref, scale processes, set environment config, and read status; an app-list resource and a troubleshooting prompt
- Deployments: asynchronous deploys that return an id, with status tracked in the background rather than blocking the call
- Core: server info and plugin list resources, plus an optional server logs tool
- The Dokku commands wired up include apps:create, apps:destroy, apps:report, config:show, config:set, ps:scale, ps:report, logs, plugin:install, proxy:set and ssh-keys:list
- `DOKKU_MCP_SECURITY_BLACKLIST` blocks command fragments — the documented example is destroy, uninstall and remove
- Two transports: stdio by default, or SSE over HTTP with configurable CORS origins
SSH access to the Dokku host: `DOKKU_MCP_SSH_HOST`, `DOKKU_MCP_SSH_USER`, `DOKKU_MCP_SSH_PORT` and `DOKKU_MCP_SSH_KEY_PATH`, or the same values in a `config.yaml` under /etc/dokku-mcp, ~/.dokku-mcp or beside the binary; leaving the key path empty falls back to ssh-agent. Download a prebuilt binary for Linux or macOS, or build from source with Go 1.25 or later and `make build`. `DOKKU_MCP_TRANSPORT_TYPE=sse` switches transport.
One command plus a key — curl -L -o dokku-mcp https://github.com/dokku-mcp/dokku-mcp/releases/latest/download/dokku-mcp-linux-amd64, then supply credentials
