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에서 Hetzner 리소스를 직접 관리하기 위한 Claude Code 통합

요구 사항

  • 파이썬 3.11+
  • Hetzner Cloud API 토큰

설치

방법 1: 직접 설치

  1. 이 저장소를 복제하세요:

지엑스피1

  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 Code와 함께 사용됨
  • sse : HTTP 클라이언트에 적합한 Server-Sent Events 전송

기본적으로 서버는 localhost:8080 에서 실행됩니다. 다음과 같이 호스트와 포트를 사용자 지정할 수 있습니다.

  1. .env 파일에서 MCP_HOSTMCP_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 : 사용 가능한 데이터 센터 위치 나열

특허

MIT

-
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