POX MCP Server について
POX MCP Serverは、POX SDNコントローラーを通じてネットワーク管理機能を提供します。ネットワークプログラミング、教育、SDN研究向けに、OpenFlowスイッチやフローの操作とトポロジー情報を扱えます。
主な機能
- 01接続中のOpenFlowスイッチ一覧
- 02スイッチ情報とフロー統計の取得
- 03フローテーブルの設定
- 04リアルタイムトポロジーの表示
- 05ネットワーク分析メモの記録
活用シーン
- 01コントローラー管理下のスイッチ状態の確認
- 02フロー統計の絞り込みと確認
- 03OpenFlowフローテーブルの更新
- 04ネットワークトポロジー分析の記録
MCP 対応
MCPサーバーは、POX設定メモとリアルタイムトポロジーのリソースに加え、スイッチ管理、フロー統計、テーブル更新、分析メモ記録のツールを公開します。ネットワーク管理や実装例のプロンプトも提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
POX MCP サーバー
概要
POX SDN コントローラーを通じて、ネットワーク制御と管理機能を提供する Model Context Protocol(MCP)サーバーの実装です。このサーバーでは、POX のモジュール型アーキテクチャを利用して、Python ベースのネットワークプログラミング、OpenFlow デバイス管理、自動ネットワーク分析が可能です。教育環境、ネットワークのプロトタイピング、SDN 研究に最適です。
コンポーネント
リソース
サーバーは、次の 2 つの動的リソースを公開します。
pox://network-config:POX コントローラーの包括的な設定メモ- 有効な POX コンポーネントとその設定を追跡します
- ネットワークトポロジーとフロールールを記録します
- 検出したネットワークの知見を維持します
pox://topology:リアルタイムのネットワークトポロジー表示- 有効な OpenFlow データパス(スイッチ)を表示します
- ホストの場所と接続をマッピングします
- リンクの状態とポートのマッピングを表示します
プロンプト
サーバーは、次の 3 つの専用プロンプトを提供します。
-
pox-network-manager:POX コントローラー管理用の対話型プロンプト- 必須引数:
topic— 焦点を当てるネットワーク制御の側面 - POX コンポーネントとモジュールの設定を支援します
- ネットワークポリシーの実装を案内します
- ネットワーク設定メモと連携します
- 必須引数:
-
simple-hub:POX を使用した基本的な L2 ハブの実装- 必須引数:
dpid— データパス識別子 - POX のイベント駆動型プログラミングを実演します
- 基本的なパケット処理とフラッディングを示します
- POX の中核的な仕組みを説明します
- 必須引数:
-
learning-switch:L2 学習スイッチの実装- 必須引数:
dpid— データパス識別子 - POX のテーブル管理を紹介します
- MAC アドレスの学習と転送を実装します
- POX のパケット処理機能を実演します
- 必須引数:
ツール
サーバーは、5 つの中核的なツールを提供します。
データパス管理ツール
-
get_switches- 接続されているすべての OpenFlow データパスを一覧表示します
- 入力は不要です
- 戻り値:POX が制御する有効なスイッチの配列
- 接続状態と機能が含まれます
-
get_switch_desc- データパスの詳細情報を取得します
- 入力:
dpid(string):データパス識別子
- 戻り値:POX が管理するスイッチの詳細と機能
フロー管理ツール
-
get_flow_stats- POX のフロー統計情報を取得します
- 入力:
dpid(string):データパス識別子match(object, optional):POX の match 構造table_id(string, optional):OpenFlow テーブル IDout_port(string, optional):出力ポートのフィルター
- 戻り値:パケット数を含む POX のフロー統計情報
-
set_table- POX のフローテーブルを設定します
- 入力:
dpid(string):データパス識別子flows(array):POX のフロー仕様
- 戻り値:フローテーブル更新の確認
分析ツール
append_insight- ネットワークの知見を POX 設定メモに追加します
- 入力:
insight(string):ネットワークに関する観察または分析
- 戻り値:知見追加の確認
- pox://network-config リソースを更新します
Claude Desktop での使用
uv
{
"mcpServers": {
"pox": {
"command": "uv",
"args": [
"--directory",
"parent_of_servers_repo/servers/src/mcp_server_pox",
"run",
"server.py"
],
"env": {
"POX_SERVER_URL": "http://localhost:8000"
}
}
}
}
ライセンス
この MCP サーバーは MIT License のライセンスで提供されています。MIT License の利用規約に従う限り、ソフトウェアを自由に使用、変更、配布できます。詳しくは、プロジェクトリポジトリ内の LICENSE ファイルをご覧ください。
貢献
貢献を歓迎します。プルリクエストの送信、バグの報告、新機能の提案をぜひお寄せください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。