mcpField
O
Onos Mcp Server

Onos Mcp Server

本地服务
github.com/ortega-kb云与基础设施05 周前更新

关于 Onos Mcp Server

这是面向 ONOS SDN 控制器的 MCP 服务,供需要查看和管理网络基础设施的 AI Agent 使用。它提供应用、设备、主机和流表的查询与操作,并可新增流规则。

主要功能

  1. 01查看与管理 ONOS 应用
  2. 02查询网络设备信息
  3. 03发现主机及其地址关联
  4. 04查看和筛选流表
  5. 05新增网络流规则

适用场景

  1. 01监控 ONOS 网络设备与主机
  2. 02检查特定设备的流表
  3. 03激活或停用 ONOS 应用
  4. 04向设备添加流规则

MCP 相关

该服务将 ONOS 控制器中的应用、设备、主机和流表操作作为工具提供给 MCP 客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

ONOS MCP Server

Spring Boot Java 21 MCP

ONOS MCP Server 是 Model Context Protocol(MCP) 与 Open Network Operating System(ONOS) 之间的强大桥梁。它使 AI 模型能够直接与您的 SDN(软件定义网络)基础设施交互,从而实现智能网络管理、监控和自动化。


功能特性

  • 应用管理:列出、检查、激活和停用 ONOS 应用。
  • 设备清单:详细查看交换机、路由器和其他网络实体。
  • 主机发现:跟踪终端节点、其位置以及 IP/MAC 关联信息。
  • 流量控制:全面查看和控制网络流(列出流、按设备筛选以及添加新流)。
  • 无缝集成:基于 Spring Boot 和 Spring AI MCP 构建,性能可靠,可用于生产环境。

前置条件

  • Java 21 或更高版本。
  • Maven 3.9+(或使用随附的 ./mvnw)。
  • 正在运行的 ONOS Controller 实例(建议使用 v2.x 或更高版本)。

配置

该服务通过 REST API 连接到 ONOS。您可以在 src/main/resources/application.yaml 中配置连接详细信息,也可以通过环境变量配置。

onos:
    controller:
        host: ${ONOS_CONTROLLER_HOST:http://localhost:8181}
        username: ${ONOS_CONTROLLER_USERNAME:onos}
        password: ${ONOS_CONTROLLER_PASSWORD:rocks}
环境变量
变量描述默认值
ONOS_CONTROLLER_HOSTONOS 控制器的 URLhttp://localhost:8181
ONOS_CONTROLLER_USERNAMEONOS 用户(需要 REST 访问权限)onos
ONOS_CONTROLLER_PASSWORDONOS 密码rocks

快速开始

1. 构建项目
./mvnw clean install
2. 运行服务
./mvnw spring-boot:run

连接到 MCP 客户端

若要将此服务与 MCP 客户端(例如 Claude Desktop 或 Antigravity)配合使用,请将以下配置添加到您的 mcp_config.json(或等效的配置文件)中:

{
  "mcpServers": {
    "onos-mcp-server": {
      "command": "java",
      "args": [
        "-jar",
        "/path/to/onos-mcp-server.jar"
      ],
      "env": {
        "ONOS_CONTROLLER_HOST": "http://localhost:8181",
        "ONOS_CONTROLLER_USERNAME": "onos",
        "ONOS_CONTROLLER_PASSWORD": "rocks"
      }
    }
  }
}

说明

请先使用 ./mvnw clean install 构建项目,以便在 target/ 目录中生成 JAR 文件。


可用的 MCP 工具

该服务向 AI 模型提供多个工具:

应用
  • list-applications:列出所有已安装应用及其状态。
  • get-application:获取特定应用的详细信息。
  • activate-application:按名称激活特定应用。
  • deactivate-application:停用特定应用。
设备
  • list-devices:获取所有设备(交换机、路由器)的列表。
  • get-device:获取特定设备的详细信息。
主机
  • list-hosts:列出所有已发现的终端节点主机。
  • get-host:获取特定主机的详细信息。
流
  • list-flows:列出所有网络流。
  • list-device-flows:列出特定设备的流。
  • add-flow:向设备推送新的流规则。

技术栈

  • 核心:Java 21、Spring Boot 3.5.9
  • AI/MCP:Spring AI Starter MCP Server
  • REST 客户端:Spring Cloud OpenFeign
  • 实用工具:Lombok

由 ortega-kb 用 ❤️ 创建

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。