LABSCO SUMMARY
The blacklist is a block-list, and the author says so.
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.
What it is
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.
What you get
- 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_BLACKLISTblocks command fragments — the documented example is destroy, uninstall and remove- Two transports: stdio by default, or SSE over HTTP with configurable CORS origins
Requirements
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.
Setup effort
Follow the published steps — curl -L -o dokku-mcp https://github.com/dokku-mcp/dokku-mcp/releases/latest/download/dokku-mcp-linux-amd64
USE CASES
01
Shipping a change without opening a terminal
Deploy from a Git URL and ref, and get an id you can check on while the build runs.
02
Reacting to load
Scale the process count for an app in the conversation rather than SSHing in.
03
Fixing configuration
Read the current environment config, then set the value that was wrong.
04
Seeing what it exposes before trusting it
Run the inspector target and browse the registered tools, resources and prompts first.
BEFORE YOU INSTALL
What to know first
Requires
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 ssh-agent
Where it runs
All 3 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
TERMINAL
curl -L -o dokku-mcp https://github.com/dokku-mcp/dokku-mcp/releases/latest/download/dokku-mcp-linux-amd64
chmod +x dokku-mcp
sudo mv dokku-mcp /usr/local/bin/On macOS, download dokku-mcp-darwin-amd64 instead of dokku-mcp-linux-amd64 (arm64 builds are also published on the releases page).
MCP Clients
Claude Desktop, Windsurf
JSON
{
"mcpServers": {
"dokku": {
"command": "/usr/local/bin/dokku-mcp",
"args": [],
"env": {
"DOKKU_MCP_SECURITY_BLACKLIST": "destroy,uninstall,remove",
"DOKKU_MCP_SSH_HOST": "127.0.0.1",
"DOKKU_MCP_SSH_KEY_PATH": "/home/<YOUR_USERNAME>/.ssh/id_rsa",
"DOKKU_MCP_SSH_PORT": "22",
"DOKKU_MCP_SSH_USER": "dokku"
}
}
}
}127.0.0.1 works when the client runs on the Dokku server itself; otherwise use your Dokku host (for example your-dokku-host.com). /home/<YOUR_USERNAME>/.ssh/id_rsa is the path to the SSH private key that can log in to it as dokku — or remove DOKKU_MCP_SSH_KEY_PATH to use ssh-agent.
Cursor
CURSOR · JSON
{
"mcpServers": {
"dokku": {
"command": "/usr/local/bin/dokku-mcp",
"args": [],
"env": {
"DOKKU_MCP_SSH_HOST": "127.0.0.1",
"DOKKU_MCP_SSH_KEY_PATH": "/home/<YOUR_USERNAME>/.ssh/id_rsa",
"DOKKU_MCP_SSH_PORT": "22",
"DOKKU_MCP_SSH_USER": "dokku"
}
}
}
}127.0.0.1 works when the client runs on the Dokku server itself; otherwise use your Dokku host (for example your-dokku-host.com). /home/<YOUR_USERNAME>/.ssh/id_rsa is the path to the SSH private key that can log in to it as dokku — or remove DOKKU_MCP_SSH_KEY_PATH to use ssh-agent.