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 基础设施。两个管理层为您提供完全控制:
第 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+ |
快速入门
先决条件
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 令牌自省以及静态 API 密钥。这需要一个带有自省端点 (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 installed
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/wbf-solutions/hetzner-cloud-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server