Skills/npm/hetzner-mcp-server

hetzner-mcp-server@4.1.0

VERIFIED

Publisher claims: "MCP server for the Hetzner Cloud API — manage servers, networks, volumes, and more" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry npm (MCP server)Publisher lazyants · publishing for 248 daysInstalls 2,247Last detonated 1 h ago
$claude mcp add hetzner-mcp-server -- npx -y @lazyants/hetzner-mcp-server
WatchReport an issue

Coverage

Server started and answered tools/list.
Tested
MCP initialize and tools/list · every tool description, for hidden instructions · every file read, file written and host contacted by what ran
Not tested
what the tools do when called with real credentials

Before you give it your token

It will ask for
HETZNER_API_TOKENHETZNER_STORAGE_API_TOKEN
Where it talks to
no vendor host named in the codeAlso hetzner.cloud, hetzner.com — not the publisher's domain; check what for before connecting.
What the honeypot saw
no credential files read · no network
What we could not test
what the tools do when called with real credentials

Connect it with a scoped credential, under the guard, and read the third-party hosts first. The code names hetzner.cloud, hetzner.com as well as its own vendor. The guard injects HETZNER_API_TOKEN, HETZNER_STORAGE_API_TOKEN only into requests to the host you bind (and its subdomains) and refuses the rest.

$vet-skills run --net declared -- npx -y @lazyants/hetzner-mcp-server

Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios) on 2026-11-15 and scored it 90/100 (Verified). It did what it claims and nothing else we could detect: no undeclared network egress, no credential reads, no persistent instruction writes. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 40 s · 2 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
20sprocessdependency install exit 0
40sclaimed185 tools: hetzner_list_servers, hetzner_get_server, hetzner_create_server, hetzner_update_server, hetzner_delete_server, hetzner_power_on, hetzner_power_off, hetzner_reboot, hetzner_reset, hetzner_shutdown, hetzner_rebuild_server, hetzner_resize_server, hetzner_enable_rescue, hetzner_disable_rescue, hetzner_get_server_metrics, hetzner_list_server_actions, hetzner_change_server_protection, hetzner_request_console, hetzner_enable_backup, hetzner_disable_backup, hetzner_change_alias_ips, hetzner_change_dns_ptr, hetzner_attach_server_to_network, hetzner_detach_server_from_network, hetzner_add_server_to_placement_group
40stools8fd5bf26fc06f908
40stools79183923d7931abb
40stoolsf44a6501cf1d47d8
40stoolsde4161026023aa35
40stools5e9162d50873b011
40stoolsb913a01be46d5a9a
40stools3a625379b218de5e
40stools7eca4bf01da34ac5
40stools1b5de448e6544efd
40stools35c222bd30f911b3
40stools7f32f5c8a070bec4
40stools4343fc2ba8f3ee4d
40stools6d60d9d02602ac2b
40stoolsa8731d46b942067f
40stoolsdc528bad460d70b7
40stoolsca977cfedb454ea6
40stools1d03478d988960ce
40stools7dc5d8d8cc6371e9
40stools516e3e83b3eb53c0
40stoolsce025c2db4d25fa7
40stools2bed98fea024cb3a
40stools2f418ffc61facbf7
40stools0b18724e899b48ca
40stools1f9a0bf93291572f
40stools09ecf9d49af3373d
40stoolsf96f98d356dd90b0
40stoolsf95ba754267c1b44
40stools176f1782bcd119c1
40stools8cdce3ce6ddf349d
40stools67a908e087499708
40stools0924445286a19bc5
40stools8c4530162cd77610
40stoolsf6304b24d69b86e8
40stoolsa917577b62c5ebaa
40stools84328de11be4c6a3
40stools257c32e06c77213b
40stools87f01f908f2b01b0
40stools25537d428273c8cf
40stools03e155b2e6ae0cab
40stoolsfae82cfab15b777a
40stools6d397913af117d9a
40stools343ee2cf2ff17119
40stools045f3b64b89a349f
40stools339a479655385757
40stools43699a7d4a2a54e8
40stoolsfcecf5dc7e96aa5b
40stoolsa1776ef6043d3840
40stools6fc343b28c2e43c9
40stools2367a50695ec10cf
40stools7eebac06c812e307
40stools5214cb97565d57de
40stools2a75eb813c94e48b
40stools82e911b1251a84f7
40stools41bab1ca14197516
40stools1422dd90f2adf743
40stoolse1b4a074e34bf034
40stoolsdbd0d49114f3bf55
40stoolsbd3516557c911f2b
40stools967a1b6c8fccc9cc
40stoolsdc8b5d4c3d0857f8
40stools49596cd2624485ef
40stools7b5a99eb75e1350a
40stools749e6fa44ab403be
40stoolsf5587f87eb572af8
40stoolsb280d0d140d6ce0e
40stoolsbd1054515c00a0cb
40stools271fbe7a7a9eee63
40stoolsbb3bbbf6ea74f9a3
40stools8f4c1ed50eeb91c1
40stoolsa1f38dec985aee8a
40stoolsa69ed69bd67ac253
40stools20adebd5ea98263f
40stools30b023574373e582
40stools01a734412f6e26e3
40stools34440ef68f0078c6
40stools239227c0cfe98d4a
40stools5387c3623496dd00
40stools41b69a598ee2699f
40stools932fcd678a6b07ee
40stools390d3e2a694f1e3e
40sprocessscript backend runs setup only
40sprocessno install scripts to re-run

Static findings

MEDIUM
npx invocation of non-well-known packagedist/resources/hetzner-reference.js:8 · npx invocation of non-well-known package — may execute untrusted code// This compiles into dist/ so npm/npx consumers can read it without aFix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Access to sensitive file pathsdist/services/hetzner.js:81 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files// `${VAR}` placeholder in a compose/.env file) still falls back to the Cloud token.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05

Cost to the agent

Instructions loaded
≈62 tok
1 file · 76 in bundle
Tool list per prompt
≈32,563 tok
185 tools · 176 per tool
Handshake
6647 ms
launch to tools/list, stdio
Undocumented tools
0
description under 20 chars · avg 76

Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.

Known vulnerabilities

No advisories in OSV for @lazyants/hetzner-mcp-server@4.1.0 as of 45 min ago. This is the package itself, not its dependencies.