NestDaddy

Hetzner Cloud (unofficial)

io.github.mguttmann/the-real-hetzner-mcp · v0.2.0

Unofficial MCP server for the Hetzner Cloud API: one typed tool per operation, read and write.

Connect Runs on your machine

Terminal
claude mcp add the-real-hetzner-mcp -e HETZNER_API_TOKEN=<HETZNER_API_TOKEN> -e HETZNER_READ_ONLY=<HETZNER_READ_ONLY> -e HETZNER_CONFIRM_WRITES=<HETZNER_CONFIRM_WRITES> -e HETZNER_DENY_TOOLS=<HETZNER_DENY_TOOLS> -e LOG_LEVEL=<LOG_LEVEL> -- npx -y @mguttmann/[email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "the-real-hetzner-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mguttmann/[email protected]"
      ],
      "env": {
        "HETZNER_API_TOKEN": "<HETZNER_API_TOKEN>",
        "HETZNER_READ_ONLY": "<HETZNER_READ_ONLY>",
        "HETZNER_CONFIRM_WRITES": "<HETZNER_CONFIRM_WRITES>",
        "HETZNER_DENY_TOOLS": "<HETZNER_DENY_TOOLS>",
        "LOG_LEVEL": "<LOG_LEVEL>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "the-real-hetzner-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mguttmann/[email protected]"
      ],
      "env": {
        "HETZNER_API_TOKEN": "<HETZNER_API_TOKEN>",
        "HETZNER_READ_ONLY": "<HETZNER_READ_ONLY>",
        "HETZNER_CONFIRM_WRITES": "<HETZNER_CONFIRM_WRITES>",
        "HETZNER_DENY_TOOLS": "<HETZNER_DENY_TOOLS>",
        "LOG_LEVEL": "<LOG_LEVEL>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "the-real-hetzner-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@mguttmann/[email protected]"
      ],
      "env": {
        "HETZNER_API_TOKEN": "<HETZNER_API_TOKEN>",
        "HETZNER_READ_ONLY": "<HETZNER_READ_ONLY>",
        "HETZNER_CONFIRM_WRITES": "<HETZNER_CONFIRM_WRITES>",
        "HETZNER_DENY_TOOLS": "<HETZNER_DENY_TOOLS>",
        "LOG_LEVEL": "<LOG_LEVEL>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
HETZNER_API_TOKEN
Required, secret
Hetzner Cloud API token from the Cloud Console (project > Security > API tokens). The server can do exactly what this token allows; use a Read token if the client only needs to read.
HETZNER_READ_ONLY
Optional
true: every tool that is not read-only, and hcloud_raw_request with a method other than GET, returns an error without sending a request. Any value other than true, 1, yes, false, 0, no or empty stops the server at startup.
HETZNER_CONFIRM_WRITES
Optional
true: every tool that is not read-only returns a preview unless the call carries confirm "YES". Friction against mistakes, not a security boundary.
HETZNER_DENY_TOOLS
Optional
Comma-separated tool name globs (for example hcloud_delete_*,hcloud_raw_request) that always return an error. Deny hcloud_raw_request as well, otherwise denied endpoints stay reachable through it. A pattern that matches no tool stops the server at startup.
LOG_LEVEL
Optional
Log level of the JSON logs on stderr.

Details

Package@mguttmann/[email protected] (NPM, stdio)
First published27 Oct 2026
Last updated27 Oct 2026
Registry nameio.github.mguttmann/the-real-hetzner-mcp

More other servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.