Hetzner Cloud MCP Server — Cloud API + SSH management (60 tools)
Hetzner Cloud MCP Server
SSHサーバー管理機能を備えた唯一のHetzner MCP。APIとSSHを1つのツールに統合。
Claude.ai、Claude Desktop、VS Code、Cursor、またはMCP互換クライアントからHetzner Cloudインフラを管理できます。2つの管理レイヤーにより、完全な制御が可能です:
レイヤー1 — Hetzner Cloud API: サーバーの電源、メトリクス、スナップショット、バックアップ、ファイアウォール、レスキューモード、サーバーの再構築とリサイズ。サーバーのOSが応答しない場合でも機能します。
レイヤー2 — SSH: サービス、ログ、Nginx、MySQL、supervisor、cron、UFW、ディスク/メモリ/CPU監視。単なるAPIラッパーではなく、本格的なシステム管理ツールです。
60ツール。動的なマルチサーバー構成。セルフホスト型でオープンソース。
なぜこのMCPなのか?
既存のHetzner MCPはすべてCloud APIをラップするだけですが、本ツールは完全なSSH管理レイヤーを追加しています。本番サーバーを管理する際に実際に必要なツールが揃っています。2つのレイヤー、60ツール、セルフホスト型。
機能 | 含まれるもの |
Cloud API (サーバー電源、メトリクス、スナップショット、バックアップ、ファイアウォール、レスキュー、再構築) | はい |
SSH管理 (サービス、ログ、Nginx、MySQL、システムヘルス) | はい |
DNS管理 (ゾーン、レコード、CRUD) | はい |
マルチサーバー (単一インスタンスからN台のサーバーを管理) | はい |
破壊的操作の保護 (危険な操作には確認が必要) | はい |
トランスポート | SSE + ストリーミング可能なHTTP |
言語 | PHP 8.1+ |
クイックスタート
前提条件
curl拡張機能を備えたPHP 8.1+Composer
Hetzner Cloud APIトークン (Console > Security > API Tokens)
サーバーアクセス用の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への接続
Settings > Connectors > Add custom connector:
Name: Hetzner Cloud MCP
URL:
https://mcp.yourdomain.com/api.php
MCP_API_KEYを設定した場合は、URL経由で渡します:?mcp=sse&key=YOUR_MCP_API_KEY
または、コネクタの「Advanced Settings」でBearerトークンとしてAPIキーを設定します。
利用可能なツール (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サービスステータスの確認 |
| サービスの開始 |
| サービスの停止 |
| サービスの再起動 |
| 実行中のサービス一覧表示 |
| ディスク使用量 ( |
| RAM使用量 ( |
| 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 Connectors Directoryへの提出用として、静的APIキーに加えて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 | Settings > Connectors > SSE URLを指定してカスタムコネクタを追加 |
Claude Desktop |
|
Claude Code |
|
VS Code / Cursor | VS Code拡張機能 — 近日公開 |
デプロイ
VitoDeployまたは手動のNginx + PHP-FPMセットアップで動作します。SSEストリーミングにはfastcgi_buffering offが必要です。クイックスタートセクションの完全なデプロイガイドを参照してください。
貢献
CONTRIBUTING.mdを参照してください。セキュリティの脆弱性については labs@wbf.solutions までご連絡ください。
リンク
ランディングページ: hetzner-cloud-mcp.wbf.tools
開発元: 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