mcpField
M
MCP Hetzner Go

MCP Hetzner Go

ローカル
github.com/MahdadGhasemianクラウド・インフラ561 週間前に更新

MCP Hetzner Go について

MCP Hetzner Goは、Hetzner Cloudのリソースを確認・管理するGo製MCPサーバーです。既定では読み取り専用で、作成・更新・削除を行う読み書きモードもありますが、READMEでは書き込み機能は未完了とされています。

主な機能

  1. 01GETとLISTによるリソース操作
  2. 02任意の読み書きモード
  3. 03既定の読み取り専用制限
  4. 04Go製サーバー

活用シーン

  1. 01Hetzner Cloudリソースの確認
  2. 02クラウドインフラの監視
  3. 03対応範囲内での変更の有効化

MCP 対応

Hetzner Cloud APIの操作をMCPクライアントに公開します。読み取り専用と読み書きのモードがあり、READMEでは書き込み操作の実装は未完了とされています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"hetzner-go": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
起動コマンドnpx -y @modelcontextprotocol/inspector

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@modelcontextprotocol/inspector

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP Hetzner Go

Hetzner Cloud API と連携するための Go 製 Model Context Protocol(MCP)サーバーです。

🌟 注目

🎉 公式の Awesome HCloud リストに掲載されました!

Claude Desktop での使用

次の内容で ~/Library/Application Support/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

⚠️ 使用上の制限

サーバーは、設定で制御される次の 2 つの操作モードをサポートしています。

  • 読み取り専用モード:GET および LIST 操作のみを許可します。
  • 読み書きモード:GET、LIST、CREATE/UPDATE/DELETE 操作を許可します。

デフォルトでは、サーバーは読み取り専用モードで起動します。
リソースの作成、更新、削除などの書き込み操作を有効にするには、設定フラグを明示的に指定して読み書きモードを有効にする必要があります。

警告:書き込みモードを有効にすると、クライアントが Hetzner Cloud リソースを変更できるようになります。
その影響を理解し、適切なアクセス制御を設定してください。

モードの切り替え

設定を編集するか、起動時に該当する環境変数/フラグを渡します。

  • 読み取り専用(デフォルト。確認や監視に安全です):
    ./mcphetzner --restriction=read_only
    
  • 読み書き(注意して使用してください):
    ./mcphetzner --restriction=read_write
    

✅ Lint

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

🔍 Inspector

npx @modelcontextprotocol/inspector

🗺 ロードマップ

  • 次のすべての GET および LIST 操作を実装:

    • 証明書
    • SSH キー
    • ロケーション
    • データセンター
    • ファイアウォール
    • フローティング IP
    • サーバー
    • イメージ
    • ISO
    • プレースメントグループ
    • プライマリ IP
    • サーバータイプ
    • ロードバランサー
    • ロードバランサータイプ
    • ネットワーク
    • ボリューム
    • 料金
  • 次を行う設定フラグまたは設定を追加:

    • 読み取り専用モードを有効化(GET/LIST のみ)
    • 読み書きモードを有効化(GET/LIST + CREATE/UPDATE/DELETE)
  • 書き込み操作(作成/更新)を実装:

    • 証明書
    • SSH キー
    • ファイアウォール
    • フローティング IP
    • サーバー
    • イメージ
    • プレースメントグループ
    • プライマリ IP
    • ロードバランサー
    • ネットワーク
    • ボリューム
  • 対応するリソースの削除機能を追加

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。