Hetzner Cloud MCP Server — Cloud API + SSH management (60 tools)
Hetzner Cloud MCP 服务器
唯一支持 SSH 服务器管理的 Hetzner MCP。API + SSH 集于一身。
通过 Claude.ai、Claude Desktop、VS Code、Cursor 或任何兼容 MCP 的客户端管理您的 Hetzner Cloud 基础设施。最棒的是,您可以使用手机上的 Claude、ChatGPT 或任何其他 AI 聊天应用来控制服务器并构建任何内容。两个管理层为您提供完全控制权:
第 1 层 — Hetzner Cloud API: 服务器电源、指标、快照、备份、防火墙、DNS 区域和记录、救援模式、服务器重建和调整大小。即使服务器操作系统无响应也能工作。
第 2 层 — SSH: 服务、日志、Nginx、MySQL、supervisor、cron、UFW、磁盘/内存/CPU 监控。真正的系统管理员工具,而不仅仅是 API 包装器。
60 个工具。动态多服务器配置。自托管且开源。
为什么选择此 MCP?
现有的每个 Hetzner MCP 都只是封装了 Cloud API。此版本增加了一个完整的 SSH 管理层——这是您在管理生产服务器时真正需要的工具。两层架构,60 个工具,支持自托管。
功能 | 已包含 |
Cloud API (服务器电源、指标、快照、备份、防火墙、救援、重建) | 是 |
SSH 管理 (服务、日志、Nginx、MySQL、系统健康状况) | 是 |
DNS 管理 (区域、记录、CRUD) | 是 |
多服务器 (单个实例管理 1 到 N 台服务器) | 是 |
破坏性操作防护 (危险操作需要确认) | 是 |
传输协议 | SSE + 可流式传输 HTTP |
语言 | PHP 8.1+ |
Related MCP server: hcloud-mcp
快速入门
先决条件
PHP 8.1+,带有
curl扩展Composer
Hetzner Cloud API 令牌 (控制台 > 安全 > API 令牌)
用于服务器访问的 SSH 密钥(第 2 层工具)
1. 克隆并安装
git clone https://github.com/wbf-solutions/hetzner-cloud-mcp.git
cd hetzner-cloud-mcp
composer install2. 配置
cp .env.example .env编辑 .env 文件并填入您的详细信息:
HETZNER_API_TOKEN=your-cloud-api-token
SERVERS=web
SERVER_WEB_ID=12345678
SERVER_WEB_IP=1.2.3.4
SERVER_WEB_SSH_USER=root
SSH_KEY_PATH=/root/.ssh/id_ed25519
MCP_API_KEY=your-random-key # generate with: openssl rand -hex 323. 设置 SSH 密钥
ssh-keygen -t ed25519 -f /root/.ssh/id_ed25519 -N ""
ssh-copy-id -i /root/.ssh/id_ed25519.pub root@1.2.3.44. 配置 Nginx
server {
listen 443 ssl;
server_name mcp.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/mcp.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mcp.yourdomain.com/privkey.pem;
root /var/www/hetzner-cloud-mcp;
index api.php;
location / {
try_files $uri /api.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_buffering off;
fastcgi_read_timeout 600;
}
}5. 连接到 Claude.ai
设置 > 连接器 > 添加自定义连接器:
名称: Hetzner Cloud MCP
URL:
https://mcp.yourdomain.com/api.php
如果您设置了 MCP_API_KEY,请通过 URL 传递:?mcp=sse&key=YOUR_MCP_API_KEY
或者在连接器的高级设置中将 API 密钥配置为 Bearer 令牌。
可用工具 (60)
第 1 层 — Hetzner Cloud API (25 个工具)
工具 | 描述 | 破坏性 |
| 服务器详情:状态、IP、类型、数据中心 | |
| CPU、磁盘或网络指标 | |
| 开机 | |
| 强制关机 | 确认 |
| 优雅的 ACPI 关机 | |
| 软重启 | |
| 强制重置 | 确认 |
| 重置 root 密码 | 确认 |
| 启用救援模式 | |
| 禁用救援模式 | |
| 从镜像重建(清除数据) | 确认 |
| 调整服务器方案 | 确认 |
| 创建快照 | |
| 列出快照 | |
| 删除快照 | 确认 |
| 启用备份 (+20% 成本) | |
| 禁用备份 | 确认 |
| 列出防火墙 | |
| 获取防火墙规则 | |
| 替换所有防火墙规则 | 确认 |
| 将防火墙应用到服务器 | |
| 从服务器移除防火墙 | |
| 列出所有服务器 | |
| 列出 SSH 密钥 | |
| 检查异步操作状态 |
DNS (8 个工具,需要 HETZNER_DNS_TOKEN)
工具 | 描述 | 破坏性 |
| 列出 DNS 区域 | |
| 获取区域详情 | |
| 创建 DNS 区域 | |
| 删除 DNS 区域 | 确认 |
| 列出区域中的记录 | |
| 添加 DNS 记录 | |
| 更新 DNS 记录 | |
| 删除 DNS 记录 | 确认 |
第 2 层 — SSH (27 个工具)
工具 | 描述 |
| 检查 systemd 服务状态 |
| 启动服务 |
| 停止服务 |
| 重启服务 |
| 列出正在运行的服务 |
| 磁盘空间 ( |
| 内存使用情况 ( |
| CPU 负载 + 顶级进程 |
| 按内存/CPU 排序的进程列表 |
| 服务器运行时间 |
| 测试 Nginx 配置语法 |
| 重载 Nginx (先进行测试) |
| 列出已启用的站点 |
| 查看站点 Nginx 配置 |
| 跟踪 Nginx 错误日志 |
| 跟踪 Nginx 访问日志 |
| 跟踪系统日志 |
| 查看 systemd 日志 |
| 查看 supervisor 日志 |
| 列出 MySQL 数据库 |
| 显示 MySQL 进程 |
| 只读 SQL 查询 |
| 列出 crontab 条目 |
| Supervisor 程序状态 |
| 重启 Supervisor 程序 |
| 检查 UFW 防火墙 |
| 运行命令 (已屏蔽危险命令) |
身份验证
选择适合您部署的模式:
模式 | 配置 | 适用场景 |
无认证 |
| VPN/防火墙后,本地开发 |
API 密钥 |
| 自托管,单用户/团队 |
API 密钥 + OAuth | 设置 | 多用户,连接器目录 |
API 密钥(推荐用于自托管)
生成一个密钥并将其设置在 .env 中:
openssl rand -hex 32客户端通过 ?key=XXX 或 Authorization: Bearer XXX 传递密钥。
OAuth 2.1 (可选)
对于高级部署或提交到 Anthropic 连接器目录,您可以添加 OAuth 2.1 令牌自省功能。这需要一个带有自省端点 (RFC 7662) 的外部 OAuth 授权服务器。有关 OAUTH_* 变量,请参阅 .env.example。
安全性
身份验证: 通过查询参数或
Authorization: Bearer标头进行 API 密钥验证。可选 OAuth 2.1 自省。定时安全验证。破坏性防护: 所有危险操作都需要
confirm=true。工具注释: 所有工具均根据 MCP 规范包含
readOnlyHint和destructiveHint。SSH 安全: 屏蔽了 29 种命令模式 (rm -rf, dd, mkfs, curl|sh, passwd, fdisk 等)。
只读 SQL: 仅允许 SELECT, SHOW, DESCRIBE, EXPLAIN。
速率限制: 使用原子
flock()进行基于 IP 的限制。
配置
在 .env 中定义任意数量的服务器:
SERVERS=web,staging
SERVER_WEB_ID=12345678
SERVER_WEB_IP=1.2.3.4
SERVER_WEB_SSH_USER=root
SERVER_WEB_ALIASES=production,prod
SERVER_STAGING_ID=87654321
SERVER_STAGING_IP=5.6.7.8
DEFAULT_SERVER=webSSH 和 DNS 是可选的 — 未配置时工具会自动禁用。
有关完整参考,请参阅 .env.example。
客户端配置
客户端 | 连接 |
Claude.ai | 设置 > 连接器 > 添加带有 SSE URL 的自定义连接器 |
Claude Desktop | 添加到 |
Claude Code |
|
VS Code / Cursor | VS Code 扩展 — 即将推出 |
部署
适用于 VitoDeploy 或手动 Nginx + PHP-FPM 设置。需要 fastcgi_buffering off 以支持 SSE 流式传输。请参阅 快速入门 部分中的完整部署指南。
贡献
请参阅 CONTRIBUTING.md。安全漏洞请联系:labs@wbf.solutions。
链接
构建者: WBF Solutions
联系方式: labs@wbf.solutions
许可证
MIT — WBF Solutions | labs@wbf.solutions
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Hostinger API
MCP server for Hostkey .com (InvAPI): servers, power, order, DNS, S3, billing
Official Sevalla MCP — full PaaS API access through just 2 tools.
Related MCP Servers
- AlicenseAqualityDmaintenanceA Model Context Protocol server that allows language models to manage Hetzner Cloud resources through structured functions, including servers, volumes, firewalls, and SSH keys.30140MIT
- AlicenseCqualityDmaintenanceA Model Context Protocol server for the Hetzner Cloud API that enables natural language management of cloud infrastructure. Users can list, create, and modify servers, networks, volumes, and load balancers through MCP-compatible clients.6736 npmMIT
- AlicenseBqualityDmaintenanceEnables conversational management of Hetzner Cloud, DNS, and Storage Box infrastructure through 137 MCP tools for CRUD operations and actions like server power control, DNS zone management, and storage box snapshots.100MIT
- AlicenseNot gradedqualityAmaintenanceModel Context Protocol server for full Hetzner Cloud + Storage API automation. Exposes all official Hetzner operations as MCP tools so AI agents can manage servers, networking, load balancers, firewalls, volumes, DNS zones, and storage boxes from one server.1MIT