Dokku MCP Server
MCPB · DOKKU-MCP.MCPB
MCP server for Dokku: let LLMs create, deploy, scale, configure and inspect Dokku apps.
Available components
Last scanned (11 hours ago)
Scores higher than 77% of MCPB servers
Category CI/CD and DevOps
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security0
- No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
- Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
- Install-script risk not yet assessed.Unverified
- Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 9 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability82
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 1808 tokens (~56/item across 32 items; 27 tools + 5 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (37% of tools); any adoption earns full credit.Pass
Tool Safety96
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 5 of 6 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "get_failed_deploy_logs" implies "deploy" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
- An AI judge read all 29 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Unverified: 2 categories
Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 14 Oct 26 +33
- Injection markers: unverified → pass ▲ security
- First check of Judged manipulation: pass security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Tool coverage: unverified → 100 ▲ functional
- Schema quality: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- First check of Schema quality: fail functional
- First check of Tool coverage: 37 functional
- First check of Schema quality: pass functional
- First check of Destructive annotations: 83 functional
- First check of Schema quality: good functional
- First check of Tool coverage: 100 functional
- 10 Oct 26 9
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 18 Oct 2026 · Analysed mcpb/https://github.com/dokku-MCP/dokku-mcp/releases/download/v0.5.0/dokku-mcp.mcpb
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | mcpb |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_ssh_key ~107
Grant a public key push access to every app on this Dokku server. Only call this when the user explicitly asked to give someone access
| Name | Type | Req | Description |
|---|---|---|---|
| allow_admin | boolean | – | Allow a name containing "admin". Dokku lets such keys add further keys remotely |
| name | string | yes | Unique key name, e.g. the person's username |
| public_key | string | yes | OpenSSH public key line, e.g. "ssh-ed25519 AAAA... user@host" |
No output schema declared.
No examples provided.
configure_app ~74
Set environment variables for an application
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | yes | Name of the application to configure |
| config | object | yes | Environment variables as key-value pairs. Keys must be valid identifiers; values may contain any characters |
| restart | boolean | – | Restart the application so it picks up the new values (default true) |
No output schema declared.
No examples provided.
create_app ~45
Create a new, empty Dokku application. Deploy code to it with deploy_app
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Application name (lowercase, alphanumeric, hyphens allowed) |
No output schema declared.
No examples provided.
create_service ~72
Create a datastore service. Link it to an app with link_service to inject its connection URL
| Name | Type | Req | Description |
|---|---|---|---|
| image_version | string | – | Optional image tag, e.g. "17" for postgres:17 |
| name | string | yes | Name of the new service |
| service_type | string | yes | Datastore type |
No output schema declared.
No examples provided.
deploy_app ~94
Deploy an application from a Git repository. Returns immediately with a deployment_id; the build continues in the background, so poll get_deployment_status until it is done
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | yes | Name of the application to deploy |
| git_ref | string | – | Git reference to deploy (branch, tag, or commit). Defaults to main |
| repo_url | string | yes | URL of the Git repository to deploy from |
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | yes | – |
| deployment_id | string | yes | Pass to get_deployment_status to follow the build |
| git_ref | string | yes | – |
| message | string | yes | – |
| status | string | yes | – |
No examples provided.
destroy_service ~76
Permanently delete a datastore and ALL of its data. Unlink it from every app first. Only call this when the user explicitly asked for it
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_name | string | yes | Repeat the service name to confirm the deletion |
| name | string | yes | Name of the service |
| service_type | string | yes | Datastore type |
No output schema declared.
No examples provided.
follow_runtime_logs ~108
Watch an application's logs live for a few seconds, e.g. while reproducing a request or after a deploy. Lines are also streamed as progress notifications when the client sends a progress token. Use get_runtime_logs for past logs
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | yes | Name of the application |
| max_lines | integer | – | Stop after this many lines (default and max 2000) |
| seconds | integer | – | How long to follow the logs (default 15, max 60) |
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | yes | – |
| lines | null|array | yes | – |
| seconds | integer | yes | How long the logs were actually followed, in whole seconds |
| truncated | boolean | yes | True when max_lines was reached before the time ran out |
No examples provided.
get_app_status ~29
Get comprehensive status information for an application
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | yes | Name of the application |
No output schema declared.
No examples provided.
get_deployment_status ~50
Get the status of a deployment started with deploy_app. Poll until done is true. Completed deployments are kept for a limited time.
| Name | Type | Req | Description |
|---|---|---|---|
| deployment_id | string | yes | Deployment ID returned by deploy_app |
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | yes | – |
| build_log_tail | string | – | Last part of the build output |
| completed_at | null|string | – | – |
| created_at | string | yes | – |
| done | boolean | yes | True once the deployment reached a final status |
| duration | string | yes | – |
| error | string | – | – |
| git_ref | string | yes | – |
| id | string | yes | Deployment identifier |
| status | string | yes | One of pending, running, succeeded, failed, rolled_back |
No examples provided.
get_failed_deploy_logs ~52
Retrieve the logs of the containers from an application's last failed deploy, e.g. when a new release crashed at boot or failed its healthchecks
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | yes | Name of the application |
No output schema declared.
No examples provided.
get_registry_report ~44
Show Docker registry settings (server, image repository, push-on-release) for an app or globally
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | – | Application; omit for the global settings |
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | – | Empty for the global report |
| report | object | yes | – |
No examples provided.
get_runtime_logs ~54
Retrieve runtime logs from a Dokku application
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | yes | Name of the application |
| lines | integer | – | Number of log lines to retrieve (default: 100, max: 1000) |
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | yes | – |
| lines | integer | yes | Number of lines requested |
| logs | string | yes | – |
No examples provided.
get_service_info ~46
Get a datastore's status, version and linked applications. Credentials are masked
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Name of the service |
| service_type | string | yes | Datastore type |
| Name | Type | Req | Description |
|---|---|---|---|
| info | object | yes | Service report; passwords are masked |
| linked_apps | null|array | yes | – |
| name | string | yes | – |
| service_type | string | yes | – |
No examples provided.
get_service_logs ~43
Get the last 100 log lines of a datastore container
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Name of the service |
| service_type | string | yes | Datastore type |
No output schema declared.
No examples provided.
link_service ~115
Link a datastore to an application. Dokku sets <ALIAS>_URL on the app (DATABASE_URL, REDIS_URL, ... by default) and restarts it unless no_restart is true
| Name | Type | Req | Description |
|---|---|---|---|
| alias | string | – | Environment variable prefix, e.g. BLUE_DATABASE sets BLUE_DATABASE_URL |
| app_name | string | yes | Application to link |
| name | string | yes | Name of the service |
| no_restart | boolean | – | Do not restart the application |
| service_type | string | yes | Datastore type |
No output schema declared.
No examples provided.
list_deployments ~50
List deployments tracked by this server, most recent first
| Name | Type | Req | Description |
|---|---|---|---|
| active_only | boolean | – | Only list deployments that are still running |
| app_name | string | – | Only list deployments of this application |
| Name | Type | Req | Description |
|---|---|---|---|
| deployments | null|array | yes | – |
No examples provided.
list_services ~38
List datastore services (postgres, redis, ...) and which datastore plugins are installed
| Name | Type | Req | Description |
|---|---|---|---|
| service_type | string | – | Only list services of this type |
| Name | Type | Req | Description |
|---|---|---|---|
| installed_types | null|array | yes | Datastore plugins installed on the server |
| services | object | yes | Service names by datastore type |
No examples provided.
list_ssh_keys ~28
List the SSH keys (name and fingerprint) allowed to deploy to this Dokku server
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| keys | null|array | yes | – |
No examples provided.
registry_login ~97
Store Docker registry credentials on the Dokku server, for one app or globally. Prefer a scoped access token over an account password; it is sent over stdin, never on the command line
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | – | Application; omit to log in globally |
| password | string | yes | Password or access token |
| server | string | yes | Registry host, e.g. ghcr.io |
| username | string | yes | Registry username |
No output schema declared.
No examples provided.
registry_logout ~51
Remove stored Docker registry credentials, for one app or globally
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | – | Application; omit to log out globally |
| server | string | yes | Registry host, e.g. ghcr.io |
No output schema declared.
No examples provided.
remove_ssh_key ~37
Revoke an SSH key's access to this Dokku server
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Key name from list_ssh_keys |
No output schema declared.
No examples provided.
restart_app ~27
Restart all processes of an application
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | yes | Name of the application |
No output schema declared.
No examples provided.
rollback_app ~103
Redeploy an earlier, known-good Git reference. Dokku keeps no release history, so this deploys git_ref from the repository of the last deploy_app (or repo_url). Returns a deployment_id to follow with get_deployment_status
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | yes | Name of the application |
| git_ref | string | yes | Branch, tag or commit to redeploy |
| repo_url | string | – | Repository to deploy from; defaults to the last deployed repository |
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | yes | – |
| deployment_id | string | yes | Pass to get_deployment_status to follow the build |
| git_ref | string | yes | – |
| message | string | yes | – |
| status | string | yes | – |
No examples provided.
scale_app ~57
Scale application processes
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | yes | Name of the application to scale |
| instances | number | yes | Number of instances to scale to |
| process_type | string | – | Process type to scale (web, worker, etc.) |
No output schema declared.
No examples provided.
start_app ~28
Start all processes of a stopped application
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | yes | Name of the application |
No output schema declared.
No examples provided.
stop_app ~34
Stop all processes of an application; it goes offline until start_app
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | yes | Name of the application |
No output schema declared.
No examples provided.
unlink_service ~70
Unlink a datastore from an application, removing its connection URL from the app
| Name | Type | Req | Description |
|---|---|---|---|
| app_name | string | yes | Application to unlink |
| name | string | yes | Name of the service |
| no_restart | boolean | – | Do not restart the application |
| service_type | string | yes | Datastore type |
No output schema declared.
No examples provided.
How do I install the Dokku MCP Server server?
Dokku MCP Server ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, 45f5843d34cac159b9b51e65641f90a4f9e5bf6912c342bc271c3b8b3ce04863; the commands to do that are on this page. If it does not match, do not open it.
mcpb · dokku-mcp.mcpb
Download bundleCheck the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.
SHA-256
45f5843d34cac159b9b51e65641f90a4f9e5bf6912c342bc271c3b8b3ce04863
macOS / Linux
echo "45f5843d34cac159b9b51e65641f90a4f9e5bf6912c342bc271c3b8b3ce04863 dokku-mcp.mcpb" | shasum -a 256 -c
Windows (PowerShell)
(Get-FileHash -Algorithm SHA256 .\dokku-mcp.mcpb).Hash -eq "45f5843d34cac159b9b51e65641f90a4f9e5bf6912c342bc271c3b8b3ce04863"
Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.
What is the Dokku MCP Server server?
Dokku MCP Server is listed in the public MCP registry as io.github.dokku-MCP/dokku-mcp. MCP server for Dokku: let LLMs create, deploy, scale, configure and inspect Dokku apps. This page covers its MCPB bundle (https://github.com/dokku-MCP/dokku-mcp/releases/download/v0.5.0/dokku-mcp.mcpb).
Is the Dokku MCP Server server safe to use?
Dokku MCP Server scores 42 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Dokku MCP Server server expose?
Dokku MCP Server exposes 27 tools: add_ssh_key, configure_app, create_app, create_service, deploy_app, and 22 more. Their descriptions and schemas cost roughly 1,629 tokens of context every time the server is loaded.
What licence is the Dokku MCP Server server under?
Dokku MCP Server declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.