Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.lazyants/hetzner

NPM · @LAZYANTS/HETZNER-MCP-SERVER · SCANNED AUG 3

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

+25 this week 78 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (107 of 108), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (107 of 108), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency84
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to lazyants/hetzner-mcp-server). View diagnostics → Pass
  • License check failed: the license (FSL-1.1-MIT) isn't a recognized OSI-approved license. See how to fix → Fail
  • Actively maintained (last published 41 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability85
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 13206 tokens (~71/item across 186 items; 185 tools + 1 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
  • Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @lazyants/hetzner-mcp-server

# add to Claude Code
claude mcp add lazyants-hetzner -- npx -y @lazyants/hetzner-mcp-server
# add to Codex CLI
codex mcp add lazyants-hetzner -- npx -y @lazyants/hetzner-mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "lazyants-hetzner": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@lazyants/hetzner-mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add lazyants-hetzner --command npx --arg -y --arg @lazyants/hetzner-mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  lazyants-hetzner:
    command: "npx"
    args: ["-y", "@lazyants/hetzner-mcp-server"]
// mcp.json
{
  "mcpServers": {
    "lazyants-hetzner": {
      "command": "npx",
      "args": [
        "-y",
        "@lazyants/hetzner-mcp-server"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +47
    • Install scripts: unverified → pass security
    • Provenance: unverified → pass security
    • Known CVEs: unverified → partial security
    • Malware scan: unverified → pass security
    • The attested source repository moved: lazyants/hetzner-mcp-server security
    • License: unverified → fail functional
    • Schema quality: unverified → excellent functional
    • Stability: unverified → 0.20 functional
    • Dependency health: unverified → partial functional
    • Maintenance: unverified → pass functional
    • Licence: FSL-1.1-MIT functional
  • 1 Aug 26 +5
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • MCP protocol: unverified → pass functional
  • 31 Jul 26 −27
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Jul 26 53

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/@lazyants/[email protected]

Provenance verified

Ecosystem: npm · Outcome: verified

Reason: verified

Source repo:
lazyants/hetzner-mcp-server
Certificate issuer:
https://token.actions.githubusercontent.com
Certificate SAN:
https://github.com/lazyants/hetzner-mcp-server/.github/workflows/publish-registry.yml@refs/tags/v2.3.1
Rekor log index:
1908859923
Predicate type:
https://slsa.dev/provenance/v1
Subject digest:
sha512:1d2cb0932969cb34994f101895b8f5f40cc3f166dc06810f98da478eaceae86478e7c3154b341db070e8b31625067674c22995d204a1362d73e8dd2c4
Discovery method:
attestation_endpoint
Dependencies 107 packages

107 packages in the resolved dependency tree · 107 deprecated · 32 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 185 exposed · ~13,177 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
hetzner_get_ssh_key ~33

Get details of a specific SSH key by ID.

NameTypeReqDescription
idintegeryesSSH key ID

No output schema declared.

No examples provided.

hetzner_get_storage_box ~32

Get details of a specific Storage Box by ID.

NameTypeReqDescription
idintegeryesStorage Box ID

No output schema declared.

No examples provided.

hetzner_get_storage_box_snapshot ~44

Get details of a specific Storage Box snapshot by ID.

NameTypeReqDescription
idintegeryesStorage Box ID
snapshot_idintegeryesSnapshot ID

No output schema declared.

No examples provided.

hetzner_get_storage_box_subaccount ~48

Get details of a specific Storage Box subaccount by ID.

NameTypeReqDescription
idintegeryesStorage Box ID
subaccount_idintegeryesSubaccount ID

No output schema declared.

No examples provided.

hetzner_get_storage_box_type ~40

Get details of a specific Storage Box type by ID, including capacity and pricing.

NameTypeReqDescription
idintegeryesStorage Box type ID

No output schema declared.

No examples provided.

hetzner_get_volume ~29

Get details of a specific volume by ID.

NameTypeReqDescription
idintegeryesVolume ID

No output schema declared.

No examples provided.

hetzner_get_zone ~44

Get details of a specific DNS zone by its numeric ID or zone name (e.g. "example.com").

NameTypeReqDescription
id_or_nameyesZone ID or name

No output schema declared.

No examples provided.

hetzner_get_zone_rrset ~88

Get a specific RRSet by zone, name, and record type.

NameTypeReqDescription
id_or_nameyesZone ID or name
namestringyesRRSet name (e.g. "@", "www", "_acme-challenge")
typestringyesDNS record type (A, AAAA, CNAME, MX, NS, TXT, etc.)

No output schema declared.

No examples provided.

hetzner_import_zonefile ~68

Replace the contents of a DNS zone with the given RFC 1035 zonefile. This overwrites all existing RRSets.

NameTypeReqDescription
id_or_nameyesZone ID or name
zonefilestringyesFull zone content in RFC 1035 zonefile format

No output schema declared.

No examples provided.

hetzner_list_certificate_actions ~108

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

NameTypeReqDescription
idintegeryesCertificate ID
pageintegerPage number
per_pageintegerResults per page (max 50)
sortstringSort field, e.g. "id:asc" or "name:desc"
statusstringFilter by action status: comma-separated list of "running", "success", "error"

No output schema declared.

No examples provided.

hetzner_list_certificates ~93

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

NameTypeReqDescription
label_selectorstringLabel filter, e.g. "env=prod,tier=web"
namestringFilter by name
pageintegerPage number
per_pageintegerResults per page (max 50)
typestringFilter by certificate type

No output schema declared.

No examples provided.

hetzner_list_datacenters ~96

Deprecated by Hetzner; /datacenters is removed after 2026-10-01 (HTTP 410). Use hetzner_list_server_types (locations[].available/recommended) and hetzner_list_locations instead.

NameTypeReqDescription
namestringFilter by datacenter name
pageintegerPage number
per_pageintegerResults per page (max 50)

No output schema declared.

No examples provided.

hetzner_list_firewall_actions ~110

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

NameTypeReqDescription
idintegeryesFirewall ID
pageintegerPage number
per_pageintegerResults per page (max 50)
sortstringSort field, e.g. "id:asc" or "name:desc"
statusstringFilter by action status: comma-separated list of "running", "success", "error"

No output schema declared.

No examples provided.

hetzner_list_firewalls ~84

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

NameTypeReqDescription
label_selectorstringLabel filter, e.g. "env=prod,tier=web"
namestringFilter by name
pageintegerPage number
per_pageintegerResults per page (max 50)

No output schema declared.

No examples provided.

hetzner_list_floating_ip_actions ~117

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

NameTypeReqDescription
idintegeryesFloating IP ID
pageintegerPage number
per_pageintegerResults per page (max 50)
sortstringSort field, e.g. "id:asc" or "name:desc"
statusstringFilter by action status: comma-separated list of "running", "success", "error"

No output schema declared.

No examples provided.

hetzner_list_floating_ips ~88

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

NameTypeReqDescription
label_selectorstringLabel filter, e.g. "env=prod,tier=web"
namestringFilter by floating IP name
pageintegerPage number
per_pageintegerResults per page (max 50)

No output schema declared.

No examples provided.

hetzner_list_image_actions ~109

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

NameTypeReqDescription
idintegeryesImage ID
pageintegerPage number
per_pageintegerResults per page (max 50)
sortstringSort field, e.g. "id:asc" or "name:desc"
statusstringFilter by action status: comma-separated list of "running", "success", "error"

No output schema declared.

No examples provided.

hetzner_list_images ~138

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

NameTypeReqDescription
architecturestringFilter by CPU architecture
label_selectorstringLabel filter, e.g. "env=prod,tier=web"
namestringFilter by image name
pageintegerPage number
per_pageintegerResults per page (max 50)
sortstringSort field, e.g. "id:asc" or "name:desc"
statusstringFilter by image status
typestringFilter by image type

No output schema declared.

No examples provided.

hetzner_list_isos ~68

List all available ISO images for mounting on servers.

NameTypeReqDescription
architecturestringFilter by CPU architecture
namestringFilter by ISO name
pageintegerPage number
per_pageintegerResults per page (max 50)

No output schema declared.

No examples provided.

hetzner_list_lb_types ~59

List all available load balancer types with pricing and limits.

NameTypeReqDescription
namestringFilter by type name
pageintegerPage number
per_pageintegerResults per page (max 50)

No output schema declared.

No examples provided.

hetzner_list_load_balancer_actions ~115

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

NameTypeReqDescription
idintegeryesLoad Balancer ID
pageintegerPage number
per_pageintegerResults per page (max 50)
sortstringSort field, e.g. "id:asc" or "name:desc"
statusstringFilter by action status: comma-separated list of "running", "success", "error"

No output schema declared.

No examples provided.

hetzner_list_load_balancers ~86

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

NameTypeReqDescription
label_selectorstringLabel filter, e.g. "env=prod,tier=web"
namestringFilter by name
pageintegerPage number
per_pageintegerResults per page (max 50)

No output schema declared.

No examples provided.

hetzner_list_locations ~57

List all available Hetzner Cloud locations (regions).

NameTypeReqDescription
namestringFilter by location name
pageintegerPage number
per_pageintegerResults per page (max 50)

No output schema declared.

No examples provided.

hetzner_list_network_actions ~108

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

NameTypeReqDescription
idintegeryesNetwork ID
pageintegerPage number
per_pageintegerResults per page (max 50)
sortstringSort field, e.g. "id:asc" or "name:desc"
statusstringFilter by action status: comma-separated list of "running", "success", "error"

No output schema declared.

No examples provided.

hetzner_list_networks ~83

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

NameTypeReqDescription
label_selectorstringLabel filter, e.g. "env=prod,tier=web"
namestringFilter by name
pageintegerPage number
per_pageintegerResults per page (max 50)

No output schema declared.

No examples provided.

hetzner_list_placement_groups ~79

List all placement groups in the project.

NameTypeReqDescription
label_selectorstringLabel filter, e.g. "env=prod,tier=web"
namestringFilter by placement group name
pageintegerPage number
per_pageintegerResults per page (max 50)

No output schema declared.

No examples provided.

hetzner_list_primary_ip_actions ~116

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

NameTypeReqDescription
idintegeryesPrimary IP ID
pageintegerPage number
per_pageintegerResults per page (max 50)
sortstringSort field, e.g. "id:asc" or "name:desc"
statusstringFilter by action status: comma-separated list of "running", "success", "error"

No output schema declared.

No examples provided.

hetzner_list_primary_ips ~102

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

NameTypeReqDescription
ipstringFilter by IP address
label_selectorstringLabel filter, e.g. "env=prod,tier=web"
namestringFilter by primary IP name
pageintegerPage number
per_pageintegerResults per page (max 50)

No output schema declared.

No examples provided.

hetzner_list_server_actions ~61

List all actions for a specific server, such as power changes and rebuilds.

NameTypeReqDescription
idintegeryesServer ID
pageintegerPage number
per_pageintegerResults per page (max 50)

No output schema declared.

No examples provided.

hetzner_list_server_types ~59

List all available server types with their specs and pricing.

NameTypeReqDescription
namestringFilter by server type name
pageintegerPage number
per_pageintegerResults per page (max 50)

No output schema declared.

No examples provided.

hetzner_list_servers ~97

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

NameTypeReqDescription
label_selectorstringLabel filter, e.g. "env=prod,tier=web"
namestringFilter by server name
pageintegerPage number
per_pageintegerResults per page (max 50)
statusstringFilter by server status

No output schema declared.

No examples provided.

hetzner_list_ssh_keys ~102

List all SSH keys in the project, with optional filtering by name, label, or fingerprint.

NameTypeReqDescription
fingerprintstringFilter by SSH key fingerprint
label_selectorstringLabel filter, e.g. "env=prod,tier=web"
namestringFilter by SSH key name
pageintegerPage number
per_pageintegerResults per page (max 50)

No output schema declared.

No examples provided.

hetzner_list_storage_box_actions ~112

List all actions performed on a specific Storage Box, such as type changes and password resets.

NameTypeReqDescription
idintegeryesStorage Box ID
pageintegerPage number
per_pageintegerResults per page (max 50)
sortstringSort field, e.g. "id:asc" or "name:desc"
statusstringFilter by action status: comma-separated list of "running", "success", "error"

No output schema declared.

No examples provided.

hetzner_list_storage_box_folders ~56

List the folders inside a Storage Box, optionally under a given path.

NameTypeReqDescription
idintegeryesStorage Box ID
pathstringDirectory path to list folders under (defaults to the root)

No output schema declared.

No examples provided.

hetzner_list_storage_box_snapshots ~122

List the snapshots of a Storage Box, with optional filtering by name, labels, or automatic-vs-manual.

NameTypeReqDescription
idintegeryesStorage Box ID
is_automaticbooleanFilter by whether the snapshot was created by the snapshot plan
label_selectorstringLabel filter, e.g. "env=prod,tier=web"
namestringFilter by name
sortstringSort field, e.g. "id:asc" or "name:desc"

No output schema declared.

No examples provided.

hetzner_list_storage_box_subaccounts ~111

List the subaccounts of a Storage Box, with optional filtering by name, username, or labels.

NameTypeReqDescription
idintegeryesStorage Box ID
label_selectorstringLabel filter, e.g. "env=prod,tier=web"
namestringFilter by name
sortstringSort field, e.g. "id:asc" or "name:desc"
usernamestringFilter by subaccount username

No output schema declared.

No examples provided.

hetzner_list_storage_box_types ~62

List all available Storage Box types with their capacity, limits, and pricing.

NameTypeReqDescription
namestringFilter by name
pageintegerPage number
per_pageintegerResults per page (max 50)

No output schema declared.

No examples provided.

hetzner_list_storage_boxes ~107

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

NameTypeReqDescription
label_selectorstringLabel filter, e.g. "env=prod,tier=web"
namestringFilter by name
pageintegerPage number
per_pageintegerResults per page (max 50)
sortstringSort field, e.g. "id:asc" or "name:desc"

No output schema declared.

No examples provided.

hetzner_list_volume_actions ~111

List all actions performed on a specific volume, such as attach, detach, and resize operations.

NameTypeReqDescription
idintegeryesVolume ID
pageintegerPage number
per_pageintegerResults per page (max 50)
sortstringSort field, e.g. "id:asc" or "name:desc"
statusstringFilter by action status: comma-separated list of "running", "success", "error"

No output schema declared.

No examples provided.

hetzner_list_volumes ~98

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

NameTypeReqDescription
label_selectorstringLabel filter, e.g. "env=prod,tier=web"
namestringFilter by volume name
pageintegerPage number
per_pageintegerResults per page (max 50)
statusstringFilter by volume status

No output schema declared.

No examples provided.

hetzner_list_zone_actions ~116

List all actions performed on a specific DNS zone, such as imports, TTL changes, and protection toggles.

NameTypeReqDescription
id_or_nameyesZone ID or name
pageintegerPage number
per_pageintegerResults per page (max 50)
sortstringSort field, e.g. "id:asc" or "name:desc"
statusstringFilter by action status: comma-separated list of "running", "success", "error"

No output schema declared.

No examples provided.

hetzner_list_zone_rrsets ~138

List all RRSets in a DNS zone, with optional filtering by name, type, or labels.

NameTypeReqDescription
id_or_nameyesZone ID or name
label_selectorstringLabel filter, e.g. "env=prod,tier=web"
namestringFilter by name
pageintegerPage number
per_pageintegerResults per page (max 50)
sortstringSort field, e.g. "id:asc" or "name:desc"
typearrayFilter by one or more record types

No output schema declared.

No examples provided.

hetzner_list_zones ~125

List all DNS zones in the project, with optional filtering by name, mode (primary/secondary), or labels.

NameTypeReqDescription
label_selectorstringLabel filter, e.g. "env=prod,tier=web"
modestringFilter by zone mode
namestringFilter by name
pageintegerPage number
per_pageintegerResults per page (max 50)
sortstringSort field, e.g. "id:asc" or "name:desc"

No output schema declared.

No examples provided.

hetzner_power_off ~35

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

NameTypeReqDescription
idintegeryesServer ID

No output schema declared.

No examples provided.

hetzner_power_on ~29

Start a stopped server by powering it on.

NameTypeReqDescription
idintegeryesServer ID

No output schema declared.

No examples provided.

hetzner_reboot ~34

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

NameTypeReqDescription
idintegeryesServer ID

No output schema declared.

No examples provided.

hetzner_rebuild_server ~75

Rebuild a server from an image, wiping all data on the server.

NameTypeReqDescription
idintegeryesServer ID
imagestringyesImage name or ID to rebuild from
user_datastringCloud-init user data to apply to the rebuilt server. Overrides the value set at creation.

No output schema declared.

No examples provided.

hetzner_remove_firewall ~47

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

NameTypeReqDescription
idintegeryesResource ID
remove_fromarrayyesResources to remove the firewall from

No output schema declared.

No examples provided.

hetzner_remove_lb_target ~68

Remove a target from a load balancer.

NameTypeReqDescription
idintegeryesResource ID
ipobjectIP target
label_selectorobjectLabel selector target
serverobjectServer target
typestringyesTarget type

No output schema declared.

No examples provided.

hetzner_remove_server_from_placement_group ~32

Remove a server from its placement group.

NameTypeReqDescription
idintegeryesServer ID

No output schema declared.

No examples provided.