使用说明

项目简介

Ruijie AC MCP Server 是一个 MCP 服务器的实现,它通过 Model Context Protocol (MCP) 协议与 LLM 客户端通信,对外提供 Ruijie 无线网络控制器 (AC) 的管理和信息查询功能。目前主要聚焦于无线接入点 (AP) 的信息查询,未来可能扩展更多网络管理功能。

主要功能点

  • AP 信息查询: 通过 'query_access_point' 工具,允许 LLM 客户端根据多种条件(如名称、MAC地址、IP地址、位置、状态等)查询 Ruijie 无线接入点的详细信息。
  • 基于 MCP 协议: 遵循 MCP 协议标准,易于与支持 MCP 协议的 LLM 客户端集成。
  • 可扩展性: 采用 Source Generator 技术,方便扩展和注册更多的管理工具和 Prompt 模板 (虽然当前仓库中仅包含 Tool 功能)。
  • 标准 Stdio 传输: 使用标准的 Stdio (标准输入输出) 作为 MCP 服务器的传输协议,易于部署和集成。
  • 安全认证: 通过用户名密码和证书进行身份验证,保障访问安全。

安装步骤

  1. 安装 .NET SDK: 确保您的开发环境中已安装 .NET SDK (建议 7.0 或更高版本)。您可以从 官方 .NET 下载页面 获取并安装。
  2. 下载代码: 从 GitHub 仓库 RuijieAC.MCP 下载源代码。您可以直接下载 ZIP 文件或使用 'git clone' 命令克隆仓库。
  3. 编译项目: 打开命令行终端,导航到项目根目录 (包含 'RuijieAC.MCP.sln' 文件的目录),执行以下命令编译项目:
    dotnet build
  4. 运行服务器: 编译成功后,在项目根目录下执行以下命令运行 MCP 服务器:
    dotnet run
    服务器默认使用 Stdio 作为传输协议,并监听标准输入和输出。

服务器配置

MCP 服务器需要连接到 Ruijie 无线网络控制器 (AC) 才能工作。您需要配置以下信息,以便服务器能够正确连接和认证:

MCP 客户端配置 (JSON 示例):

{
  "servers": [
    {
      "name": "ruijie-ac-mcp",
      "command": "dotnet",
      "args": [
        "run",
        "--project",
        "./RuijieAC.MCP/RuijieAC.MCP.csproj"
      ],
      "env": {
        "Controller__Url": "https://your_ac_controller_ip_or_domain",
        "Controller__Username": "your_ac_username",
        "Controller__Password": "your_ac_password",
        "Controller__CertFilePath": "path/to/cert.crt"
      }
    }
  ]
}

配置参数说明:

  • 'servers[].name': 服务器名称,您可以自定义,用于在 MCP 客户端中标识该服务器。例如: '"ruijie-ac-mcp"'。
  • 'servers[].command': 启动 MCP 服务器的命令。由于项目是 .NET 应用,这里使用 'dotnet'。
  • 'servers[].args': 传递给 'dotnet' 命令的参数。
    • '"run"': 表示运行 .NET 项目。
    • '"--project", "./RuijieAC.MCP/RuijieAC.MCP.csproj"': 指定要运行的 .NET 项目文件路径。请根据实际情况调整路径,如果 MCP 客户端的工作目录与 'RuijieAC.MCP.csproj' 文件在同一目录下,则可以使用相对路径。
  • 'servers[].env': 重要: 通过环境变量配置连接 Ruijie AC 控制器的参数。
    • 'Controller__Url': 必需: Ruijie AC 控制器的 URL 地址,例如 '"https://192.168.1.1"' 或 '"https://ac.example.com"'。请替换为您的实际 AC 控制器地址
    • 'Controller__Username': 必需: 用于登录 Ruijie AC 控制器的用户名。请替换为您的实际用户名
    • 'Controller__Password': 必需: 用于登录 Ruijie AC 控制器的密码。请替换为您的实际密码
    • 'Controller__CertFilePath': 必需: Ruijie AC 控制器 SSL 证书文件的路径。请替换为您的实际证书文件路径。 证书文件 'cert.crt' 应该放在 MCP 服务器可以访问到的位置。如果证书文件与 MCP 服务器程序在同一目录,可以使用相对路径 '"cert.crt"'。

注意:

  • 请确保 Ruijie AC 控制器已启用 HTTPS 访问。
  • 请将 'path/to/cert.crt' 替换为实际的证书文件路径。您可以从 Ruijie AC 控制器导出 SSL 证书,并保存为 'cert.crt' 文件。
  • 强烈建议不要将密码直接硬编码在配置文件中,而是使用更安全的方式管理密码,例如环境变量或密钥管理工具。示例配置中使用环境变量 'Controller__Password' 仅为演示目的。

基本使用方法

  1. 启动 MCP 服务器: 按照 "运行服务器" 步骤启动 Ruijie AC MCP Server。
  2. 配置 MCP 客户端: 在您的 LLM 应用 (MCP 客户端) 中,配置连接到 Ruijie AC MCP Server。配置信息参考 "服务器配置" 中的 JSON 示例。
  3. 调用 Tool: 在 LLM 应用中,您可以使用 'query_access_point' 工具查询无线接入点信息。例如,您可以向 LLM 发送指令,要求查询名称包含 "office" 的接入点。

'query_access_point' 工具参数说明:

| 参数名 | 类型 | 描述 | |--------------|---------|-----------------------------------------------------------------------------------------------------| | 'name' | string | AP 名称,支持模糊搜索。如果为空则忽略此条件。 | | 'mac' | string | AP MAC 地址,支持模糊搜索。如果为空则忽略此条件。 | | 'ip' | string | AP IP 地址,支持模糊搜索。如果为空则忽略此条件。 | | 'location' | string | AP 位置信息,支持模糊搜索。如果为空则忽略此条件。 | | 'state' | string | AP 状态,允许值:'"Run"' (运行), '"Quit"' (离线)。如果为空则忽略此条件。 | | 'start' | integer | 查询范围的起始索引 (1-based),默认为 1。 | | 'end' | integer | 查询范围的结束索引 (包含),建议使用 20。默认为 20。 'end' 必须大于等于 'start'。 |

示例 Tool 调用 (MCP 客户端发送的 JSON-RPC 请求):

{
  "jsonrpc": "2.0",
  "method": "call",
  "params": {
    "tool": "query_access_point",
    "arguments": {
      "name": "office",
      "state": "Run"
    }
  },
  "id": "1"
}

此请求将调用 'query_access_point' 工具,并传递参数 'name: "office"' 和 'state: "Run"',查询名称包含 "office" 且状态为 "Run" 的无线接入点信息。服务器将返回 JSON 格式的 AP 信息列表作为响应。

信息

分类

桌面与硬件