mcp-netbird

by aantti
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides installation source for the MCP server package.

  • The project is derived from the MCP Server for Grafana, though it doesn't provide Grafana-specific functionality.

Netbird MCP サーバー

Netbird用のモデルコンテキストプロトコル(MCP) サーバー。

このプロジェクトは、Grafana Labs のGrafana 用 MCP サーバーから派生したもので、同じ Apache License 2.0 に基づいてライセンスされています。

また、Mark III Labs のMCP Goも使用します。

注: このプロジェクトはまだ開発中です。

インストール中

ソースからインストールする

リポジトリをクローンする

git clone https://github.com/aantti/mcp-netbird

ビルドとインストール

cd mcp-netbird && \ make install

GitHubからのインストール

go install github.com/aantti/mcp-netbird/cmd/mcp-netbird@latest

Smithery経由でインストール

Smithery経由で Claude Desktop 用の Netbird MCP Server を自動的にインストールするには:

npx -y @smithery/cli install @aantti/mcp-netbird --client claude

構成

サーバーには次の環境変数が必要です。

  • NETBIRD_API_TOKEN : Netbird APIトークン
  • NETBIRD_HOST (オプション): Netbird API ホスト (デフォルトはapi.netbird.io )

特徴

このサーバーはNetbird APIを使用して、Netbirdネットワークに関するLLM情報を提供します。現在、一部の読み取り専用Netbird APIリソースとツールが1:1でマッピングされています。

  • [x] Netbird APIを使用して設定とステータスにアクセスします
  • [x] 設定可能なAPIエンドポイント
  • [x] Netbird APIの安全なトークンベース認証

ツール

道具説明ネットバードAPI
list_netbird_peersすべてのピアすべてのピアを一覧表示する
list_netbird_port_allocationspeerIdのすべての入力ポートすべてのポート割り当てを一覧表示する
list_netbird_groupsすべてのグループすべてのグループを一覧表示する
list_netbird_policiesすべてのポリシーすべてのポリシーを一覧表示する
list_netbird_posture_checksすべての姿勢チェックすべての姿勢チェックを一覧表示する
list_netbird_networksすべてのネットワークすべてのネットワークを一覧表示する
list_netbird_nameserversすべてのネームサーバーグループすべてのネームサーバーグループを一覧表示する

ツールの追加

新しいツールを追加するには:

  1. tools内に新しいファイル(例: tools/users.go )を作成し、既存のコードをテンプレートとして使用することもできます。
  2. 新しいファイルにAPIルートとレスポンスの詳細を追加します
  3. cmd/main.gofunc newServer()にツールを追加します。

使用法

  1. Netbird 管理コンソールからNetbird API トークンを取得します。
  2. 上記のいずれかのインストール方法を使用して、 mcp-netbirdバイナリをインストールしてください。バイナリが PATH に含まれていることを確認してください。
  3. サーバー設定をクライアント設定ファイルに追加します。例えば、Codeium Windsurfの場合は、以下の行を~/.codeium/windsurf/mcp_config.jsonに追加します。
    { "mcpServers": { "netbird": { "command": "mcp-netbird", "args": [], "env": { "NETBIRD_API_TOKEN": "<your-api-token>" } } } }

Claude Desktop に同様の構成を追加する方法の詳細については、ここを参照してください。

注意:Claude Desktop のログに[netbird] [error] spawn mcp-netbird ENOENTのようなメッセージが表示される場合は、 mcp-netbirdへのフルパスを指定する必要があります。macOS の場合、Claude のログは~/Library/Logs/Claudeにあります。

  1. 「Netbird の仲間、グループ、ポリシーについて説明してもらえますか?」というような質問をしてみてください。

ドッカー

イメージを作成してタグ付けします。

docker build -t mcp-netbird-sse:v1 -f Dockerfile.sse .

イメージを実行します:

docker run --name mcp-netbird -p 8001:8001 -e NETBIRD_API_TOKEN=<your-api-token> mcp-netbird-sse:v1

ツールハイブ

ToolHive (thv) は、MCP サーバーの展開と管理を簡素化するために設計された軽量ユーティリティです。

次のように、ToolHive を使用して Netbird MCP を展開および実行できます。

  1. ToolHive READMEの説明に従ってthvをインストールします。
  2. Netbird API トークンをthvに追加します。
thv secret set netbird
  1. 上記のDockerセクションで説明したようにSSEイメージを構築します。
  2. ポート 8080 でthv runて Netbird MCP を起動します。
thv run --secret netbird,target=NETBIRD_API_TOKEN --transport sse --name thv-mcp-netbird --port 8080 --target-port 8001 mcp-netbird-sse:v1
  1. サーバーを停止する場合は、次のコマンドを使用します。
thv stop thv-mcp-netbird

発達

貢献を歓迎します!ご提案や改善点がありましたら、問題を報告するか、プルリクエストを送信してください。

このプロジェクトはGoで書かれています。お使いのプラットフォームの指示に従ってGoをインストールしてください。

サーバーを手動で実行するには、次を使用します。

export NETBIRD_API_TOKEN=your-token && \ go run cmd/mcp-netbird/main.go

または SSE モードの場合:

export NETBIRD_API_TOKEN=your-token && \ go run cmd/mcp-netbird/main.go --transport sse --sse-address :8001

デバッグ

MCP Inspectorは、 MCPサーバーのテストとデバッグのためのインタラクティブな開発ツールです。詳細はこちらをご覧ください。

MCP インスペクターを起動する方法は次のとおりです。

export NETBIRD_API_TOKEN=your-token && \ npx @modelcontextprotocol/inspector

Netbird MCPサーバーは、 stdioまたはSSEトランスポートタイプでテストできます。stdio stdio場合は、UIでmcp-netbirdへのフルパスを指定してください。

テスト

TODO: テストを追加する

リンティング

コードを lint するには、次を実行します。

make lint

ライセンス

このプロジェクトは、Apache License バージョン 2.0に基づいてライセンスされます。

このプロジェクトには、Grafana Labs ( https://grafana.com/ ) で開発されたソフトウェアが含まれています。

このプロジェクトには、Mark III Labs ( https://github.com/mark3labs/mcp-go ) で開発されたソフトウェアが含まれています。

ID: y1lgep6ks4