# Hetzner MCP

> Hetzner MCP lets your AI agent manage your entire cloud infrastructure through conversation. You can list servers, configure firewalls, create load balancers, spin up new volumes, and cycle power states—all using natural language commands from any compatible client.

## Overview
- **Category:** developer-tools
- **Price:** Free
- **Tags:** cloud-hosting, server-management, infrastructure-as-code, firewall, cloud-compute

## Description

Managing a cloud environment used to mean logging into the console and clicking through endless menus just to check if a server was running or adjusting a firewall rule. Now, you can connect your Hetzner Cloud account directly to your agent. You simply tell your AI what needs doing—like 'I need a new web front-end' or 'Check the status of the staging database.' It handles the complex steps: listing all resources, checking for available primary IPs, and executing the necessary changes. This MCP gives your agent full control over everything from creating network zones to deleting old load balancers. When you connect this through Vinkius, it becomes one single point of access, letting any compatible client use your infrastructure knowledge base without needing multiple integrations.

## Tools

### list_certificates
Retrieves a list of all existing security certificates.

### create_certificate
Generates and applies a new security certificate to your infrastructure.

### get_storage_box
Gets the current settings and status of a specific Storage Box.

### list_images
Lists all available operating system or machine images for deployment.

### create_firewall
Sets up a brand new firewall rule set for network traffic control.

### create_floating_ip
Allocates and creates a public, floating IP address for your services.

### create_load_balancer
Configures and launches a new load balancer to distribute incoming traffic.

### create_network
Establishes an entirely new private network for resource isolation.

### create_server
Provisions and launches a brand new virtual server instance.

### create_ssh_key
Generates and registers a secure SSH key pair for access control.

### create_storage_box_snapshot
Takes a manual, point-in-time snapshot of the data in a Storage Box.

### create_storage_box_subaccount
Creates an isolated subaccount within an existing Storage Box for segmented access.

### create_volume
Allocates and creates a new, detached block storage volume.

### create_zone
Establishes a new DNS zone for domain name resolution.

### list_datacenters
Displays all physical datacenter locations where resources can be deployed.

### delete_load_balancer
Permanently removes an existing load balancer configuration.

### delete_server
Terminates and deletes a virtual server instance from your account.

### list_firewalls
Displays all existing firewall rulesets you have created.

### list_floating_ips
Retrieves a list of all allocated public floating IP addresses.

### get_action
Fetches specific details about an infrastructure action or event.

### get_server
Retrieves detailed operational information for a single server instance.

### list_load_balancers
Retrieves detailed information on all active load balancer configurations.

### list_locations
Shows a list of available physical deployment locations for your resources.

### list_networks
Retrieves details about all private networks you have established.

### list_placement_groups
Displays groups that help manage physical placement and availability zones.

### poweron_server
Immediately sends a command to power on a previously powered-off server.

### list_primary_ips
Displays all primary, static IP addresses assigned to your account.

### rebuild_server
Restores a virtual server instance using a specified operating system image or ISO file.

### list_server_types
Shows all available types of servers (e.g., CX11, CX21) you can provision.

### list_servers
Lists the operational status and details for every server in your account.

### list_ssh_keys
Displays all SSH keys currently stored or associated with your accounts.

### list_storage_box_snapshots
Retrieves a list of historical snapshots available for a Storage Box.

### list_storage_box_subaccounts
Displays all subaccounts currently configured within a specific Storage Box.

### list_storage_boxes
Lists the status and existence of all your data storage boxes.

### update_storage_box
Modifies settings on a Storage Box, like enabling or disabling specific protocols (e.g., SMB).

### list_volumes
Retrieves a list of all currently allocated block storage volumes.

### list_zones
Displays the existing DNS zones configured for your domain names.

### list_isos
Displays a list of supported ISO files for server rebuilding.

## Prompt Examples

**Prompt:** 
```
List all my active servers in the Hetzner Cloud.
```

**Response:** 
```
I've found 3 servers: 'web-prod' (ID: 12345, running), 'db-master' (ID: 12346, running), and 'staging-app' (ID: 12347, off).
```

**Prompt:** 
```
Get the full details for server ID 12345.
```

**Response:** 
```
Fetching details for server 12345... It is a CX21 instance located in fsn1-dc14, currently running Ubuntu 22.04 with IP 1.2.3.4.
```

**Prompt:** 
```
Power on the server with ID 12347.
```

**Response:** 
```
Sending power-on command to server 12347... The action has been initiated successfully.
```

## Capabilities

### Server and Resource Lifecycle Management
Create, delete, get details on, or power cycle specific servers and storage boxes.

### Advanced Networking Configuration
Manage network security by creating firewalls, configuring floating IPs, and setting up load balancers.

### Storage Provisioning and Snapshots
Create new volumes, manage storage box subaccounts, or manually take snapshots of data containers.

### DNS Zone and IP Management
List existing datacenters, create private networks, and handle DNS zones for your infrastructure.

### Credential and Asset Tracking
Generate new SSH keys or list all certificates associated with your cloud accounts.

## Use Cases

### Troubleshooting connectivity for production traffic
A sysadmin notices external users complain about slow connections. They ask their agent, 'Check the firewall and IP status for the web tier.' The agent executes `list_firewalls` and checks `list_floating_ips`, immediately pointing out that a recent rule change blocked necessary outbound traffic.

### Rapidly spinning up a testing environment
A developer needs a sandbox for a new feature. They instruct their agent: 'Create a new server instance, give it 50GB of storage, and use the latest Ubuntu image.' The agent handles `create_server`, `list_images` (to find the right one), and `create_volume` in sequence.

### Scaling up backend capacity after a traffic spike
The DevOps team sees high load. They tell their agent, 'Add another front-end server behind the existing load balancer.' The agent uses `list_load_balancers` to verify the target group and executes `create_server`, ensuring smooth scaling.

### Archiving old data safely
A team needs to archive logs from an old application. They ask their agent, 'Take a snapshot of the production log storage.' The agent immediately runs `list_storage_boxes` to find the correct box and executes `create_storage_box_snapshot`, securing the data.

## Benefits

- Stop clicking through dashboards. Instead of manually checking status or creating a firewall rule set across multiple tabs, you simply ask your agent to 'Secure the web server with a new firewall' and it handles all the necessary steps using `create_firewall`.
- Instant visibility into your fleet. If you need to audit every active resource, use `list_servers` or `get_server`. You get immediate data on status, IP addresses, and running OS details without navigating away from your workflow.
- Automate disaster recovery steps. Instead of manually setting up a backup process, tell your agent to 'Snapshot the production database,' triggering `create_storage_box_snapshot` instantly.
- Efficient capacity planning. Need more resources? You can list all available server types using `list_server_types` and launch new instances with a single command, bypassing manual resource allocation screens.
- Simplify complex networking. Forget juggling IPs and load balancers. Your agent handles the flow: first listing primary IPs (`list_primary_ips`), then creating an IP (`create_floating_ip`), and finally attaching it to a `create_load_balancer`.

## How It Works

The bottom line is, you get full cloud control without ever leaving your chat window.

1. Subscribe to this MCP on Vinkius.
2. Provide your Hetzner Cloud API Token when prompted.
3. Ask your AI client a question or give it a command, like 'Power up the dev server' or 'List all firewall rules.'

## Frequently Asked Questions

**How do I use the Hetzner MCP to check my current servers?**
You run `list_servers` or ask your agent to 'List all active servers.' This retrieves the operational status and details for every server in your account, showing you if they are running or stopped.

**Can I use Hetzner MCP to set up a new network?**
Yes. You start by asking the agent to create a private network using `create_network`. This establishes the isolated environment needed before you can deploy resources within it.

**What if I need a public IP address? Do I use Hetzner MCP?**
Yes, for external access. You must first check available IPs using `list_primary_ips`, then allocate one with `create_floating_ip` to ensure your service is reachable.

**Is hetzner mcp safe to use in production?**
Yes, it allows you to manage core infrastructure functions like creating firewalls (`create_firewall`) and deleting servers. Always test complex changes on a staging environment first.

**How does Hetzner MCP handle storage backups?**
You use the `list_storage_boxes` tool to find your data containers, then issue a command for `create_storage_box_snapshot` to secure the current state of the data.

**Can I see the status of all my cloud servers at once?**
Yes, the `list_servers` tool retrieves a complete list of your instances, including their IDs, status, and labels.

**Is it possible to turn on a server that is currently powered off?**
Absolutely. Use the `poweron_server` tool with the specific Server ID to initiate the power-on sequence.

**Can I manage security rules through this integration?**
Yes, you can use `list_firewalls` to audit existing rules and `create_firewall` to set up new protection layers for your infrastructure.