Labsco
MCP SERVER

Hetzner Cloud MCP Server

by lazyants

The Hetzner Cloud project API in full — servers, images, networks, firewalls, load balancers, volumes, floating and primary IPs, Storage Boxes and DNS zones, destructive verbs included.

Cloud Resources & Infrastructure as CodeVerified
Summary
The tool descriptions carry Hetzner's own dated deprecations and behaviour changes, which is unusual in a wrapper and useful in practice.

The datacenter tools are marked as removed by Hetzner after 2026-10-01 and point at the server-type and location tools instead, and the IP deletions note that the address must be unassigned first or the API refuses. The destructive verbs are just as explicit: rebuilding a server wipes all data on it, deleting a Storage Box takes its contents, disabling backups removes the existing snapshots, and enabling them raises the server price by 20 percent. Rate limiting is handled for you, with backoff on a 429 rather than a failed call.

What it is

A Hetzner Cloud client covering a project's compute, network, storage and DNS objects, with the protection toggles and per-object action logs Hetzner exposes alongside them. It ships as nine separate entry points as well as one complete server, so you can register only the domains you need and keep a client's tool list manageable.

What you get
  • Server lifecycle: hetzner_create_server with image, server type, location, networks, firewalls, SSH keys and user data, then hetzner_power_on, hetzner_shutdown, hetzner_reboot, hetzner_reset, hetzner_rebuild_server and hetzner_resize_server.
  • Recovery paths that do not need a console of your own: hetzner_enable_rescue, hetzner_request_console for a noVNC WebSocket URL valid for a limited time, and hetzner_reset_server_password, which reboots the server and returns the new root password.
  • Networking: hetzner_create_network with its IP range, subnets and routes, hetzner_attach_server_to_network, hetzner_change_alias_ips, and hetzner_change_ip_range, which expands a range but will not shrink one.
  • Firewalls and load balancers: hetzner_create_firewall, hetzner_set_firewall_rules and hetzner_apply_firewall; on the balancer side hetzner_add_lb_service with health checks, hetzner_add_lb_target, hetzner_change_lb_algorithm and hetzner_get_lb_metrics.
  • Storage: hetzner_create_volume, hetzner_attach_volume and hetzner_resize_volume, which only grows a volume, plus the Storage Box family — access settings for SSH, Samba, WebDAV and ZFS, subaccounts scoped to a home directory, and hetzner_enable_storage_box_snapshot_plan for schedule and retention.
  • Addressing: floating IPs and primary IPs each with create, assign, unassign, reverse-DNS and protection tools, and hetzner_change_dns_ptr for a server's own public IPv4 or IPv6.
  • DNS zones in primary or secondary mode: hetzner_create_zone, hetzner_import_zonefile and hetzner_export_zonefile, the RRSet tools for records, and hetzner_change_zone_rrset_protection against accidental edits.
  • Delete protection as its own verb on every object type — hetzner_change_server_protection, hetzner_change_volume_protection, hetzner_change_network_protection and their siblings — with action logs such as hetzner_list_server_actions to read what happened.
  • Cost and capacity reads: hetzner_get_pricing across servers, volumes, traffic, floating IPs and load balancers, plus hetzner_list_server_types, hetzner_list_lb_types and hetzner_list_storage_box_types.
  • A read-only API-reference resource is exposed on every entry point, so the agent can look up the underlying API without leaving the session.
Requirements

A Hetzner Cloud project API token in HETZNER_API_TOKEN, made in the console under Security. Use a read-only token when you only intend to look: create, update and delete here bill against your real account. The Storage Box tools call a different Hetzner host and will use HETZNER_STORAGE_API_TOKEN if you set one, falling back to the main token otherwise. If the full tool list is too much for your client, point it at one of the split entry points — servers, networking, load balancers, IPs, storage, Storage Boxes, config or DNS — instead of the complete server.

Setup effort

One command plus a key — npm install -g @lazyants/hetzner-mcp-server, then supply credentials