MCP.Market

Hetzner MCP server

by lazyants·io.github.lazyants/hetzner·v4.0.2·5 stars

MCP server for the Hetzner Cloud API — servers, networks, volumes, firewalls, and more.

B83/100grade B
What users say
No reviews yet
Be the first
Safety scan
B83/100

full report

Adoption
Growing

5 stars1.1k downloads/wk

Reviews

Write one

Nobody 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 posts

Read from the package source without running it. The installed server may list more.

  • hetzner_add_lb_service

    Add a service (port listener with forwarding rules) to a load balancer.

  • hetzner_add_lb_target

    Add a target (server, label selector, or IP) to a load balancer.

  • hetzner_add_route

    Add a route to an existing network.

  • hetzner_add_subnet

    Add a subnet to an existing network.

  • hetzner_apply_firewall

    Apply a firewall to one or more servers or label selectors.

  • hetzner_assign_floating_ip

    Assign a floating IP to a server in the same location.

  • hetzner_assign_primary_ip

    Assign a primary IP to a server.

  • hetzner_attach_iso

    Attach an ISO image to a server. The server must be rebooted to boot from the ISO.

  • hetzner_attach_lb_to_network

    Attach a load balancer to a network.

  • hetzner_change_floating_ip_protection

    Enable or disable delete protection on a floating IP to guard against accidental destruction.

  • hetzner_change_floating_ip_rdns

    Change the reverse DNS entry for a floating IP. Set dns_ptr to null to reset.

  • hetzner_change_image_protection

    Enable or disable delete protection on a snapshot or backup image to guard against accidental destruction.

  • hetzner_change_ip_range

    Expand the IP range of an existing network. The new CIDR range must contain the current range; shrinking is not supported.

  • hetzner_change_lb_algorithm

    Change the balancing algorithm of a load balancer.

  • hetzner_change_lb_dns_ptr

    Change 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_type

    Change the type (plan) of a load balancer.

  • hetzner_change_load_balancer_protection

    Enable or disable delete protection on a load balancer to guard against accidental destruction.

  • hetzner_change_network_protection

    Enable or disable delete protection on a network to guard against accidental destruction.

  • hetzner_change_primary_ip_protection

    Enable or disable delete protection on a primary IP to guard against accidental destruction.

  • hetzner_change_primary_ip_rdns

    Change the reverse DNS entry for a primary IP. Set dns_ptr to null to reset.

  • hetzner_create_certificatewrite action

    Create an uploaded certificate (provide PEM data) or a managed certificate (provide domain names).

  • hetzner_create_firewallwrite action

    Create a new firewall with optional rules and resource assignments.

  • hetzner_create_floating_ipwrite action

    Create a new floating IP. Either home_location or server must be provided.

  • hetzner_create_imagewrite action

    Create a snapshot image from an existing server.

  • hetzner_create_load_balancerwrite action

    Create a new load balancer with the specified type, location, and optional targets and services.

  • hetzner_create_networkwrite action

    Create a new network with the specified IP range, and optionally subnets and routes.

  • hetzner_create_placement_groupwrite action

    Create a new placement group to control server distribution across hosts.

  • hetzner_create_primary_ipwrite action

    Create a new primary IP with the specified type, optional location, and optional assignee type.

  • hetzner_create_serverwrite action

    Create a new server with the specified type, image, and configuration options.

  • hetzner_delete_certificatewrite action

    Delete a certificate. It must not be in use by any load balancer.

  • hetzner_delete_firewallwrite action

    Delete a firewall. It must be removed from all resources first.

  • hetzner_delete_floating_ipwrite action

    Delete 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 action

    Permanently delete a snapshot or backup image.

  • hetzner_delete_lb_servicewrite action

    Remove a service from a load balancer by its listen port.

  • hetzner_delete_load_balancerwrite action

    Permanently delete a load balancer.

  • hetzner_delete_networkwrite action

    Delete a network. All subnets and routes within it will also be deleted.

  • hetzner_delete_placement_groupwrite action

    Delete a placement group. All servers must be removed from it first.

  • hetzner_delete_primary_ipwrite action

    Delete 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 action

    Remove a route from an existing network.

  • hetzner_delete_serverwrite action

    Permanently delete a server. This destroys the server and all associated data.

  • hetzner_delete_subnetwrite action

    Remove a subnet from an existing network by its IP range.

  • hetzner_detach_iso

    Detach an ISO image from a server. The server must be rebooted for the change to take effect.

  • hetzner_detach_lb_from_network

    Detach a load balancer from a network.

  • hetzner_disable_lb_public_interface

    Disable the public network interface of a load balancer, removing its public connectivity.

  • hetzner_enable_lb_public_interface

    Enable the public network interface of a load balancer so it can be reached over public IPs.

  • hetzner_get_certificate

    Get details of a specific certificate by its ID.

  • hetzner_get_firewall

    Get details of a specific firewall by its ID.

  • hetzner_get_floating_ip

    Get details of a specific floating IP by ID.

  • hetzner_get_image

    Get details of a specific image by ID.

  • hetzner_get_iso

    Get details of a specific ISO image by ID.

  • hetzner_get_lb_metrics

    Get metrics for a load balancer over a specified time range.

  • hetzner_get_load_balancer

    Get details of a specific load balancer by its ID.

  • hetzner_get_location

    Get details of a specific location by ID.

  • hetzner_get_network

    Get details of a specific network by its ID.

  • hetzner_get_placement_group

    Get details of a specific placement group by ID.

  • hetzner_get_pricing

    Get current Hetzner Cloud prices, optionally selecting one resource category or traffic prices. Currency and VAT rate are included with filtered results.

  • hetzner_get_primary_ip

    Get details of a specific primary IP by ID.

  • hetzner_get_server

    Get details of a specific server by ID.

  • hetzner_get_server_type

    Get details of a specific server type, including specs and pricing.

  • hetzner_list_certificate_actions

    List all actions performed on a specific certificate, such as issuance and renewal retries.

  • hetzner_list_certificates

    List all SSL/TLS certificates in the project, with optional filtering.

  • hetzner_list_firewall_actions

    List all actions performed on a specific firewall, such as rule and resource attachment changes.

  • hetzner_list_firewalls

    List all firewalls in the project, with optional filtering by name or labels.

  • hetzner_list_floating_ip_actions

    List all actions performed on a specific floating IP, such as assign, unassign, and rDNS changes.

  • hetzner_list_floating_ips

    List all floating IPs in the project, with optional filtering by name or label.

  • hetzner_list_image_actions

    List all actions performed on a specific image, such as snapshot creation and protection changes.

  • hetzner_list_images

    List all available images, including system, snapshot, and backup images.

  • hetzner_list_isos

    List all available ISO images for mounting on servers.

  • hetzner_list_lb_types

    List all available load balancer types with pricing and limits.

  • hetzner_list_load_balancer_actions

    List all actions performed on a specific load balancer, such as service changes and target attachments.

  • hetzner_list_load_balancers

    List all load balancers in the project, with optional filtering by name or labels.

  • hetzner_list_locations

    List all available Hetzner Cloud locations (regions).

  • hetzner_list_network_actions

    List all actions performed on a specific network, such as subnet and route changes.

  • hetzner_list_network_members

    List resources attached to a network, with their subnet, IP addresses, and attachment status. Filter by resource type, subnet, or status.

  • hetzner_list_networks

    List all networks in the project, with optional filtering by name or labels.

  • hetzner_list_placement_groups

    List all placement groups in the project.

  • hetzner_list_primary_ip_actions

    List all actions performed on a specific primary IP, such as assign, unassign, and rDNS changes.

  • hetzner_list_primary_ips

    List all primary IPs in the project, with optional filtering by name, label, or IP address.

  • hetzner_list_server_types

    List server types with specs, pricing, and per-location availability and recommendations.

  • hetzner_list_servers

    List all servers in the project, with optional filtering by name, label, or status.

  • hetzner_power_off

    Force power off a server immediately. This is like pulling the power cord.

  • hetzner_power_on

    Start a stopped server by powering it on.

  • hetzner_rebootwrite action

    Send an ACPI reboot signal to the server for a soft reboot.

  • hetzner_remove_firewallwrite action

    Remove a firewall from one or more servers or label selectors.

  • hetzner_remove_lb_targetwrite action

    Remove a target from a load balancer.

  • hetzner_retry_certificate

    Retry issuance or renewal of a managed certificate that has failed.

  • hetzner_set_firewall_rules

    Replace all rules of a firewall with a new set of rules.

  • hetzner_unassign_floating_ip

    Unassign a floating IP from the server it is currently assigned to.

  • hetzner_unassign_primary_ip

    Unassign a primary IP from the server it is currently assigned to.

  • hetzner_update_certificatewrite action

    Update a certificate name or labels.

  • hetzner_update_firewallwrite action

    Update a firewall name or labels.

  • hetzner_update_floating_ipwrite action

    Update a floating IP's name, description, or labels.

  • hetzner_update_imagewrite action

    Update an image's description, type, or labels.

  • hetzner_update_lb_servicewrite action

    Update an existing service on a load balancer.

  • hetzner_update_load_balancerwrite action

    Update a load balancer name or labels.

  • hetzner_update_networkwrite action

    Update properties of a network such as name, labels, or vSwitch route exposure.

  • hetzner_update_placement_groupwrite action

    Update a placement group's name or labels.

  • hetzner_update_primary_ipwrite action

    Update a primary IP's name, auto_delete setting, or labels.

  • hetzner_update_serverwrite action

    Update a server's name or labels.

  • hetzner_wait_for_action

    Wait 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

no findings
  • 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
Overall 83/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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-server

Or run directly:

npx @lazyants/hetzner-mcp-server

Configuration

Set your Hetzner Cloud API token:

export HETZNER_API_TOKEN=your-token-here

Get 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  # optional

Entry 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 MCP
    Manage UniFi Network devices, clients, firewall, VLANs, VPNs, and more via MCP.
    B

More from lazyants →