返回 MCP 目录
public公开dns本地运行

davidlin2k_onos-mcp-server

一个基于ONOS控制器的MCP服务实现,提供网络控制与管理功能,支持通过REST API访问设备、拓扑、流表等30+资源,包含9种诊断配置提示和20+网络管理工具,适用于SDN教学、研究和原型开发。

article

README

🚀 ONOS MCP 服务器

这是一个基于 ONOS SDN 控制器实现的模型上下文协议 (MCP) 服务器。它借助 ONOS 的 REST API 提供网络控制和管理功能,涵盖 OpenFlow 设备控制与全面分析。此服务器非常适合用于教育环境、网络原型设计以及 ONOS 研究。

🚀 快速开始

要求

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

配置

服务器使用以下环境变量:

  • ONOS_API_BASE:ONOS API 的基础 URL(默认值:http://localhost:8181/onos/v1)
  • ONOS_USERNAME:ONOS API 认证的用户名(默认值:onos)
  • 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"
      }
    }
  }
}

✨ 主要特性

组件

资源

该服务器公开了超过 30 个动态资源,包括:

  • onos://devices:所有网络设备的信息
  • onos://device/{deviceId}:特定设备的详细信息
  • onos://links:所有网络链路的信息
  • onos://hosts:所有连接到网络的主机信息
  • onos://topology:当前网络拓扑的概述
  • onos://applications:所有已安装的应用程序信息
  • onos://flows/{deviceId}:特定设备的所有流条目
  • onos://system:系统级别的高阶信息,包括版本和内存使用情况
  • onos://metrics:所有度量的统计信息
  • onos://meters/{deviceId}:特定设备的所有速率限制器条目
  • onos://intents:系统中的所有意图
  • onos://statistics/*:端口、流和速率限制器的统计信息
  • 其他资源用于设备配置、QoS 管理和其他诊断任务

提示

该服务器提供以下交互式提示:

  • 网络管理:通过特定命令查看和操作网络拓扑。
  • 设备控制:对设备进行配置和监控,如查看端口状态。
  • 流量分析:分析网络流量并生成报告。
  • QoS 管理:配置和服务质量 (QoS) 设置以优化网络性能。
  • 故障排除:诊断网络问题,收集日志和错误信息。

工具

该服务器提供以下工具:

  • 网络管理工具:用于拓扑分析、路径计算和设备监控。
  • 应用管理工具:用于安装、升级和卸载应用程序。
  • 配置工具:对设备和服务进行详细配置。
  • 诊断工具:用于故障排除和性能优化。

📄 许可证

该 MCP 服务器根据 MIT 许可证发布。这意味着您可以自由使用、修改和分发软件,但需遵守 MIT 许可证的条款和条件。有关详细信息,请参阅项目存储库中的 LICENSE 文件。

🤝 贡献

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

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端