Manage Hetzner Cloud servers, networks, volumes, firewalls, and SSH keys via the Hetzner Cloud API.
Use with AI AssistantsMCP
Connect Claude, Cursor, or any MCP-compatible client — then call tools directly
① Add This MCP Server
Paste into your AI client config — then all its tools are available instantly.
{
"mcpServers": {
"hetzner": {
"url": "https://mcp.aerostack.dev/s/aerostack/mcp-hetzner",
"headers": {
"Authorization": "Bearer YOUR_AEROSTACK_TOKEN"
}
}
}
}Replace YOUR_AEROSTACK_TOKEN with your API token from the dashboard.
② Call a Tool
Ask your AI assistant to call a specific tool, or send raw JSON-RPC:
Natural Language Prompt
“Use the _ping tool to verify hetzner cloud credentials by calling a lightweight read endpoint. used internally by aerostack to validate credentials”
Using a Workspace?
Add this MCP to your Workspace — your team shares one token, secrets are stored securely, and every AI agent in the workspace can call it without per-user setup.
Manage Hetzner Cloud servers, networks, volumes, and firewalls from any AI agent.
Hetzner Cloud is a leading European cloud provider offering high-performance VPS, dedicated servers, and cloud infrastructure at highly competitive pricing — favored by developers and startups worldwide. This MCP server gives your AI agents full access to the Hetzner Cloud API: create and manage servers, private networks, block storage volumes, firewalls, and SSH keys. Ideal for automating infrastructure provisioning, self-healing deployments, and cloud operations workflows.
Live endpoint: https://mcp.aerostack.dev/s/aerostack/mcp-hetzner
| Tool | Description |
|---|---|
_ping | Verify Hetzner Cloud credentials (used by Aerostack to validate the token) |
list_servers | List all servers with status, IPs, and server type |
get_server | Get full details of a server by ID |
create_server | Create a new server with specified type, image, location, and optional SSH keys |
delete_server | Permanently delete a server |
reboot_server | Reboot a server |
power_on_server | Power on a stopped server |
power_off_server | Power off a running server (hard shutdown) |
rebuild_server | Reinstall a server with a different OS image (erases all data) |
list_networks | List all private networks |
create_network | Create a new private network with an IP range |
delete_network | Delete a private network |
list_volumes | List all block storage volumes |
create_volume | Create a new volume (optionally attach to a server immediately) |
attach_volume | Attach an existing volume to a server |
detach_volume | Detach a volume from its current server |
delete_volume | Delete a block storage volume |
list_firewalls | List all firewalls |
create_firewall | Create a firewall with inbound/outbound rules |
apply_firewall_to_server | Apply a firewall to a server |
delete_firewall | Delete a firewall |
list_ssh_keys | List all SSH keys in the project |
create_ssh_key | Add a new SSH public key to the project |
delete_ssh_key | Remove an SSH key from the project |
list_locations | List all available datacenter locations |
list_server_types | List all server types with CPU, RAM, disk, and pricing |
list_load_balancers | List all load balancers with targets, services, and health status |
get_load_balancer | Get details of a specific load balancer including all targets and health checks |
create_load_balancer | Create a new load balancer (type, location, optional algorithm) |
delete_load_balancer | Delete a load balancer |
add_load_balancer_target | Add a server or label-selector target to a load balancer |
list_snapshots | List all server snapshots in the project |
create_server_snapshot | Create a snapshot of a server |
delete_snapshot | Delete a snapshot image |
list_floating_ips | List all floating (static) IP addresses |
create_floating_ip | Allocate a new floating IP address |
assign_floating_ip | Assign a floating IP to a server |
unassign_floating_ip | Remove a floating IP from its current server (IP remains allocated) |
delete_floating_ip | Release a floating IP address (frees the IP) |
| Variable | Required | Description | How to Get |
|---|---|---|---|
HETZNER_API_TOKEN | Yes | Hetzner Cloud API Token | Go to console.hetzner.cloud → select your Project → Security → API Tokens → Generate API Token. Choose Read & Write access. |
Use a Read & Write token if you intend to create or modify resources. A Read token works for list/get operations only. Tokens are project-scoped — they can only access resources in the project they were created for.
HETZNER_API_TOKEN under Project → SecretsOnce added, every AI agent in your workspace can provision and manage Hetzner Cloud infrastructure automatically.
"Create a cx21 server called web-01 in Nuremberg running Ubuntu 22.04 with my default SSH key"
"List all my Hetzner servers and show their IPs and current status"
"Reboot the server with ID 12345678"
"Create a 50 GB volume called postgres-data in fsn1 and attach it to server 12345678"
"Set up a firewall that allows SSH (port 22) and HTTPS (port 443) from anywhere, then apply it to server 12345678"
"What server types are available in Helsinki and what do they cost?"
"Rebuild server 12345678 with Debian 12"
"Create a private network 10.0.0.0/16 called internal-vpc"
# Ping / verify credentials
curl -X POST https://mcp.aerostack.dev/s/aerostack/mcp-hetzner \
-H 'Content-Type: application/json' \
-H 'X-Mcp-Secret-HETZNER-API-TOKEN: your-api-token' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"_ping","arguments":{}}}'
# List all servers
curl -X POST https://mcp.aerostack.dev/s/aerostack/mcp-hetzner \
-H 'Content-Type: application/json' \
-H 'X-Mcp-Secret-HETZNER-API-TOKEN: your-api-token' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_servers","arguments":{}}}'
# Create a server
curl -X POST https://mcp.aerostack.dev/s/aerostack/mcp-hetzner \
-H 'Content-Type: application/json' \
-H 'X-Mcp-Secret-HETZNER-API-TOKEN: your-api-token' \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"create_server","arguments":{"name":"web-01","server_type":"cx21","image":"ubuntu-22.04","location":"nbg1"}}}'
# List available server types
curl -X POST https://mcp.aerostack.dev/s/aerostack/mcp-hetzner \
-H 'Content-Type: application/json' \
-H 'X-Mcp-Secret-HETZNER-API-TOKEN: your-api-token' \
-d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"list_server_types","arguments":{}}}'
reboot_server, power_on_server, power_off_server, rebuild_server, attach_volume, and detach_volume return an action object with id, status, and command fields. The status will be "running" while the operation is in progress and "success" once complete. Hetzner actions are typically fast (under 30 seconds)."cx21", "cx31", "cpx11", "cpx21". Use list_server_types to discover all available options."ubuntu-22.04", "debian-12", "centos-9", "fedora-41". You can also pass a snapshot ID as a number."nbg1" (Nuremberg, Germany), "fsn1" (Falkenstein, Germany), "hel1" (Helsinki, Finland), "ash" (Ashburn, Virginia, US), "hil" (Hillsboro, Oregon, US), "sin" (Singapore). Use list_locations for the authoritative list."in" or "out". Protocol must be "tcp", "udp", "icmp", or "esp". For icmp and esp, omit the port field. For tcp/udp, port can be a single port ("22") or a range ("8000-9000"). Use CIDR notation for source_ips and destination_ips (e.g. ["0.0.0.0/0", "::/0"] for all traffic).MIT
Live Endpoint
https://mcp.aerostack.dev/s/aerostack/mcp-hetzner
Sub-50ms globally · Zero cold start
@aerostack
Pre-built functions for the most common MCP tool patterns. Clone, extend, and deploy.
by @aerostack
Discover and invoke any MCP, Function, or Skill published to the Aerostack marketplace — the universal AI capability hub.
by @aerostack
Search indexes, manage records, browse data, and configure ranking in Algolia — AI-native instant search access.
by @aerostack
Query documents, run AQL, traverse graphs, and manage collections in your ArangoDB database — AI-native multi-model database access.
by @aerostack
Post, schedule, and analyze social media across 13 platforms — Facebook, Instagram, X, LinkedIn, TikTok, Bluesky, Threads, Reddit, Pinterest, YouTube, Telegram, Snapchat, Google Business.
by @aerostack
Manage projects, to-dos, messages, schedules, and campfire chats in Basecamp — AI-native project management.
by @aerostack
Run SQL queries, list datasets and tables, inspect schemas, and export results from Google BigQuery — AI-native data warehouse access.
Yes. The Hetzner MCP includes a create_server tool that lets Claude create servers in your Hetzner account from a plain-English prompt. You can also update and delete servers — no Hetzner UI needed.
Yes. The Hetzner MCP includes tools to list and retrieve servers from your Hetzner account. Claude can filter, sort, and summarize servers based on your instructions.
Yes. The Hetzner MCP uses the open Model Context Protocol standard, so it works in Claude, Cursor, Windsurf, and any other MCP-compatible AI tool. All 38 Hetzner tools are available everywhere you connect it — install once on Aerostack.
Yes. Aerostack hosts the Hetzner MCP with encrypted credential storage and per-account authentication. Your Hetzner credentials are never shared with Claude's conversation — they're used server-side only.