Skip to main content
ClaudeWave
lazyants avatar
lazyants

hetzner-mcp-server

Ver en GitHub
MCP ServersRegistry oficial5 estrellas3 forks● TypeScriptNOASSERTIONActualizado today
ClaudeWave Trust Score
70/100
· OK
Passed
  • ✓Actively maintained (<30d)
  • ✓Topics declared
  • ✓Documented (README)
Flags
  • !Licence file present but not machine-readable
  • !No description
Last scanned: 10/4/2026
Install in Claude Code / Claude Desktop
Method: NPX · @lazyants/hetzner-mcp-server
Claude Code CLI
claude mcp add hetzner -- npx -y @lazyants/hetzner-mcp-server
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "hetzner": {
      "command": "npx",
      "args": ["-y", "@lazyants/hetzner-mcp-server"],
      "env": {
        "HETZNER_API_TOKEN": "<hetzner_api_token>",
        "HETZNER_STORAGE_API_TOKEN": "<hetzner_storage_api_token>"
      }
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Detected environment variables
HETZNER_API_TOKENHETZNER_STORAGE_API_TOKEN
Casos de uso

Resumen de MCP Servers

# hetzner-mcp-server

[![Tests](https://github.com/lazyants/hetzner-mcp-server/actions/workflows/test.yml/badge.svg)](https://github.com/lazyants/hetzner-mcp-server/actions/workflows/test.yml)

MCP server for the [Hetzner Cloud API](https://docs.hetzner.cloud/). 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

```bash
npm install -g @lazyants/hetzner-mcp-server
```

Or run directly:

```bash
npx @lazyants/hetzner-mcp-server
```

## Configuration

Set your Hetzner Cloud API token:

```bash
export HETZNER_API_TOKEN=your-token-here
```

Get a token from the [Hetzner Cloud Console](https://console.hetzner.cloud/) under Security > API Tokens.

The Storage Box tools call a separate host (`https://api.hetzner.com/v1`). They use `HETZNER_STORAGE_API_TOKEN` if set, otherwise fall back to `HETZNER_API_TOKEN`, so a single token keeps working. Set `HETZNER_STORAGE_API_TOKEN` only if you scope Storage Box access to a dedicated token:

```bash
export HETZNER_STORAGE_API_TOKEN=your-storage-token-here  # optional
```

## Entry Points

| Command | Domains | Tools |
|---|---|---|
| `hetzner-mcp-server` | All 15 domains | 185 |
| `hetzner-mcp-servers` | Servers, Locations/Server Types, Pricing | 33 |
| `hetzner-mcp-networking` | Networks, Firewalls | 23 |
| `hetzner-mcp-load-balancers` | Load Balancers, Certificates | 29 |
| `hetzner-mcp-ips` | Floating IPs, Primary IPs | 21 |
| `hetzner-mcp-storage` | Volumes, Images | 18 |
| `hetzner-mcp-storage-boxes` | Storage Boxes (+ snapshots, subaccounts, types) | 30 |
| `hetzner-mcp-config` | SSH Keys, ISOs, Placement Groups | 15 |
| `hetzner-mcp-dns` | DNS Zones | 23 |

Every entry point includes `hetzner_wait_for_action`; the full server registers it once.

Use split servers to reduce context size — pick only the splits you need.

## Claude Code

Add to `~/.claude/settings.json`:

```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):

```json
{
  "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 `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "hetzner": {
      "command": "npx",
      "args": ["-y", "@lazyants/hetzner-mcp-server"],
      "env": {
        "HETZNER_API_TOKEN": "your-token-here"
      }
    }
  }
}
```

## Tools

Primary list tools expose `sort` for servers, volumes, networks, firewalls, load balancers, IPs, certificates, SSH keys, and placement groups. Image listing also supports `bound_to` (one server ID or an array) and `include_deprecated`. Server and load-balancer metrics accept `step` in seconds; network creation accepts `expose_routes_to_vswitch`.

Set `resource` on `hetzner_get_pricing` to `server_types`, `load_balancer_types`, `volume`, `floating_ips`, `primary_ips`, `traffic`, `image`, or `server_backup` to reduce the response. Filtered results preserve currency and VAT; `traffic` selects location-specific included traffic and additional traffic prices for server and load-balancer types.

### Action waiting (1 shared tool) — every entry point

`hetzner_wait_for_action` accepts `domain`, `resource_id`, `action_id`, and an optional `timeout` in seconds (default 300, maximum 3600). It polls paginated per-resource action history and returns the full action when its status becomes `success` or `error`; missing or unknown statuses keep waiting until timeout. Supported domains are servers, load_balancers, volumes, networks, firewalls, floating_ips, primary_ips, certificates, images, zones, and storage_boxes; Storage Boxes use their separate API host. The deadline bounds requests and rate-limit delays, and MCP cancellation stops the wait.

### Servers (27 tools) — servers

`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`, `hetzner_remove_server_from_placement_group`, `hetzner_reset_server_password`

### Images (7 tools) — storage

`hetzner_list_images`, `hetzner_get_image`, `hetzner_update_image`, `hetzner_delete_image`, `hetzner_create_image`, `hetzner_change_image_protection`, `hetzner_list_image_actions`

### ISOs (4 tools) — config

`hetzner_list_isos`, `hetzner_get_iso`, `hetzner_attach_iso`, `hetzner_detach_iso`

### Placement Groups (5 tools) — config

`hetzner_list_placement_groups`, `hetzner_get_placement_group`, `hetzner_create_placement_group`, `hetzner_update_placement_group`, `hetzner_delete_placement_group`

### Reference Data (5 tools) — servers

`hetzner_list_locations`, `hetzner_get_location`, `hetzner_list_server_types`, `hetzner_get_server_type`, `hetzner_get_pricing`

Hetzner removed the `/datacenters` endpoints after 2026-10-01 (HTTP 410), and this server no longer exposes `hetzner_list_datacenters` or `hetzner_get_datacenter`. Use `hetzner_list_server_types` (`locations[].available/recommended`) and `hetzner_list_locations` for availability and region information.

### Networks (13 tools) — networking

`hetzner_list_networks`, `hetzner_list_network_members`, `hetzner_get_network`, `hetzner_create_network`, `hetzner_update_network`, `hetzner_delete_network`, `hetzner_add_subnet`, `hetzner_delete_subnet`, `hetzner_add_route`, `hetzner_delete_route`, `hetzner_change_network_protection`, `hetzner_change_ip_range`, `hetzner_list_network_actions`

`hetzner_list_network_members` returns attached servers and load balancers with IPs, aliases, subnet, and attachment status. Pass a string or array for `type`, `subnet`, `status`, and `sort`; arrays produce repeated query keys. Results include the API's pagination metadata.

### Firewalls (9 tools) — networking

`hetzner_list_firewalls`, `hetzner_get_firewall`, `hetzner_create_firewall`, `hetzner_update_firewall`, `hetzner_delete_firewall`, `hetzner_set_firewall_rules`, `hetzner_apply_firewall`, `hetzner_remove_firewall`, `hetzner_list_firewall_actions`

### Load Balancers (21 tools) — load-balancers

`hetzner_list_load_balancers`, `hetzner_get_load_balancer`, `hetzner_create_load_balancer`, `hetzner_update_load_balancer`, `hetzner_delete_load_balancer`, `hetzner_add_lb_target`, `hetzner_remove_lb_target`, `hetzner_add_lb_service`, `hetzner_update_lb_service`, `hetzner_delete_lb_service`, `hetzner_change_lb_algorithm`, `hetzner_change_lb_type`, `hetzner_attach_lb_to_network`, `hetzner_detach_lb_from_network`, `hetzner_get_lb_metrics`, `hetzner_list_lb_types`, `hetzner_change_load_balancer_protection`, `hetzner_list_load_balancer_actions`, `hetzner_enable_lb_public_interface`, `hetzner_disable_lb_public_interface`, `hetzner_change_lb_dns_ptr`

### Certificates (7 tools) — load-balancers

`hetzner_list_certificates`, `hetzner_get_certificate`, `hetzner_create_certificate`, `hetzner_update_certificate`, `hetzner_delete_certificate`, `hetzner_retry_certificate`, `hetzner_list_certificate_actions`

### Volumes (10 tools) — storage

`hetzner_list_volumes`, `hetzner_get_volume`, `hetzner_create_volume`, `hetzner_update_volume`, `hetzner_delete_volume`, `hetzner_attach_volume`, `hetzner_detach_volume`, `hetzner_resize_volume`, `hetzner_change_volume_protection`, `hetzner_list_volume_actions`

### Floating IPs (10 tools) — ips

`hetzner_list_floating_ips`, `hetzner_get_floating_ip`, `hetzner_create_floating_ip`, `hetzner_update_floating_ip`, `hetzner_delete_floating_ip`, `hetzner_assign_floating_ip`, `hetzner_unassign_floating_ip`, `hetzner_change_floating_ip_rdns`, `hetzner_change_floating_ip_protection`, `hetzner_list_floating_ip_actions`

### Primary IPs (10 tools) — ips

`hetzner_list_primary_ips`, `hetzner_get_primary_ip`, `hetzner_create_primary_ip`, `hetzner_update_primary_ip`, `hetzner_delete_primary_ip`, `hetzner_assign_primary_ip`, `hetzner_unassign_primary_ip`, `hetzner_change_primary_ip_rdns`, `hetzner_change_primary_ip_protection`, `hetzner_list_primary_ip_actions`

### SSH Keys (5 tools) — config

`hetzner_list_ssh_keys`, `hetzner_get_ssh_key`, `hetzner_create_ssh_key`, `hetzner_update_ssh_key`, `hetzner_delete_ssh_key`

### DNS Zones (22 tools) — dns

`hetzner_list_zones`, `hetzner_get_zone`, `hetzner_create_zone`, `hetzner_update_zone`, `hetzner_delete_zone`, `hetzner_change_zone_protection`, `hetzner_change_zone_ttl`, `hetzner_change_zone_primary_nameservers`, `hetzner_export_zonefile`, `hetzner_import_zonefile`, `hetzner_list_zone_actions`, `hetzner_list_zone_rrsets`, `hetzner_get_zone_rrset`, `hetzner_create_zone_rrset`, `hetzner_update_zone_rrset`, `hetzner_delete_zone_rrset`, `hetzner_change_zone_rrset_protection`, `hetzner_change_zone_rrset_ttl`, `hetzner_add_zone_rrset_records`, `hetzner_remove_zone_rrset_records`, `hetzner_set_zone_rrset_records`, `hetzner_update_zone_rrset_records`

##
cloudhetznermcp-servermodel-context-protocol

Lo que la gente pregunta sobre hetzner-mcp-server

¿Qué es lazyants/hetzner-mcp-server?

+

lazyants/hetzner-mcp-server es mcp servers para el ecosistema de Claude AI con 5 estrellas en GitHub.

¿Cómo se instala hetzner-mcp-server?

+

Puedes instalar hetzner-mcp-server clonando el repositorio (https://github.com/lazyants/hetzner-mcp-server) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar lazyants/hetzner-mcp-server?

+

Nuestro agente de seguridad ha analizado lazyants/hetzner-mcp-server y le ha asignado un Trust Score de 70/100 (tier: OK). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene lazyants/hetzner-mcp-server?

+

lazyants/hetzner-mcp-server es mantenido por lazyants. La última actividad registrada en GitHub es del 2026-10-03, con 1 issues abiertos.

¿Hay alternativas a hetzner-mcp-server?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega hetzner-mcp-server en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: lazyants/hetzner-mcp-server
[![Featured on ClaudeWave](https://claudewave.com/api/badge/lazyants-hetzner-mcp-server)](https://claudewave.com/repo/lazyants-hetzner-mcp-server)
<a href="https://claudewave.com/repo/lazyants-hetzner-mcp-server"><img src="https://claudewave.com/api/badge/lazyants-hetzner-mcp-server" alt="Featured on ClaudeWave: lazyants/hetzner-mcp-server" width="320" height="64" /></a>

Más MCP Servers

Alternativas a hetzner-mcp-server