Hetzner Cloud MCP Server — Cloud API + SSH management (60 tools)
Hetzner Cloud MCP 서버
SSH 서버 관리를 지원하는 유일한 Hetzner MCP입니다. API와 SSH를 하나의 도구로 통합했습니다.
Claude.ai, Claude Desktop, VS Code, Cursor 또는 MCP 호환 클라이언트에서 Hetzner Cloud 인프라를 관리하세요. 두 가지 관리 계층을 통해 완벽한 제어가 가능합니다:
계층 1 — Hetzner Cloud API: 서버 전원, 메트릭, 스냅샷, 백업, 방화벽, DNS 영역 및 레코드, 복구 모드, 서버 재구축 및 리스케일. 서버 OS가 응답하지 않을 때도 작동합니다.
계층 2 — SSH: 서비스, 로그, Nginx, MySQL, supervisor, cron, UFW, 디스크/메모리/CPU 모니터링. 단순한 API 래퍼가 아닌 실제 시스템 관리 도구입니다.
60개의 도구. 동적 다중 서버 구성. 자체 호스팅 및 오픈 소스.
왜 이 MCP인가요?
기존의 모든 Hetzner MCP는 Cloud API만 래핑합니다. 이 도구는 완전한 SSH 관리 계층을 추가하여 프로덕션 서버를 관리할 때 실제로 필요한 도구들을 제공합니다. 두 개의 계층, 60개의 도구, 자체 호스팅 가능.
기능 | 포함 여부 |
Cloud API (서버 전원, 메트릭, 스냅샷, 백업, 방화벽, 복구, 재구축) | 예 |
SSH 관리 (서비스, 로그, Nginx, MySQL, 시스템 상태) | 예 |
DNS 관리 (영역, 레코드, CRUD) | 예 |
다중 서버 (단일 인스턴스에서 1~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에 연결
설정 > 커넥터 > 사용자 지정 커넥터 추가:
이름: Hetzner Cloud MCP
URL:
https://mcp.yourdomain.com/api.php
MCP_API_KEY를 설정한 경우 URL을 통해 전달하세요: ?mcp=sse&key=YOUR_MCP_API_KEY
또는 커넥터의 고급 설정에서 Bearer 토큰으로 API 키를 구성하세요.
사용 가능한 도구 (60개)
계층 1 — Hetzner Cloud API (25개 도구)
도구 | 설명 | 파괴적 |
| 서버 세부 정보: 상태, IP, 유형, 데이터센터 | |
| CPU, 디스크 또는 네트워크 메트릭 | |
| 전원 켜기 | |
| 강제 전원 끄기 | 확인 |
| 정상적인 ACPI 종료 | |
| 소프트 재부팅 | |
| 하드 리셋 | 확인 |
| 루트 비밀번호 재설정 | 확인 |
| 복구 모드 활성화 | |
| 복구 모드 비활성화 | |
| 이미지에서 재구축 (데이터 삭제) | 확인 |
| 서버 플랜 리스케일 | 확인 |
| 스냅샷 생성 | |
| 스냅샷 목록 | |
| 스냅샷 삭제 | 확인 |
| 백업 활성화 (+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 커넥터 디렉토리 제출을 위해 정적 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 | 설정 > 커넥터 > 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
라이선스
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