Dokku

by alex-galey

Not rated
GitHub

About

An MCP server for managing applications on Dokku, the open-source PaaS.

Details

Author
alex-galey
Categories
Cloud Service, Infrastructure

Setup

Install Dokku in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/alex-galey/dokku-mcp

Follow the installation instructions in the repository README, then restart your MCP client.

Try it now — turn your Dokku instance into an AI-manageable PaaS

Follow Installationor grab aprebuilt binaryto get started in minutes with cursor, claude-code, goose and all agentic tools which support mcp.

Ormake startif you already have go locally.

For a quick tour of the server without wiring up a full MCP client, use the dedicated make target:

It builds the binary (if needed), launches the MCP Inspector CLI, and connects it to the server in stdio mode. Inspector prints a local URL—open it in your browser to browse resources, prompts, and tools, or to issue ad-hoc calls. This is a great way to validate your setup before wiring Dokku MCP into Cursor, Claude, other IDE or internal tools.

The server can be used with any MCP-compatible client.

Add the following to your zed,.cursor/mcp.json, windsurf,claude_desktop_config.jsonor.mcp.json:

{ "mcpServers": { "dokku": { "command": "/home/user/dokku-mcp/build/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/user/.ssh/id_rsa", "DOKKU_MCP_SSH_PORT": "22", "DOKKU_MCP_SSH_USER": "dokku" } } } }

Remember to replace thecommandpath with the absolute path to the binary.

- Core: server info and plugin list resources; optional server logs tool.
- Apps: create, deploy (Git URL + ref), scale, env config, status; app list resource; troubleshooting prompt.
- Deployments: async deploys with IDs and background status.

Submit an issue for re-priorizing proposal

- Build-level log: expose build output for deploy invocations.
- App-level log: expose runtime logs.
- Inter-plugin communication: allow inter-plugin events management, Eventbus maybe Watermill.
- User management: ssh-keys:add, boundaries and prompting.
- Service plugins: service templating, postgresql first implementation.

- SSH transactions / long-running connections: streaming logs and interactive operations.
- Enforce allow-list: enforce least-principles with explicit allow-list over block-list.

- Implemented:apps:list,apps:info,apps:create,apps:destroy,apps:exists,apps:report,config:show,config:set,ps:scale,ps:report,logs,plugin:list,plugin:install,plugin:uninstall,plugin:enable,plugin:disable,plugin:update,version,proxy:report,proxy:set,scheduler:report,scheduler:set,git:report,git:set,ssh-keys:list,ssh-keys:remove,registry:logout,logs:set.
- Missing/partial:ssh-keys:add,registry:login/registry listing, configuration key enumeration, Services plugin, SSL plugin, streaming/attach sessions.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.