Dockhold for your AI coding tool
MCP serverCloud & infraLets your agent deploy projects to a live HTTPS URL, then check logs, set environment variables, and resize apps.
Available today. Use it from your connected AI after setup.
Needs your own account with this service. Keys stay in your vault.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use Dockhold for your AI coding tool to list apps
About this server
Deploy your project to a live HTTPS URL from your AI tool; read logs, set variables, resize apps.
Install Dockhold for your AI coding tool
The server’s own address, for the clients that take one directly. Or connect ahel onceand every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user dockhold-for-your-ai-coding-tool 'https://api.dockhold.eu/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://api.dockhold.eu/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=dockhold-for-your-ai-coding-tool&config=eyJ1cmwiOiJodHRwczovL2FwaS5kb2NraG9sZC5ldS9tY3AifQ==Open the link and Cursor adds the server at that address.
ChatGPT
https://api.dockhold.eu/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add dockhold-for-your-ai-coding-tool --url 'https://api.dockhold.eu/mcp'Run it once, then sign in with codex mcp login dockhold-for-your-ai-coding-tool if the server asks for an account.
From the project's README
As published by dockhold/mcp in README.md.
Put the project you are working on online without leaving your editor. Install once, sign in once in the browser, then say "put this online". Your AI tool deploys the current folder (or a GitHub repo) to Dockhold and reports a live HTTPS URL. It can also read status and logs, set variables, and resize apps and managed databases.
No token to copy. Sign-in happens through the browser, the same way as the Dockhold CLI, and every client below shares it.
- Docs: https://dockhold.eu/docs
- Registry name:
eu.dockhold/dockhold - Requirements: Node.js 18 or newer (for
npx)
Install
Every install below starts the same local MCP server, npx -y dockhold mcp. It forwards each request to Dockhold with the sign-in the CLI stored on your machine. Nothing sensitive goes into your editor config.
Claude Code
/plugin marketplace add dockhold/mcp
/plugin install dockhold@dockhold
This installs the MCP server and a deploy skill (invoked as /dockhold:deploy, or picked up on its own when you ask to put the project online) that knows the whole flow: preflight, sign-in, deploy, and what to do when a build fails.
Cursor
The button opens this link in Cursor:
cursor://anysphere.cursor-deeplink/mcp/install?name=dockhold&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImRvY2tob2xkIiwibWNwIl0sImVudiI6eyJET0NLSE9MRF9SRUYiOiJjdXJzb3IifX0=
Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": {
"dockhold": {
"command": "npx",
"args": ["-y", "dockhold", "mcp"],
"env": { "DOCKHOLD_REF": "cursor" }
}
}
}
This repo is also an Agent Plugin (plugin.json and mcp.json at the root), so Cursor can install it from its plugin browser once it is listed there: open Customize in the sidebar, search for Dockhold, and choose Install.
VS Code
code --add-mcp '{"name":"dockhold","command":"npx","args":["-y","dockhold","mcp"],"env":{"DOCKHOLD_REF":"vscode"}}'
Gemini CLI
gemini extensions install https://github.com/dockhold/mcp
This repo is also a Gemini CLI extension (gemini-extension.json at the root), so the install adds the MCP server and the same deploy skill.
Cline
Ask Cline to "install the MCP server from https://github.com/dockhold/mcp". It follows llms-install.md: one settings entry, no token, then a browser sign-in. To do it by hand, add the entry below to cline_mcp_settings.json with "env": { "DOCKHOLD_REF": "cline" }.
Any other MCP client
Use the same server entry in your client's config:
{
"mcpServers": {
"dockhold": {
"command": "npx",
"args": ["-y", "dockhold", "mcp"]
}
}
}
If your client gives a server only a few seconds to start, the first npx -y dockhold download can be too slow for it. Install the CLI once with npm i -g dockhold and the same entry starts instantly.
Sign in
The first time a tool needs your account it answers with a message that says to run npx dockhold login in a terminal. Run it, a browser tab opens, and you are done. The sign-in lasts 90 days and is shared by the CLI and every client above. Nothing else to configure.
What it looks like
You: put this online
AI: Checked the project: it listens on
PORTand has a Dockerfile. You are not signed in yet, so I am runningnpx dockhold login. A browser tab will open.(you sign in, the tab says you are done)
AI: Signed in. Deploying with
npx dockhold deploy --name recipe-box. Uploading, building...AI: Your app is live: https://recipe-box-a1b2c3.dockhold.app
You: show me the logs
AI: (calls
get_app_logs) The last 100 lines: the server started on port 8080 and has served 3 requests. No errors.
Local folders deploy through the CLI, which needs no GitHub account. A GitHub repository deploys through the deploy_app tool. Deploys on every push need the repository connected to Dockhold (list_github_repos gives the github_installation_id to pass); a repository deployed by URL alone builds once.
Tools
| Tool | Scope | What it does |
|---|---|---|
list_apps | read | List your apps with id, status, and URL |
get_app_status | read | Deploy status, URL, last commit, error message for one app |
get_app_logs | read | Recent runtime logs for one app |
get_resource_usage | read | Account pools (compute, database RAM, storage) and per-app sizes |
list_github_repos | read | Your connected GitHub repos, with the id needed to deploy private ones |
deploy_app | deploy | Deploy a GitHub repo as a live web app |
deploy_group | deploy | Deploy several connected services in one go |
redeploy_app | deploy | Zero-downtime restart of an app |
set_app_variable | deploy | Set a non-secret environment variable and roll it out |
unset_app_variable | deploy | Remove a plain environment variable and roll it out |
resize_app | deploy | Change an app's memory |
resize_database | deploy | Change a managed database's memory |
resize_database_storage | deploy | Grow a managed database's disk |
set_app_storage | deploy | Give an app storage that survives restarts and deploys, or grow it |
remove_app_storage | deploy | Remove an app's storage and erase its files |
The browser sign-in has the read and deploy scopes, which covers every tool above.
Remote server (no CLI)
For a client that cannot run a local command, the same tools are served over Streamable HTTP at https://api.dockhold.eu/mcp. Create a token in the Dockhold dashboard under Settings, then API tokens (read-only, read+deploy, or with secrets), and pass it as a bearer:
{
"type": "streamable-http",
"url": "https://api.dockhold.eu/mcp",
"headers": { "Authorization": "Bearer dh_mcp_..." }
}
Claude Code: claude mcp add --transport http dockhold https://api.dockhold.eu/mcp --header "Authorization: Bearer dh_mcp_...". This is the one setup that puts a token in a config file, so keep that file out of version control.
A dashboard token can also carry the secrets scope, which unlocks five more tools over this connection: set_app_secret, unset_app_secret, bind_app_secret, list_secrets, list_app_secrets. The browser sign-in never has that scope; with the plugin, secrets are added in the dashboard's Secrets section.
Getting started with Dockhold
Dockhold is the easiest way to put your app online: push from GitHub or deploy from a folder, always on, secure by default. Sign in at app.dockhold.eu. The free tier needs no card.
Tools it offers (20)
What this server listed when ahel dialed its public endpoint in Sep 2026, with no key and no account of yours. The names are the server’s own.
list_appsget_app_statusget_app_logsdeploy_appredeploy_appset_app_variableunset_app_variableget_resource_usageresize_appresize_databaseresize_database_storageset_app_storageremove_app_storageset_app_secretunset_app_secretbind_app_secretlist_secretslist_app_secretslist_github_reposdeploy_group
Signals
- Last commit
- Sep 2026
- Weekly downloads
- 543
Advanced
- Delivery
- dockhold MCP server → your ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
eu-dockhold-dockhold- Source
- github.com/dockhold/mcp
- Hosted endpoint
https://api.dockhold.eu/mcp