SDN网络控制服务器

一个基于POX SDN控制器的模型上下文协议(MCP)服务器实现,提供Python网络编程、OpenFlow设备管理和自动化网络分析功能,适用于教育环境、网络原型设计和SDN研究。

  • by davidlin2k
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 davidlin2k/pox-mcp-server

使用说明

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 (string):数据路径标识符
    • 返回:POX管理交换机的详细信息和功能

流管理工具

  • get_flow_stats

    • 检索POX流量统计信息
    • 输入:
      • dpid (string):数据路径标识符
      • match (对象,可选):POX匹配结构
      • table_id (字符串,可选):OpenFlow表ID
      • out_port (字符串,可选):输出端口筛选器
    • 返回:POX流统计数据,包括数据包计数
  • set_table

    • 配置POX流表
    • 输入:
      • dpid (string):数据路径标识符
      • flows (数组):POX流量规格
    • 返回:流表更新确认

分析工具

  • append_insight
    • 在POX配置备忘录中添加网络见解
    • 输入:
      • insight (string):网络观察或分析
    • 返回:Insight添加确认
    • 更新pox://network-config资源

使用Claude Desktop

紫外线

{
  "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文件。

贡献

欢迎投稿!请随时提交拉取请求、报告错误或建议新功能。