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.
: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.
A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP