README
🚀 POX MCP 服务器
POX MCP 服务器是基于 POX SDN 控制器实现的模型上下文协议(MCP)服务器,借助 POX 的模块化架构,提供强大的网络控制和管理功能。用户可使用 Python 进行网络编程、管理 OpenFlow 设备以及开展自动化网络分析。该服务器适用于教育环境、网络原型设计和 SDN 研究。
🚀 快速开始
与 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"
}
}
}
}
✨ 主要特性
- 允许使用 Python 进行网络编程、OpenFlow 设备管理以及自动化的网络分析。
- 公开动态资源,提供全面的 POX 控制器配置存储和实时网络拓扑视图。
- 提供专用提示,帮助配置 POX 组件和模块,指导网络策略实施。
- 提供核心工具,用于 Datapath 管理、Flow 管理和网络分析。
📚 详细文档
组件
资源
该服务器公开两个动态资源:
pox://network-config:一个全面的 POX 控制器配置存储- 跟踪活动 POX 组件及其配置。
- 记录网络拓扑和流规则。
- 维护发现的网络见解。
pox://topology:实时网络拓扑视图- 显示活动 OpenFlow datapath(交换机)。
- 地图主机位置和连接。
- 显示链路状态和端口映射。
提示
该服务器提供三个专用提示:
-
pox-network-manager:用于 POX 控制器管理的交互式提示- 必需参数:
topic- 网络控制方面关注的重点。 - 帮助配置 POX 组件和模块。
- 指导网络策略实施。
- 整合到网络配置存储中。
- 必需参数:
-
simple-hub:使用 POX 实现的基本 L2 中枢- 必需参数:
dpid- 数据通路标识符。 - 展示 POX 的事件驱动编程。
- 显示基本数据包处理和洪泛。
- 解释 POX 的核心机制。
- 必需参数:
-
learning-switch:使用 POX 实现的学习 L2 交换机- 必需参数:
dpid- 数据通路标识符。 - 展示 POX 的表管理。
- 实现 MAC 学习和转发。
- 展示 POX 的数据包处理能力。
- 必需参数:
工具
该服务器提供五个核心工具:
Datapath 管理工具
-
get_switches- 列出所有连接的 OpenFlow datapath。
- 无需输入。
- 返回:活动 POX 控制交换机数组,包括连接状态和功能。
-
get_switch_desc- 获取详细 datapath 信息。
- 输入:
dpid(字符串):datapath 标识符。
- 返回:POX 管理的交换机详细信息和功能。
Flow 管理工具
-
get_flow_stats- 检索 POX 流统计信息。
- 输入:
dpid(字符串):datapath 标识符。match(对象,可选):POX 匹配结构。table_id(字符串,可选):OpenFlow 表 ID。out_port(字符串,可选):输出端口过滤。
- 返回:POX 流统计信息包括数据包计数。
-
set_table- 配置 POX 流表。
- 输入:
dpid(字符串):datapath 标识符。flows(数组):POX 流规范。
- 返回:流表更新确认。
分析工具
append_insight- 将网络见解添加到 POX 配置存储中。
- 输入:
insight(字符串):网络观察或分析。
- 返回:见解添加确认,更新
pox://network-config资源。
📄 许可证
此 MCP 服务器根据 MIT 许可证分发。这意味着你可以自由使用、修改和分发软件,但需遵守 MIT 许可证的条款和条件。有关更多详细信息,请参见项目仓库中的 LICENSE 文件。
💪 贡献
欢迎贡献!请随时提交拉取请求、报告错误或建议新功能。
Scan to join WeChat group