About Hetzner Go
Hetzner Go is an MCP server published by MahdadGhasemian in the Cloud category: a Go Model Context Protocol (MCP) server for interacting with the Hetzner Cloud API.
The repository has 5 stars and 2 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/MahdadGhasemian/mcp-hetzner-goThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Hetzner Go
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository yesterday. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
MCP Hetzner Go
A Go Model Context Protocol (MCP) server for interacting with the Hetzner Cloud API.
🌟 Featured
🎉 Now part of the official Awesome HCloud list!
Using with Claude Desktop
Create a file in ~/Library/Application Support/Claude/claude_desktop_config.json with the following contents:
{
"mcpServers": {
"hetzner": {
"command": "<your path to golang MCP server go executable>",
"env": {
"HCLOUD_TOKEN": "YOUR-HCLOUD-TOKEN"
}
}
}
}
🛠 Build Client
npm --prefix ./client i
npm --prefix ./client run build
🖥 Build Server
go mod init github.com/MahdadGhasemian/mcp-hetzner-go
go mod tidy
go build -o mcphetzner
# go run .
🚀 Run Client
node ./client/build/index.js ./mcphetzner
⚠️ Usage Restrictions
The server supports two operation modes, controlled by the configuration:
- Read-Only mode: Only allows GET and LIST operations.
- Read-Write mode: Allows GET, LIST, and CREATE/UPDATE/DELETE operations.
By default, the server starts in read-only mode.
To enable write operations (such as creating, updating, or deleting resources), you must explicitly set the configuration flag to enable read-write mode.
Warning: Enabling write mode allows the client to make changes to your Hetzner Cloud resources.
Ensure you understand the implications and have proper access controls in place.
Switching Modes
Edit your configuration or pass the relevant environment variable/flag at launch:
- For read-only (default; safe for inspection and monitoring):
./mcphetzner --restriction=read_only - For read-write (use with caution!):
./mcphetzner --restriction=read_write
✅ Lint
# install golangci-lint and then run:
golangci-lint run
🔍 Inspector
npx @modelcontextprotocol/inspector
🗺 Roadmap
-
Implement all GET and LIST operations for:
- Certificates
- SSH Keys
- Locations
- Datacenters
- Firewall
- Floating IPs
- Servers
- Images
- ISOs
- Placement Groups
- Primary IPs
- Server Types
- Load Balancers
- Load Balancer Types
- Networks
- Volumes
- Pricing
-
Add a configuration flag or setting to:
- Enable read_only mode (GET/LIST only)
- Enable read_write mode (GET/LIST + CREATE/UPDATE/DELETE)
-
Implement write operations (create/update):
- Certificates
- SSH Keys
- Firewall
- Floating IPs
- Servers
- Images
- Placement Groups
- Primary IPs
- Load Balancers
- Networks
- Volumes
-
Add delete capabilities for supported resources
README fetched from the repository yesterday. The original is authoritative.