- ✓Actively maintained (<30d)
- ✓Topics declared
- ✓Documented (README)
- !Licence file present but not machine-readable
- !No description
claude mcp add hetzner -- npx -y @lazyants/hetzner-mcp-server{
"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>"
}
}
}
}HETZNER_API_TOKENHETZNER_STORAGE_API_TOKENMCP Servers overview
# hetzner-mcp-server
[](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, Datacenters/Locations/Server Types, Pricing | 34 |
| `hetzner-mcp-networking` | Networks, Firewalls | 21 |
| `hetzner-mcp-load-balancers` | Load Balancers, Certificates | 28 |
| `hetzner-mcp-ips` | Floating IPs, Primary IPs | 20 |
| `hetzner-mcp-storage` | Volumes, Images | 17 |
| `hetzner-mcp-storage-boxes` | Storage Boxes (+ snapshots, subaccounts, types) | 29 |
| `hetzner-mcp-config` | SSH Keys, ISOs, Placement Groups | 14 |
| `hetzner-mcp-dns` | DNS Zones | 22 |
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
### 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 (7 tools) — servers
`hetzner_list_datacenters`, `hetzner_get_datacenter`, `hetzner_list_locations`, `hetzner_get_location`, `hetzner_list_server_types`, `hetzner_get_server_type`, `hetzner_get_pricing`
> `hetzner_list_datacenters` / `hetzner_get_datacenter` are deprecated by Hetzner and removed after 2026-10-01 (HTTP 410). Use `hetzner_list_server_types` (`locations[].available/recommended`) and `hetzner_list_locations` instead.
### Networks (12 tools) — networking
`hetzner_list_networks`, `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`
### 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`
### Storage Boxes (29 tools) — storage-boxes
Storage Boxes use the `https://api.hetzner.com/v1` host. Token: `HETZNER_STORAGE_API_TOKEN` (falls back to `HETZNER_API_TOKEN`).
`hetzner_list_storage_boxes`, `hetzner_create_storage_box`, `hetzner_get_storage_box`, `hetzner_update_storage_box`, `hetzner_delete_storage_box`, `hetzner_list_storage_box_folders`, `hetzner_list_storage_box_actions`, `hetzner_change_storage_box_protection`, `hetzner_change_storage_box_type`, `hetzner_reset_storage_box_password`, `hetzner_update_storage_box_access_settings`, `hetzner_rollback_storage_box_snapshot`, `hetzner_enable_storage_box_snapshot_plan`, `hetzner_disable_storage_box_snapshot_plan`, `hetzner_list_storage_box_types`, `hetzner_get_storage_box_type`, `hetzner_list_storage_box_snapshots`, `hetzner_create_storage_box_snapshot`, `hetzner_get_storage_box_snapshot`, `hetzner_update_storage_box_snapshot`, `hetzner_delete_storage_box_snapshot`, `hetzner_list_storage_box_subaccounts`, `hetzner_create_storage_box_subaccount`, `hetzner_get_storage_box_subaccount`, `hetzner_update_storage_box_subaccount`, `hetzner_delete_storage_box_subaccount`, `hetzner_change_storage_box_subaccount_home_directory`, `hetzner_reset_storage_box_subaccount_password`, `hetzner_update_storage_box_subaccount_access_settings`
## Security
- **Never commit your API token** to version control
- Use **read-only tokens** when you only need to list/get resources
- **Create and delete tools cost real money** — Hetzner bills for provisioned resources
- The server handles rate limiting automatically (3,600 requests/hour, exponential backoff on 429)
## Disclaimer
Create, update, and delete operations may incur charges on your Hetzner Cloud account. Use read-only API tokens when posWhat people ask about hetzner-mcp-server
What is lazyants/hetzner-mcp-server?
+
lazyants/hetzner-mcp-server is mcp servers for the Claude AI ecosystem with 4 GitHub stars.
How do I install hetzner-mcp-server?
+
You can install hetzner-mcp-server by cloning the repository (https://github.com/lazyants/hetzner-mcp-server) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is lazyants/hetzner-mcp-server safe to use?
+
Our security agent has analyzed lazyants/hetzner-mcp-server and assigned a Trust Score of 70/100 (tier: OK). See the full breakdown of passed checks and flags on this page.
Who maintains lazyants/hetzner-mcp-server?
+
lazyants/hetzner-mcp-server is maintained by lazyants. The last recorded GitHub activity is dated 2026-08-20, with 7 open issues.
Are there alternatives to hetzner-mcp-server?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy hetzner-mcp-server to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](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>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!