ONOS MCP Server

ONOS MCP Server

site icon
2025.04.09 2
Python网络控制SDN管理网络分析网络服务开发效率
ONOS MCP Server 是一个基于 ONOS SDN 控制器的模型上下文协议(MCP)服务器实现,提供网络控制和管理功能。它通过 ONOS 的 REST API 实现程序化访问网络管理、OpenFlow 设备控制和全面分析。适用于教育环境、网络原型设计和 SDN 研究。
View on GitHub

Overview

基本能力

产品定位

ONOS MCP Server 是一个专为 ONOS SDN 控制器设计的网络管理和控制工具,提供丰富的网络资源访问和管理功能。

核心功能

  1. 网络资源管理:提供超过 30 种动态资源,包括设备、链接、主机、拓扑、应用程序、流表、统计信息等。
  2. 专业提示:提供 9 种专业提示,用于网络问题诊断、流设计、意图配置、网络健康报告、SDN 迁移规划等。
  3. 工具集:提供超过 20 种工具,包括网络管理、应用程序管理、网络配置等。

适用场景

  1. 教育环境:用于教学和实验,帮助学生理解 SDN 和网络管理。
  2. 网络原型设计:快速构建和测试网络原型。
  3. SDN 研究:支持 SDN 相关的研究和开发。

工具列表

  1. 网络管理工具
  2. get_network_summary:获取网络摘要。
  3. get_network_analytics:获取网络性能分析。
  4. get_system_health:获取系统健康信息。
  5. 应用程序管理工具
  6. install_application:安装 ONOS 应用程序。
  7. activate_application:激活应用程序。
  8. deactivate_application:停用应用程序。
  9. remove_application:卸载应用程序。
  10. 网络配置工具
  11. add_flow:添加流规则。
  12. remove_flow:删除流规则。
  13. add_intent:添加主机到主机的意图。
  14. get_shortest_path:获取最短路径。

常见问题解答

  1. 如何配置 ONOS API 访问
  2. 通过环境变量 ONOS_API_BASEONOS_USERNAMEONOS_PASSWORD 配置。
  3. 如何安装应用程序
  4. 使用 install_application 工具,提供 OAR 文件的 URL。

使用教程

使用依赖

  1. Python 3.7+
  2. uv
  3. ONOS 控制器(运行且可访问)
  4. httpx 库
  5. mcp 库

安装教程

  1. 克隆或下载服务器代码。
  2. 配置 claude_desktop_config.json 文件,添加服务器配置: json { "mcpServers": { "onos": { "command": "uv", "args": [ "--directory", "parent_of_servers_repo/servers/src/onos-mcp-server", "run", "server.py" ], "env": { "ONOS_API_BASE": "http://localhost:8181/onos/v1", "ONOS_USERNAME": "onos", "ONOS_PASSWORD": "rocks" } } } }
  3. 确保所有依赖项已安装。

调试方式

  1. 启动服务器后,使用提供的工具进行网络管理和配置。
  2. 检查环境变量是否正确配置。
  3. 使用 ONOS REST API 进行验证。

许可证

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