Hetzner 云 MCP 服务器
用于与 Hetzner Cloud API 交互的模型上下文协议 (MCP) 服务器。该服务器允许语言模型通过结构化函数管理 Hetzner Cloud 资源。
特征
列出、创建和管理 Hetzner Cloud 服务器
创建、附加、分离和调整卷大小
管理防火墙规则并将其应用于服务器
创建和管理 SSH 密钥以实现安全的服务器访问
查看可用的图像、服务器类型和位置
打开/关闭和重启服务器
用于语言模型交互的简单、结构化的 API
Claude Code 集成,可直接从 Claude 管理 Hetzner 资源
Related MCP server: Linear MCP Server
要求
Python 3.11+
Hetzner 云 API 令牌
安装
方法一:直接安装
克隆此存储库:
git clone https://github.com/dkruyt/mcp-hetzner.git
cd mcp-hetzner安装依赖项:
pip install -e .创建一个
.env文件并添加您的 Hetzner Cloud API 令牌:
HCLOUD_TOKEN=your_hetzner_cloud_api_token_here方法 2:作为包安装
# Install directly from the repository
pip install git+https://github.com/dkruyt/mcp-hetzner.git作为包安装后,使用您的 Hetzner Cloud API 令牌在您的工作目录中创建一个.env文件。
用法
启动服务器
选项 1:运行已安装的包:
# Using default stdio transport
mcp-hetzner
# Using SSE transport
mcp-hetzner --transport sse
# Setting a custom port
mcp-hetzner --transport sse --port 8000选项 2:作为模块运行:
python -m mcp_hetzner
# or
python -m mcp_hetzner.server服务器支持两种传输模式:
stdio(默认):标准 I/O 传输,通常与 Claude 代码一起使用sse:服务器发送事件传输,适用于 HTTP 客户端
默认情况下,服务器在localhost:8080上运行。您可以通过以下方式自定义主机和端口:
在
.env文件中设置MCP_HOST和MCP_PORT环境变量使用
--port命令行参数(覆盖环境变量)
与 Claude 代码一起使用
要与 Claude Code 一起使用,请使用 SSE 传输运行服务器:
# Start the server with SSE transport
mcp-hetzner --transport sse --port 8080
# In another terminal, connect Claude Code to the server
claude-code --mcp-server localhost:8080测试 API
包含一个测试客户端来验证服务器功能:
python -m mcp_hetzner.client示例工作流程
基本服务器管理
# List all your servers
list_servers
# Create a new server
create_server {
"name": "web-server",
"server_type": "cx11",
"image": "ubuntu-22.04"
}
# Power operations
power_off {"server_id": 12345}
power_on {"server_id": 12345}
reboot {"server_id": 12345}
# Delete a server when no longer needed
delete_server {"server_id": 12345}卷管理
# List all volumes
list_volumes
# Create a new volume
create_volume {
"name": "data-volume",
"size": 10,
"location": "nbg1",
"format": "ext4"
}
# Attach volume to a server
attach_volume {
"volume_id": 12345,
"server_id": 67890,
"automount": true
}
# Detach volume from server
detach_volume {
"volume_id": 12345
}
# Resize a volume (can only increase size)
resize_volume {
"volume_id": 12345,
"size": 50
}
# Delete a volume when no longer needed
delete_volume {
"volume_id": 12345
}防火墙管理
# List all firewalls
list_firewalls
# Create a firewall for web servers
create_firewall {
"name": "web-firewall",
"rules": [
{
"direction": "in",
"protocol": "tcp",
"port": "80",
"source_ips": ["0.0.0.0/0", "::/0"]
},
{
"direction": "in",
"protocol": "tcp",
"port": "443",
"source_ips": ["0.0.0.0/0", "::/0"]
}
]
}
# Apply firewall to a server
apply_firewall_to_resources {
"firewall_id": 12345,
"resources": [
{
"type": "server",
"server_id": 67890
}
]
}SSH 密钥管理
# List all SSH keys
list_ssh_keys
# Create a new SSH key
create_ssh_key {
"name": "my-laptop",
"public_key": "ssh-rsa AAAAB3NzaC1yc2EAAA... user@laptop"
}
# Use the SSH key when creating a server
create_server {
"name": "secure-server",
"server_type": "cx11",
"image": "ubuntu-22.04",
"ssh_keys": [12345]
}
# Update an SSH key's name
update_ssh_key {
"ssh_key_id": 12345,
"name": "work-laptop"
}
# Delete an SSH key
delete_ssh_key {
"ssh_key_id": 12345
}基础设施规划
# Explore available resources
list_server_types
list_images
list_locations
# Get specific server information
get_server {"server_id": 12345}可用函数
MCP服务器提供以下功能:
服务器管理
list_servers:列出您的 Hetzner Cloud 帐户中的所有服务器get_server:获取有关特定服务器的详细信息create_server:创建一个新服务器delete_server:删除服务器power_on:启动服务器power_off:关闭服务器reboot:重启服务器
卷管理
list_volumes:列出您的 Hetzner Cloud 帐户中的所有卷get_volume:获取有关特定卷的详细信息create_volume:创建新卷delete_volume:删除卷attach_volume:将卷附加到服务器detach_volume:从服务器分离卷resize_volume:增加卷的大小
防火墙管理
list_firewalls:列出您的 Hetzner Cloud 帐户中的所有防火墙get_firewall:获取有关特定防火墙的详细信息create_firewall:创建新的防火墙update_firewall:更新防火墙名称或标签delete_firewall:删除防火墙set_firewall_rules:设置或更新防火墙规则apply_firewall_to_resources:将防火墙应用于服务器或服务器组remove_firewall_from_resources:从服务器或服务器组中删除防火墙
SSH 密钥管理
list_ssh_keys:列出 Hetzner Cloud 帐户中的所有 SSH 密钥get_ssh_key:获取有关特定 SSH 密钥的详细信息create_ssh_key:创建一个新的 SSH 密钥update_ssh_key:更新 SSH 密钥名称或标签delete_ssh_key:删除 SSH 密钥
信息
list_images:列出可用的操作系统映像list_server_types:列出可用的服务器类型list_locations:列出可用的数据中心位置
执照
麻省理工学院
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dkruyt/mcp-hetzner'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
