Skip to main content
Glama

Hetzner Cloud MCP Server

by dkruyt

Hetzner 云 MCP 服务器

用于与 Hetzner Cloud API 交互的模型上下文协议 (MCP) 服务器。该服务器允许语言模型通过结构化函数管理 Hetzner Cloud 资源。

MCP Hetzner 演示

特征

  • 列出、创建和管理 Hetzner Cloud 服务器
  • 创建、附加、分离和调整卷大小
  • 管理防火墙规则并将其应用于服务器
  • 创建和管理 SSH 密钥以实现安全的服务器访问
  • 查看可用的图像、服务器类型和位置
  • 打开/关闭和重启服务器
  • 用于语言模型交互的简单、结构化的 API
  • Claude Code 集成,可直接从 Claude 管理 Hetzner 资源

要求

  • Python 3.11+
  • Hetzner 云 API 令牌

安装

方法一:直接安装

  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

服务器支持两种传输模式:

  • stdio (默认):标准 I/O 传输,通常与 Claude 代码一起使用
  • sse :服务器发送事件传输,适用于 HTTP 客户端

默认情况下,服务器在localhost:8080上运行。您可以通过以下方式自定义主机和端口:

  1. .env文件中设置MCP_HOSTMCP_PORT环境变量
  2. 使用--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 :列出可用的数据中心位置

执照

麻省理工学院

-
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.

模型上下文协议服务器允许语言模型通过结构化功能管理 Hetzner Cloud 资源,包括服务器、卷、防火墙和 SSH 密钥。

  1. 特征
    1. 要求
      1. 安装
        1. 方法一:直接安装
        2. 方法 2:作为包安装
      2. 用法
        1. 启动服务器
        2. 与 Claude 代码一起使用
        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