关于 Onos Mcp Server
这是面向 ONOS SDN 控制器的 MCP 服务,供需要查看和管理网络基础设施的 AI Agent 使用。它提供应用、设备、主机和流表的查询与操作,并可新增流规则。
主要功能
- 01查看与管理 ONOS 应用
- 02查询网络设备信息
- 03发现主机及其地址关联
- 04查看和筛选流表
- 05新增网络流规则
适用场景
- 01监控 ONOS 网络设备与主机
- 02检查特定设备的流表
- 03激活或停用 ONOS 应用
- 04向设备添加流规则
MCP 相关
该服务将 ONOS 控制器中的应用、设备、主机和流表操作作为工具提供给 MCP 客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ONOS MCP Server
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_HOST | ONOS 控制器的 URL | http://localhost:8181 |
ONOS_CONTROLLER_USERNAME | ONOS 用户(需要 REST 访问权限) | onos |
ONOS_CONTROLLER_PASSWORD | ONOS 密码 | 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 用 ❤️ 创建
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。