Hetzner 클라우드 MCP 서버
Hetzner Cloud API와 상호 작용하기 위한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버를 통해 언어 모델은 구조화된 함수를 통해 Hetzner Cloud 리소스를 관리할 수 있습니다.

특징
Hetzner Cloud 서버를 나열, 생성 및 관리합니다.
볼륨 생성, 연결, 분리 및 크기 조정
방화벽 규칙을 관리하고 서버에 적용합니다.
보안 서버 액세스를 위한 SSH 키 생성 및 관리
사용 가능한 이미지, 서버 유형 및 위치 보기
서버 전원 켜기/끄기 및 재부팅
언어 모델 상호작용을 위한 간단하고 구조화된 API
Claude에서 Hetzner 리소스를 직접 관리하기 위한 Claude Code 통합
Related MCP server: Linear MCP Server
요구 사항
파이썬 3.11+
Hetzner Cloud API 토큰
설치
방법 1: 직접 설치
이 저장소를 복제하세요:
지엑스피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
서버는 두 가지 전송 모드를 지원합니다.
기본적으로 서버는 localhost:8080 에서 실행됩니다. 다음과 같이 호스트와 포트를 사용자 지정할 수 있습니다.
.env 파일에서 MCP_HOST 및 MCP_PORT 환경 변수 설정
--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