Hetzner MCP server
MCP server for the Hetzner Cloud API — servers, networks, volumes, firewalls, and more.
5 stars1.1k downloads/wk
Reviews
Write oneNobody has reviewed Hetzner yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Hetzner tools (100, 34 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
hetzner_add_lb_serviceAdd a service (port listener with forwarding rules) to a load balancer.
hetzner_add_lb_targetAdd a target (server, label selector, or IP) to a load balancer.
hetzner_add_routeAdd a route to an existing network.
hetzner_add_subnetAdd a subnet to an existing network.
hetzner_apply_firewallApply a firewall to one or more servers or label selectors.
hetzner_assign_floating_ipAssign a floating IP to a server in the same location.
hetzner_assign_primary_ipAssign a primary IP to a server.
hetzner_attach_isoAttach an ISO image to a server. The server must be rebooted to boot from the ISO.
hetzner_attach_lb_to_networkAttach a load balancer to a network.
hetzner_change_floating_ip_protectionEnable or disable delete protection on a floating IP to guard against accidental destruction.
hetzner_change_floating_ip_rdnsChange the reverse DNS entry for a floating IP. Set dns_ptr to null to reset.
hetzner_change_image_protectionEnable or disable delete protection on a snapshot or backup image to guard against accidental destruction.
hetzner_change_ip_rangeExpand the IP range of an existing network. The new CIDR range must contain the current range; shrinking is not supported.
hetzner_change_lb_algorithmChange the balancing algorithm of a load balancer.
hetzner_change_lb_dns_ptrChange the reverse DNS entry for one of a load balancer's public IP addresses. Set dns_ptr to null to reset to the default.
hetzner_change_lb_typeChange the type (plan) of a load balancer.
hetzner_change_load_balancer_protectionEnable or disable delete protection on a load balancer to guard against accidental destruction.
hetzner_change_network_protectionEnable or disable delete protection on a network to guard against accidental destruction.
hetzner_change_primary_ip_protectionEnable or disable delete protection on a primary IP to guard against accidental destruction.
hetzner_change_primary_ip_rdnsChange the reverse DNS entry for a primary IP. Set dns_ptr to null to reset.
hetzner_create_certificatewrite actionCreate an uploaded certificate (provide PEM data) or a managed certificate (provide domain names).
hetzner_create_firewallwrite actionCreate a new firewall with optional rules and resource assignments.
hetzner_create_floating_ipwrite actionCreate a new floating IP. Either home_location or server must be provided.
hetzner_create_imagewrite actionCreate a snapshot image from an existing server.
hetzner_create_load_balancerwrite actionCreate a new load balancer with the specified type, location, and optional targets and services.
hetzner_create_networkwrite actionCreate a new network with the specified IP range, and optionally subnets and routes.
hetzner_create_placement_groupwrite actionCreate a new placement group to control server distribution across hosts.
hetzner_create_primary_ipwrite actionCreate a new primary IP with the specified type, optional location, and optional assignee type.
hetzner_create_serverwrite actionCreate a new server with the specified type, image, and configuration options.
hetzner_delete_certificatewrite actionDelete a certificate. It must not be in use by any load balancer.
hetzner_delete_firewallwrite actionDelete a firewall. It must be removed from all resources first.
hetzner_delete_floating_ipwrite actionDelete a floating IP permanently. Since 2026-05-01 the floating IP must be unassigned first; otherwise the API returns the must_be_unassigned error code.
hetzner_delete_imagewrite actionPermanently delete a snapshot or backup image.
hetzner_delete_lb_servicewrite actionRemove a service from a load balancer by its listen port.
hetzner_delete_load_balancerwrite actionPermanently delete a load balancer.
hetzner_delete_networkwrite actionDelete a network. All subnets and routes within it will also be deleted.
hetzner_delete_placement_groupwrite actionDelete a placement group. All servers must be removed from it first.
hetzner_delete_primary_ipwrite actionDelete a primary IP permanently. Since 2026-05-01 the primary IP must be unassigned first; otherwise the API returns the must_be_unassigned error code.
hetzner_delete_routewrite actionRemove a route from an existing network.
hetzner_delete_serverwrite actionPermanently delete a server. This destroys the server and all associated data.
hetzner_delete_subnetwrite actionRemove a subnet from an existing network by its IP range.
hetzner_detach_isoDetach an ISO image from a server. The server must be rebooted for the change to take effect.
hetzner_detach_lb_from_networkDetach a load balancer from a network.
hetzner_disable_lb_public_interfaceDisable the public network interface of a load balancer, removing its public connectivity.
hetzner_enable_lb_public_interfaceEnable the public network interface of a load balancer so it can be reached over public IPs.
hetzner_get_certificateGet details of a specific certificate by its ID.
hetzner_get_firewallGet details of a specific firewall by its ID.
hetzner_get_floating_ipGet details of a specific floating IP by ID.
hetzner_get_imageGet details of a specific image by ID.
hetzner_get_isoGet details of a specific ISO image by ID.
hetzner_get_lb_metricsGet metrics for a load balancer over a specified time range.
hetzner_get_load_balancerGet details of a specific load balancer by its ID.
hetzner_get_locationGet details of a specific location by ID.
hetzner_get_networkGet details of a specific network by its ID.
hetzner_get_placement_groupGet details of a specific placement group by ID.
hetzner_get_pricingGet current Hetzner Cloud prices, optionally selecting one resource category or traffic prices. Currency and VAT rate are included with filtered results.
hetzner_get_primary_ipGet details of a specific primary IP by ID.
hetzner_get_serverGet details of a specific server by ID.
hetzner_get_server_typeGet details of a specific server type, including specs and pricing.
hetzner_list_certificate_actionsList all actions performed on a specific certificate, such as issuance and renewal retries.
hetzner_list_certificatesList all SSL/TLS certificates in the project, with optional filtering.
hetzner_list_firewall_actionsList all actions performed on a specific firewall, such as rule and resource attachment changes.
hetzner_list_firewallsList all firewalls in the project, with optional filtering by name or labels.
hetzner_list_floating_ip_actionsList all actions performed on a specific floating IP, such as assign, unassign, and rDNS changes.
hetzner_list_floating_ipsList all floating IPs in the project, with optional filtering by name or label.
hetzner_list_image_actionsList all actions performed on a specific image, such as snapshot creation and protection changes.
hetzner_list_imagesList all available images, including system, snapshot, and backup images.
hetzner_list_isosList all available ISO images for mounting on servers.
hetzner_list_lb_typesList all available load balancer types with pricing and limits.
hetzner_list_load_balancer_actionsList all actions performed on a specific load balancer, such as service changes and target attachments.
hetzner_list_load_balancersList all load balancers in the project, with optional filtering by name or labels.
hetzner_list_locationsList all available Hetzner Cloud locations (regions).
hetzner_list_network_actionsList all actions performed on a specific network, such as subnet and route changes.
hetzner_list_network_membersList resources attached to a network, with their subnet, IP addresses, and attachment status. Filter by resource type, subnet, or status.
hetzner_list_networksList all networks in the project, with optional filtering by name or labels.
hetzner_list_placement_groupsList all placement groups in the project.
hetzner_list_primary_ip_actionsList all actions performed on a specific primary IP, such as assign, unassign, and rDNS changes.
hetzner_list_primary_ipsList all primary IPs in the project, with optional filtering by name, label, or IP address.
hetzner_list_server_typesList server types with specs, pricing, and per-location availability and recommendations.
hetzner_list_serversList all servers in the project, with optional filtering by name, label, or status.
hetzner_power_offForce power off a server immediately. This is like pulling the power cord.
hetzner_power_onStart a stopped server by powering it on.
hetzner_rebootwrite actionSend an ACPI reboot signal to the server for a soft reboot.
hetzner_remove_firewallwrite actionRemove a firewall from one or more servers or label selectors.
hetzner_remove_lb_targetwrite actionRemove a target from a load balancer.
hetzner_retry_certificateRetry issuance or renewal of a managed certificate that has failed.
hetzner_set_firewall_rulesReplace all rules of a firewall with a new set of rules.
hetzner_unassign_floating_ipUnassign a floating IP from the server it is currently assigned to.
hetzner_unassign_primary_ipUnassign a primary IP from the server it is currently assigned to.
hetzner_update_certificatewrite actionUpdate a certificate name or labels.
hetzner_update_firewallwrite actionUpdate a firewall name or labels.
hetzner_update_floating_ipwrite actionUpdate a floating IP's name, description, or labels.
hetzner_update_imagewrite actionUpdate an image's description, type, or labels.
hetzner_update_lb_servicewrite actionUpdate an existing service on a load balancer.
hetzner_update_load_balancerwrite actionUpdate a load balancer name or labels.
hetzner_update_networkwrite actionUpdate properties of a network such as name, labels, or vSwitch route exposure.
hetzner_update_placement_groupwrite actionUpdate a placement group's name or labels.
hetzner_update_primary_ipwrite actionUpdate a primary IP's name, auto_delete setting, or labels.
hetzner_update_serverwrite actionUpdate a server's name or labels.
hetzner_wait_for_actionWait for a resource action to reach success or error and return its full details. The timeout includes API requests and rate-limit delays.
Public scan report
scanner v0.1.10 · 2026-11-02 · same rubric, same numbers if you re-run it
- Code scan73 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 10 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Hetzner compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 83/100
- higher than 65% of 48,243 servers
- Tools
- 100
- the typical server has 7
- Tools that change things
- 34%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 5
- more than 83% of 28,706 servers
- Downloads a week
- 1,146
- more than 95% of 12,306 servers with a package
What its tools let an agent do: 66 read · 34 change
Release history: 4 versions in the registry since 2026-08-20, latest 2026-10-23, typically one every 20 days.
Install Hetzner in Claude Code, Cursor or VS Code
Runs npx -y @lazyants/hetzner-mcp-server on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add hetzner -- npx -y @lazyants/hetzner-mcp-server
What the publisher says
From the Hetzner repository's README, as published. We do not edit it. Read it on GitHub
hetzner-mcp-server
MCP server for the Hetzner Cloud API. Manage servers, networks, volumes, firewalls, load balancers, and more through the Model Context Protocol.
185 tools across 15 resource domains, with 9 entry points so you can pick the right server for your MCP client's tool limit. A read-only API-reference Resource (reference://hetzner/api) is also exposed on every entry point.
Installation
npm install -g @lazyants/hetzner-mcp-serverOr run directly:
npx @lazyants/hetzner-mcp-serverConfiguration
Set your Hetzner Cloud API token:
export HETZNER_API_TOKEN=your-token-hereGet a token from the Hetzner Cloud Console under Security > API Tokens.
The Storage Box tools call a separate host (https://api.hetzner.com/v1). They use HETZNERSTORAGEAPITOKEN if set, otherwise fall back to HETZNERAPITOKEN, so a single token keeps working. Set HETZNERSTORAGEAPITOKEN only if you scope Storage Box access to a dedicated token:
export HETZNER_STORAGE_API_TOKEN=your-storage-token-here # optionalEntry Points
Use split servers to reduce context size — pick only the splits you need.
Claude Code
Add to ~/.claude/settings.json:
{
"mcpServers": {
"hetzner": {
"command": "npx",
"args": ["-y", "@lazyants/hetzner-mcp-server"],
"env": {
"HETZNER_API_TOKEN": "your-token-here"
}
}
}
}Or use split servers (pick the splits you need):
{
"mcpServers": {
"hetzner-servers": {
"command": "npx",
"args": ["-y", "-p", "@lazyants/hetzner-mcp-server", "hetzner-mcp-servers"],
"env": { "HETZNER_API_TOKEN": "your-token-here" }
},
"hetzner-networking": {
"command": "npx",
"args": ["-y", "-p", "@lazyants/hetzner-mcp-server", "hetzner-mcp-networking"],
"env": { "HETZNER_API_TOKEN": "your-token-here" }
}
}
}Claude Desktop
Add to claudedesktopconfig.json:
{
"mcpServers": {
"hetzner": {
"command": "npx",
"args": ["-y", "@lazyants/hetzner-mcp-server"],
"env": {
"HETZNER_API_TOKEN": "your-token-here"
}
}
}
}Tools
Servers (27 tools) — servers
hetznerlistservers, hetznergetserver, hetznercreateserver, hetznerupdateserver, hetznerdeleteserver, hetznerpoweron, hetznerpoweroff, hetznerreboot, hetznerreset, hetznershutdown, hetznerrebuildserver, hetznerresizeserver, hetznerenablerescue, hetznerdisablerescue, hetznergetservermetrics, hetznerlistserveractions, hetznerchangeserverprotection, hetznerrequestconsole, hetznerenablebackup, hetznerdisablebackup, hetznerchangealiasips, hetznerchangednsptr, hetznerattachservertonetwork, hetznerdetachserverfromnetwork, hetzneraddservertoplacementgroup, hetznerremoveserverfromplacementgroup, hetznerresetserver_password
Images (7 tools) — storage
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Grade history
- 2026-11-02downgradeA → Bscore 83
Hetzner: common questions
- Is Hetzner MCP server safe?
- Mostly: it is graded B (83/100). Read the Hetzner safety report
- How do I install Hetzner?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Hetzner need an API key?
- Yes. The registry entry asks for
HETZNER_API_TOKEN,HETZNER_STORAGE_API_TOKEN. - Is Hetzner maintained?
- The last commit was 13 days ago (2026-10-23). The latest release is v4.0.2.
- What can I use instead of Hetzner?
- Servers from other publishers that do the same job: UniFi Network MCP server.
- How does Hetzner compare with other MCP servers?
- safety score 83/100 (higher than 65% of 48,243 servers); tools 100 (the typical server has 7); tools that change things 34% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Hetzner
Same job from other publishers: the closest match first, then the best rated.
- UniFi Network MCPManage UniFi Network devices, clients, firewall, VLANs, VPNs, and more via MCP.not reviewedEstablishedB