MCP server
The hivepod CLI includes an MCP server, so AI coding tools can deploy your code and manage your DockHive resources for you. Ask your assistant something like “Deploy this folder to DockHive” and it uses Drone to get it live.
Before you start
Section titled “Before you start”- Install the CLI.
- Sign in:
hivepod login. The MCP server uses this sign-in (orHIVEPODS_TOKEN, if set).
Add it to your tool
Section titled “Add it to your tool”Run hivepod mcp --print-config to print ready-made snippets with the full path to hivepod filled in.
claude mcp add dockhive -- hivepod mcpTo make it available in every project:
claude mcp add --scope user dockhive -- hivepod mcpIf hivepod isn’t on your PATH, use its full path, for example ~/.hivepods/bin/hivepod.
Add this to ~/.cursor/mcp.json:
{ "mcpServers": { "dockhive": { "command": "/Users/you/.hivepods/bin/hivepod", "args": ["mcp"] } }}Open Settings → Developer → Edit Config and add to claude_desktop_config.json:
{ "mcpServers": { "dockhive": { "command": "/Users/you/.hivepods/bin/hivepod", "args": ["mcp"] } }}Add this to ~/.codeium/windsurf/mcp_config.json:
{ "mcpServers": { "dockhive": { "command": "/Users/you/.hivepods/bin/hivepod", "args": ["mcp"] } }}Desktop apps don’t see your shell’s PATH, so use the full path to hivepod. With the installer it’s ~/.hivepods/bin/hivepod on macOS and Linux, and %USERPROFILE%\.hivepods\cli\Scripts\hivepod.exe on Windows. Any other MCP client that can run a local stdio server works the same way.
| Tool | What it does |
|---|---|
deploy |
Deploy a folder or a GitHub repository with Drone and return the live URL. A new app can be placed in a region. |
deployment_status |
Status, URL and Drone’s progress for a deployment. |
build_logs |
A deployment’s build log. |
list_apps |
Your apps with their addresses, regions and domains. |
app_logs |
An app’s runtime logs. |
set_env |
Set or unset environment variables (values are write-only), optionally redeploying. |
redeploy |
Rebuild an app from its repository. |
rollback |
Put an earlier version back live. |
add_domain, domain_status, remove_domain |
Custom domains for apps. |
list_pods, create_pod, exec_in_pod, delete_pod |
HivePods. exec_in_pod is for quick commands (about 20 seconds). |
start_pod_job, pod_job_status, cancel_pod_job |
Long-running commands in a pod as background jobs (builds, installs, tests). |
pod_upload, pod_download |
Copy files and folders to or from a pod’s projects and data folders. |
list_databases, create_database, database_connection |
Databases, with their firewall state; a database open to the internet is flagged. |
database_firewall, database_firewall_allow, database_firewall_remove, database_firewall_default |
A database’s firewall: list rules, allow an IPv4 address, an app or a pod, remove a rule, set the default (opening to the internet needs confirm: true). |
usage_and_cost |
Your plan, usage and estimated bill. |
delete_app |
Delete an app. |
Every app tool takes app_id: the app’s id as list_apps and deploy return it (such as my-shop) or its name (such as My Shop). project_id is accepted as another name for the same field.
create_pod also returns the estimated monthly vCPU-hours of the size and how many your plan includes versus bills as overage.
Destructive tools (delete_app, delete_pod) only act when called with confirm: true; otherwise they describe what would be deleted. Deleting a pod keeps its backups for 7 days, and delete_pod says how many and until when; restore them into a new pod with hivepod backup restore before then.
Troubleshooting
Section titled “Troubleshooting”- “Not signed in to DockHive”: run
hivepod loginin a terminal, then retry. - The tool doesn’t appear: check the full path to
hivepod, then restart your MCP client. - A deploy upload fails: the error says what happened. “timed out on this machine” means your connection was too slow or was interrupted; leave out large folders with a
.dockhiveignorefile. “took too long to process” means DockHive didn’t reply in time; if the deployment had started anyway, the tool finds it and follows it. “temporarily unavailable” is only shown when DockHive is actually down. Uploads report progress while they’re sent. - See what’s happening: set
HIVEPODS_MCP_LOG=INFOin the server’s environment; logs go to stderr.