ONOS MCP Server
一个模型上下文协议服务器,它通过 ONOS 的 REST API 提供对 ONOS SDN 控制器网络管理功能的编程访问,从而实现设备控制、拓扑管理和分析。
README
ONOS MCP 服务器
概述
一个模型上下文协议 (MCP) 服务器实现,通过 ONOS SDN 控制器提供网络控制和管理功能。该服务器通过 ONOS 的 REST API 实现对 ONOS 网络管理、OpenFlow 设备控制和全面分析的程序化访问。非常适合教育环境、网络原型设计以及使用 ONOS 的 SDN 研究。
组件
资源
该服务器公开了 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/*: 端口、流和表的各种统计资源onos://network/configuration: 整个网络配置onos://configuration: 组件配置- 还有更多用于全面访问 ONOS 系统
提示
该服务器提供九个专门的提示:
-
diagnose-network-issue: 用于诊断网络问题的交互式提示- 帮助识别连接问题和服务降级
- 分析网络症状和变化
- 建议有针对性的解决方案
-
design-network-flow: 协助设计和实施网络流- 帮助创建流量隔离、负载平衡和安全策略
- 指导源/目标流的创建
- 支持特定的路由要求
-
configure-intent-based-networking: 支持基于意图的网络- 指导连接目标实施
- 帮助进行流量优先级排序
- 协助进行弹性和故障转移配置
-
network-health-report: 全面的网络状态分析- 提供设备可用性报告
- 提供流和意图统计信息
- 识别瓶颈和性能问题
-
sdn-migration-planning: 使用 ONOS 进行 SDN 迁移的规划- 帮助评估当前架构
- 指导完成迁移目标和优先级
- 制定分阶段实施策略
-
system-health-check: ONOS 的系统级诊断- 分析资源利用率
- 报告集群状态
- 评估组件健康状况
-
metrics-analysis: 对 ONOS 指标的深入分析- 识别性能瓶颈
- 突出显示异常
- 推荐优化
-
qos-configuration: 服务质量实施指南- 帮助确定流量类型优先级
- 协助提供带宽和延迟保证
- 创建基于类的服务级别
-
performance-tuning: ONOS 部署的优化- 解决性能问题
- 增强资源分配
- 改进架构以实现扩展
工具
该服务器提供 20 多个强大的工具,包括:
网络管理工具
-
get_network_summary- 获取网络的高级摘要,包括设备、链路和主机
- 无需输入
- 返回包含设备详细信息的全面网络概述
-
get_network_analytics- 获取有关网络性能、利用率和健康状况的分析
- 无需输入
- 返回详细的性能指标和利用率统计信息
-
get_system_health- 获取全面的系统健康信息,包括内存使用情况和集群状态
- 无需输入
- 返回包含内存利用率和节点状态的详细健康报告
应用程序管理工具
-
install_application- 从 OAR 文件 URL 安装新的 ONOS 应用程序
- 输入:
app_file_url(字符串) - 返回安装状态
-
activate_application- 激活 ONOS 应用程序
- 输入:
app_name(字符串) - 返回激活状态
-
deactivate_application- 停用 ONOS 应用程序
- 输入:
app_name(字符串) - 返回停用状态
-
remove_application- 卸载 ONOS 应用程序
- 输入:
app_name(字符串) - 返回删除状态
网络配置工具
-
add_flow- 向设备添加流规则
- 输入:设备 ID、优先级、超时等
- 返回流添加状态
-
remove_flow- 从设备中删除流规则
- 输入:设备 ID 和流 ID
- 返回删除状态
-
add_intent- 添加主机到主机的意图
- 输入:应用程序 ID、优先级、源和目标主机
- 返回意图创建状态
-
get_shortest_path- 查找两个设备或主机之间的最短路径
- 输入:源和目标 ID
- 返回详细的路径信息
其他工具
用于设备配置、QoS 管理、诊断等的其他工具。
与 Claude Desktop 一起使用
# 将服务器添加到您的 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"
}
}
}
}
要求
- 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)
许可证
此 MCP 服务器在 MIT 许可证下获得许可。 这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。 有关更多详细信息,请参阅项目存储库中的 LICENSE 文件。
贡献
欢迎贡献! 请随时提交拉取请求、报告错误或建议新功能。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。