Skip to main content
Glama

Hetzner Cloud MCP Server

by dkruyt

Hetzner クラウド MCP サーバー

Hetzner Cloud APIと連携するためのモデルコンテキストプロトコル(MCP)サーバー。このサーバーにより、言語モデルは構造化された関数を通じてHetzner Cloudリソースを管理できるようになります。

MCP ヘッツナー デモ

特徴

  • Hetzner Cloud サーバーの一覧表示、作成、管理
  • ボリュームの作成、接続、切断、サイズ変更
  • ファイアウォールルールを管理し、サーバーに適用する
  • 安全なサーバーアクセスのための SSH キーの作成と管理
  • 利用可能なイメージ、サーバーの種類、場所を表示します
  • サーバーの電源オン/オフと再起動
  • 言語モデルのインタラクションのためのシンプルで構造化された API
  • Claude Code 統合により、Claude から直接 Hetzner リソースを管理できます。

要件

  • Python 3.11以上
  • Hetzner Cloud APIトークン

インストール

方法1:直接インストール

  1. このリポジトリをクローンします:
git clone https://github.com/dkruyt/mcp-hetzner.git cd mcp-hetzner
  1. 依存関係をインストールします:
pip install -e .
  1. .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

サーバーは 2 つのトランスポート モードをサポートしています。

  • stdio (デフォルト): 標準I/Oトランスポート。通常はClaude Codeで使用される。
  • sse : HTTPクライアントに適したServer-Sent Eventsトランスポート

デフォルトでは、サーバーはlocalhost:8080で実行されます。ホストとポートは次のようにカスタマイズできます。

  1. .envファイルでMCP_HOSTおよびMCP_PORT環境変数を設定する
  2. --portコマンドライン引数を使用する (環境変数を上書きします)

Claude Codeと併用

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 : 利用可能な OS イメージを一覧表示する
  • list_server_types : 利用可能なサーバーの種類を一覧表示する
  • list_locations : 利用可能なデータセンターの場所を一覧表示する

ライセンス

マサチューセッツ工科大学

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

言語モデルがサーバー、ボリューム、ファイアウォール、SSH キーなどの構造化関数を通じて Hetzner Cloud リソースを管理できるようにするモデル コンテキスト プロトコル サーバー。

  1. 特徴
    1. 要件
      1. インストール
        1. 方法1:直接インストール
        2. 方法2: パッケージとしてインストールする
      2. 使用法
        1. サーバーの起動
        2. Claude Codeと併用
        3. APIのテスト
      3. ワークフローの例
        1. 基本的なサーバー管理
        2. ボリューム管理
        3. ファイアウォール管理
        4. SSHキー管理
        5. インフラ計画
      4. 利用可能な機能
        1. サーバー管理
        2. ボリューム管理
        3. ファイアウォール管理
        4. SSHキー管理
        5. 情報
      5. ライセンス

        Related MCP Servers

        • -
          security
          F
          license
          -
          quality
          A Model Context Protocol server that connects to Google Cloud services, allowing users to query logs, interact with Spanner databases, and analyze Cloud Monitoring metrics through natural language interaction.
          Last updated -
          16
          2
          TypeScript
        • -
          security
          F
          license
          -
          quality
          A Model Context Protocol server that provides tools for interacting with databases, including PostgreSQL, DuckDB, and Google Cloud Storage Parquet files.
          Last updated -
          2
          TypeScript
          • Linux
          • Apple
        • -
          security
          F
          license
          -
          quality
          A Model Context Protocol server that enables Large Language Models to access and interact with database connections, including viewing schemas and performing CRUD operations on connected databases.
          Last updated -
          • Apple
        • A
          security
          A
          license
          A
          quality
          A Model Context Protocol server that enables managing Terrakube infrastructure through natural language, handling workspace management, variables, modules, and organization operations.
          Last updated -
          16
          22
          1
          TypeScript
          Apache 2.0

        View all related MCP servers

        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