内容
# POX MCP 服务器
## 概述
一个模型上下文协议(MCP)服务器实现,通过 POX SDN 控制器提供网络控制和管理能力。该服务器通过 POX 的模块化架构实现了基于 Python 的网络编程、OpenFlow 设备管理和自动化的网络分析。非常适合教育环境、网络原型设计和 SDN 研究。
## 组件
### 资源
服务器暴露了两个动态资源:
- `pox://network-config`: 一个全面的 POX 控制器配置备忘录
- 跟踪活跃的 POX 组件及其配置
- 记录网络拓扑和流规则
- 维护已发现的网络洞察
- `pox://topology`: 实时网络拓扑视图
- 显示活跃的 OpenFlow 数据路径(交换机)
- 映射主机位置和连接
- 显示链路状态和端口映射
### 提示
服务器提供了三个专门的提示:
- `pox-network-manager`: POX 控制器管理的交互式提示
- 需要参数:`topic` - 要关注的网络控制方面
- 帮助配置 POX 组件和模块
- 指导网络策略实施
- 与网络配置备忘录集成
- `simple-hub`: 使用 POX 的基本 L2 集线器实现
- 需要参数:`dpid` - 数据路径标识符
- 演示 POX 的事件驱动编程
- 显示基本的数据包处理和泛洪
- 解释 POX 的核心机制
- `learning-switch`: L2 学习交换机实现
- 需要参数:`dpid` - 数据路径标识符
- 展示 POX 的表格管理
- 实现 MAC 学习和转发
- 演示 POX 的数据包处理能力
### 工具
服务器提供了五个核心工具:
#### 数据路径管理工具
- `get_switches`
- 列出所有连接的 OpenFlow 数据路径
- 无需输入
- 返回:由 POX 控制的活跃交换机的数组
- 包括连接状态和能力
- `get_switch_desc`
- 获取详细的数据路径信息
- 输入:
- `dpid`(字符串):数据路径标识符
- 返回:POX 管理的交换机详细信息和功能
#### 流管理工具
- `get_flow_stats`
- 检索 POX 流统计信息
- 输入:
- `dpid`(字符串):数据路径标识符
- `match`(对象,可选):POX 匹配结构
- `table_id`(字符串,可选):OpenFlow 表 ID
- `out_port`(字符串,可选):输出端口过滤器
- 返回:包括数据包计数的 POX 流统计信息
- `set_table`
- 配置 POX 流表格
- 输入:
- `dpid`(字符串):数据路径标识符
- `flows`(数组):POX 流规格
- 返回:流表格更新确认
#### 分析工具
- `append_insight`
- 将网络洞察添加到 POX 配置备忘录
- 输入:
- `insight`(字符串):网络观察或分析
- 返回:洞察添加确认
- 更新 pox://network-config 资源
## 与 Claude Desktop 一起使用
### uv
```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"
}
}
}
}
```
## 许可证
该 MCP 服务器根据 MIT 许可证授权。这意味着您可以自由使用、修改和分发该软件,但需遵守 MIT 许可证的条款和条件。有关更多详细信息,请参阅项目存储库中的 LICENSE 文件。
## 贡献
欢迎贡献!请随时提交拉取请求、报告错误或建议新功能。