mcp-hetzner-go
A Go Model Context Protocol (MCP) server for interacting with the Hetzner Cloud API.
Documentation
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": "",
"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
- [x] Implement all GET and LIST operations for:
- [x] Certificates
- [x] SSH Keys
- [x] Locations
- [x] Datacenters
- [x] Firewall
- [x] Floating IPs
- [x] Servers
- [x] Images
- [x] ISOs
- [x] Placement Groups
- [x] Primary IPs
- [x] Server Types
- [x] Load Balancers
- [x] Load Balancer Types
- [x] Networks
- [x] Volumes
- [x] Pricing
- [x] Add a configuration flag or setting to:
- [x] Enable read_only mode (GET/LIST only)
- [x] 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
Frequently asked questions
What is mcp-hetzner-go?
mcp-hetzner-go is A Go Model Context Protocol (MCP) server for interacting with the Hetzner Cloud API.
How do I install mcp-hetzner-go?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is mcp-hetzner-go open source?
Yes โ it is hosted on GitHub at https://github.com/MahdadGhasemian/mcp-hetzner-go and has 5 stars.
Related MCP tools
MCP server for Grafana Go-based implementation. Trusted by 1700+ developers. Trusted by 1700+ developers. Trusted by 1700+ developers.
Flux Operator is a Kubernetes controller for managing the lifecycle of Flux CD for the Model Context Protocol. Enhance AI assistants with powerful integrations.
MCP server connecting to Kubernetes Go-based implementation.
Lunar.dev: Ground Control for 3rd Party APIs for the Model Context Protocol. Enhance AI assistants with powerful integrations. Go-based implementation.
:robot: The free, Open Source alternative to OpenAI, Claude and others. Self-hosted and local-first. Drop-in replacement for OpenAI, running on consumer-gra...
MCP Toolbox for Databases is an open source MCP server for databases. Go-based implementation. Trusted by 10900+ developers.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP