Hetzner云API交互协议

一个用于与Hetzner云API交互的Go模型上下文协议服务器,支持只读和读写两种操作模式。

  • by MahdadGhasemian
  • Go
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 MahdadGhasemian/mcp-hetzner

使用说明

MCP Hetzner Go

Go模型上下文协议(MCP)服务器,用于与Hetzner Cloud API交互。

🌟 精选

🎉 现在官方的一部分 真棒HCloud 列表!

与Claude Desktop一起使用

在~/Library/ApplicationSupport/Claude/Claude_desktop_config.json中创建一个文件,内容如下:

{
  "mcpServers": {
    "hetzner": {
      "command": "<your path to golang MCP server go executable>",
      "env": {
        "HCLOUD_TOKEN": "YOUR-HCLOUD-TOKEN"
      }
    }
  }
}

🛠 构建客户端

npm --prefix ./client i
npm --prefix ./client run build

🖥 构建服务器

go mod init github.com/MahdadGhasemian/mcp-hetzner-go
go mod tidy
go build -o mcphetzner
# go run .

🚀 运行客户端

node ./client/build/index.js ./mcphetzner

⚠️ 使用限制

服务器支持两种操作模式,由配置控制:

  • 只读模式:只允许 获取 和 列表 操作。
  • 读写模式:允许 获取, 列表,以及 创建/更新/删除 操作。

默认情况下,服务器以只读模式启动。
要启用写操作(如创建、更新或删除资源),您必须显式设置配置标志以启用读写模式。

警告:启用写入模式允许客户端更改您的Hetzner Cloud资源。
确保您了解其中的含义,并采取适当的访问控制措施。

切换模式

在启动时编辑您的配置或传递相关的环境变量/标志:

  • 对于 只读的 (默认;可安全检查和监控):
    ./mcphetzner --restriction=read_only
    
  • 对于 可读写的 (小心使用!):
    ./mcphetzner --restriction=read_write
    

✅ 棉绒

# install golangci-lint and then run:
golangci-lint run

🔍 检查员

npx @modelcontextprotocol/inspector

🗺 路线图

  • [x] 实施全部 获取 和 列表 操作:

    • [x] 证书
    • [x] SSH密钥
    • [x] 地点
    • [x] 数据中心
    • [x] 防火墙
    • [x] 浮动IP
    • [x] 服务器
    • [x] 图片
    • [x] ISO
    • [x] 安置小组
    • [x] 主要IP
    • [x] 服务器类型
    • [x] 负载平衡器
    • [x] 负载平衡器类型
    • [x] 网络
    • [x] 交易量
    • [x] 定价
  • [x] 将配置标志或设置添加到:

    • [x] 启用 只读模式 (仅限获取/列表)
    • [x] 启用 读写模式 (获取/列出+创建/更新/删除)
  • []实施 写入操作 (创建/更新):

    • []证书
    • []SSH密钥
    • []防火墙
    • []浮动IP
    • []服务器
    • []图片
    • []安置小组
    • []主要IP
    • []负载平衡器
    • []网络
    • []数量
  • []添加 删除功能 支持的资源