使用说明

项目简介

onos-mcp-server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在桥接大型语言模型 (LLM) 应用与 ONOS SDN 控制器。通过此服务器,LLM 客户端能够以标准化的方式访问和操作 ONOS 控制的网络资源,执行网络管理工具,并利用预定义的 Prompt 模板进行更智能的网络交互。

主要功能点

  • 资源 (Resources):提供对 ONOS SDN 控制器中网络信息的访问,例如设备、链路、主机、拓扑、应用、流表、指标等,允许 LLM 获取实时的网络状态和配置数据。
  • 工具 (Tools):集成了一系列网络管理工具,如获取网络摘要、安装/激活/卸载应用、添加/删除流规则、查询最短路径、获取网络分析、系统健康检查等,使 LLM 能够执行网络操作和自动化任务。
  • Prompt 模板 (Prompts):预置了多种网络诊断、设计和配置相关的 Prompt 模板,例如网络问题诊断、网络流设计、意图网络配置、网络健康报告等,辅助 LLM 进行更有效的网络管理对话和任务执行。

安装步骤

  1. 环境准备:确保已安装 Python 3.7 或更高版本。
  2. 安装依赖库:使用 pip 安装项目所需的 Python 库:
    pip install mcp httpx
  3. 配置 ONOS 连接:设置环境变量以连接到您的 ONOS SDN 控制器。您需要配置 ONOS API 的基础 URL、用户名和密码。

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)配合使用,您需要在客户端的配置文件中添加服务器信息。以下是一个 'claude_desktop_config.json' 示例配置,用于连接到 onos-mcp-server:

{
  "mcpServers": {
    "onos": {
      "command": "python",
      "args": [
        "src/onos-mcp-server/server.py"
      ],
      "env": {
        "ONOS_API_BASE": "http://localhost:8181/onos/v1", // ONOS API 基础 URL,请根据实际情况修改
        "ONOS_USERNAME": "onos",        // ONOS API 用户名,默认为 onos
        "ONOS_PASSWORD": "rocks"         // ONOS API 密码,默认为 rocks
      }
    }
  }
}

配置参数说明

  • 'server name':'onos',服务器名称,可以自定义。
  • 'command':'python',启动服务器的命令,这里使用 python 解释器。
  • 'args':'["src/onos-mcp-server/server.py"]',启动服务器脚本的路径和参数。
  • 'env':环境变量配置,用于设置 ONOS API 的连接信息:
    • 'ONOS_API_BASE': ONOS API 的基础 URL。
    • 'ONOS_USERNAME': 连接 ONOS API 的用户名。
    • 'ONOS_PASSWORD': 连接 ONOS API 的密码。

请确保根据您的 ONOS 环境配置 'ONOS_API_BASE', 'ONOS_USERNAME', 和 'ONOS_PASSWORD' 环境变量。

基本使用方法

  1. 启动 onos-mcp-server:在安装好依赖并配置好环境变量后,通过 MCP 客户端配置文件中指定的命令启动服务器。
  2. 在 MCP 客户端中选择配置的 "onos" 服务器。
  3. 使用 LLM 客户端,通过自然语言指令调用服务器提供的资源、工具或 Prompt,与 ONOS 控制的网络进行交互,实现网络信息的查询、网络操作的执行以及智能化的网络管理任务。

例如,您可以指示 LLM 客户端使用 'get_network_summary' 工具来获取网络设备的摘要信息,或者使用 'diagnose-network-issue' Prompt 来辅助诊断网络问题。

信息

分类

桌面与硬件