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 文件。
🤝 贡献
欢迎贡献!请随时提交拉取请求、报告错误或建议新功能。
Scan to join WeChat group