POX MCP Server

POX MCP Server

site icon
2025.04.04 0
Python网络控制SDNOpenFlow网络管理其它
POX MCP Server 是一个基于 POX SDN 控制器的 Model Context Protocol (MCP) 服务器实现,提供网络控制和管理能力。它支持基于 Python 的网络编程、OpenFlow 设备管理以及通过 POX 的模块化架构进行自动化网络分析。适用于教育环境、网络原型设计和 SDN 研究。
View on GitHub

Overview

基本能力

产品定位

POX MCP Server 是一个用于软件定义网络(SDN)的控制和管理服务器,特别适合用于教育、研究和网络原型开发。

核心功能

  1. 网络控制和管理:通过 POX SDN 控制器提供网络配置和管理能力。
  2. 动态资源
  3. pox://network-config:提供 POX 控制器的配置备忘录,记录网络拓扑和流规则。
  4. pox://topology:实时显示网络拓扑,包括活动 OpenFlow 数据路径和主机连接。
  5. 交互式提示
  6. pox-network-manager:用于 POX 控制器管理的交互式提示。
  7. simple-hub:基本的 L2 集线器实现。
  8. learning-switch:L2 学习交换机实现。
  9. 工具集
  10. 数据路径管理工具get_switchesget_switch_desc 用于列出和获取 OpenFlow 数据路径的详细信息。
  11. 流管理工具get_flow_statsset_table 用于获取流统计信息和配置流表。
  12. 分析工具append_insight 用于添加网络洞察到配置备忘录。

适用场景

  1. 教育环境:用于教学和演示 SDN 和 OpenFlow 的基本概念。
  2. 网络原型设计:快速构建和测试网络拓扑和策略。
  3. SDN 研究:用于研究和开发新的网络控制算法和协议。

使用教程

使用依赖

  1. 确保已安装 Python 和 POX SDN 控制器。
  2. 确保环境变量 POX_SERVER_URL 已设置为 http://localhost:8000

安装教程

  1. 克隆或下载服务器代码到本地。
  2. 使用以下命令启动服务器: json { "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" } } } }

调试方式

  1. 启动服务器后,可以通过访问 http://localhost:8000 来验证服务器是否正常运行。
  2. 使用提供的工具和提示进行网络配置和管理操作。

常见问题解答

  1. 如何获取连接的 OpenFlow 数据路径?
  2. 使用 get_switches 工具列出所有活动的 POX 控制交换机。
  3. 如何配置流表?
  4. 使用 set_table 工具,提供数据路径标识符和流规范数组。
  5. 如何添加网络洞察?
  6. 使用 append_insight 工具,提供洞察字符串。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。