ONOS MCP Server

ONOS MCP Server

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

Overview

基本能力

产品定位

ONOS MCP Server 是一个基于 ONOS SDN 控制器的模型上下文协议(MCP)服务器实现,提供网络控制和管理能力。

核心功能

  • 提供程序化访问 ONOS 网络管理的能力
  • 支持 OpenFlow 设备控制
  • 提供全面的网络分析功能
  • 通过 ONOS 的 REST API 进行交互

适用场景

  • 教育环境
  • 网络原型设计
  • SDN 研究

工具列表

网络管理工具

  • get_network_summary: 获取网络的高级摘要,包括设备、链接和主机
  • get_network_analytics: 获取网络性能、利用率和健康状况的分析
  • get_system_health: 获取包括内存使用和集群状态在内的全面系统健康信息

应用管理工具

  • install_application: 从 OAR 文件 URL 安装新的 ONOS 应用
  • activate_application: 激活 ONOS 应用
  • deactivate_application: 停用 ONOS 应用
  • remove_application: 卸载 ONOS 应用

网络配置工具

  • add_flow: 向设备添加流规则
  • remove_flow: 从设备移除流规则
  • add_intent: 添加主机到主机的意图
  • get_shortest_path: 查找两个设备或主机之间的最短路径

常见问题解答

无明确常见问题解答部分。

使用教程

使用依赖

  • Python 3.7+
  • uv
  • ONOS 控制器(运行并可访问)
  • httpx 库
  • mcp 库

安装教程

  1. 确保已安装 Python 3.7+ 和 uv
  2. 安装 httpx 和 mcp 库
  3. 配置环境变量:
  4. ONOS_API_BASE: ONOS API 的基础 URL(默认:http://localhost:8181/onos/v1)
  5. ONOS_USERNAME: ONOS API 认证的用户名(默认:onos)
  6. ONOS_PASSWORD: ONOS API 认证的密码(默认:rocks)

调试方式

将服务器添加到 claude_desktop_config.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"
      }
    }
  }
}

许可证

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