NetBox MCP Server について
NetBox MCP Server は NetBox と MCP 対応 LLM を接続し、ネットワークインフラや仮想化データを照会します。クラスター、仮想マシン、インターフェースを調べる NetBox 利用者向けです。
主な機能
- 01NetBox のインフラデータを照会
- 02クラスター一覧の取得
- 03クラスター内の仮想マシン取得
- 04クラスター内のインターフェース取得
活用シーン
- 01NetBox インスタンス内のクラスターを確認
- 02クラスター内の仮想マシンとインターフェースを調査
MCP 対応
Claude などのクライアントが NetBox データにアクセスできるよう、MCP ツールを公開します。記載されているツールは、クラスター、仮想マシン、インターフェースを扱います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
NetBox MCP サーバー
NetBox に接続し、Claude やその他の MCP 対応 LLM で使用できるネットワークインフラストラクチャデータを公開する Model Context Protocol(MCP)サーバーです。
概要
このサーバーは NetBox と Claude などの MCP 対応 LLM との橋渡しを行い、次のことができます。
- ネットワークインフラストラクチャデータのクエリと分析
- デバイス設定と接続の確認
- 仮想化クラスターと仮想マシンの調査
- VLAN、IP アドレスの割り当てなどの分析
- ネットワークトポロジー情報の生成
- クラスター内の NVMe ストレージの検出
このサーバーは次を公開します。
- ツール:操作を実行する関数
必要条件
- Python 3.10 以降
- API アクセスが可能な NetBox インスタンス
- 読み取り権限のある NetBox API トークン
- HTTP リクエスト用の
httpxライブラリ - Model Context Protocol 用の
mcpPython SDK
インストール
uv を使用する場合(推奨)
# Create a virtual environment
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install required packages
uv add mcp httpx
pip を使用する場合
# Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install required packages
pip install mcp httpx
使用方法
サーバーを直接実行する
python netbox_server.py --url https://your-netbox-instance.example.com --token your-api-token
コマンドライン引数の代わりに環境変数を設定することもできます。
export NETBOX_URL="https://your-netbox-instance.example.com"
export NETBOX_TOKEN="your-api-token"
python netbox_server.py
Claude Desktop との連携
Claude Desktop と連携するには、次の手順に従います。
- https://claude.ai/download から Claude Desktop をインストールします
- Claude メニューを開き、「Settings...」を選択します
- 左側のサイドバーで「Developer」をクリックします
- 「Edit Config」をクリックします
- NetBox サーバーの設定を
claude_desktop_config.jsonに追加します。
{
"mcpServers": {
"netbox": {
"command": "python",
"args": [
"/path/to/netbox_server.py",
"--url",
"https://your-netbox-instance.example.com",
"--token",
"your-api-token"
]
}
}
}
- ファイルを保存し、Claude Desktop を再起動します
利用可能な機能
ツール
このサーバーは次のツールを提供します。
get_all_clusters- 主要な情報を含む、すべてのクラスターの一覧を取得しますget_cluster_virtual_machines- 指定したクラスター内のすべての VM を取得しますget_cluster_interfaces- クラスター内のすべての VM のすべてのインターフェースを取得します
Claude への質問例
サーバーを Claude Desktop に接続すると、次のような質問ができます。
- 「NetBox インスタンス内のすべてのクラスターの一覧を表示してください」
- 「プライマリークラスター内のすべての仮想マシンを表示してください」
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルを参照してください。
謝辞
- NetBox - ネットワークインフラストラクチャのモデリング
- Model Context Protocol - LLM にコンテキストを提供するためのプロトコル
- Claude - Anthropic の AI アシスタント
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。