使用说明

项目简介

Higress OPS MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 LLM (大型语言模型) 应用提供配置和管理 Higress API 网关的能力。通过标准化的 MCP 协议,LLM Agent 可以安全、可扩展地访问 Higress 的配置信息和管理功能,实现自动化运维和智能化管理。

主要功能点

  • 资源管理: 提供对 Higress 路由、服务源、插件等核心配置资源的访问和管理能力。
  • 工具注册: 内置丰富的工具集,支持 LLM Agent 通过自然语言指令调用 Higress 的各项管理功能,例如:
    • 查询路由列表、路由详情
    • 添加、更新路由
    • 查询服务源列表、服务源详情
    • 添加、更新服务源
    • 更新请求拦截插件配置
    • 查询插件信息
  • 安全可控: 支持敏感操作的人工确认机制,确保重要配置变更的安全性和可控性。
  • 易于扩展: 采用插件式工具注册机制,方便用户根据自身需求扩展 Higress 管理功能。
  • 客户端示例: 提供基于 LangGraph 和 LangChain MCP Adapters 构建的 MCP 客户端示例,方便用户快速上手和集成。

安装步骤

  1. 克隆仓库

    git clone https://github.com/higress-group/higress-ops-mcp-server.git
    cd higress-ops-mcp-server
  2. 配置环境变量 复制 '.env.example' 文件为 '.env',并根据您的 Higress 环境填写以下环境变量:

    • 'HIGRESS_URL': Higress Console API 的访问地址,例如 'http://localhost:8001'。
    • 'HIGRESS_USERNAME': 访问 Higress Console API 的用户名。
    • 'HIGRESS_PASSWORD': 访问 Higress Console API 的密码。
    • 'OPENAI_API_KEY' 和 'OPENAI_API_BASE' (可选): 如果您希望使用客户端示例中的 LLM Agent 功能,需要配置 OpenAI API 相关的环境变量。
  3. 启动 MCP 服务器 MCP 服务器可以通过以下命令启动(默认使用 stdio 传输协议):

    uv run server.py

服务器配置

MCP 服务器需要以下配置信息才能被 MCP 客户端连接和使用。以下是配置示例 (JSON 格式),您需要将其提供给 MCP 客户端:

{
  "server_name": "higress-mcp-server",
  "command": "python",
  "args": [
    "server.py",
    "--username", "<your_higress_username>",  // 请替换为您的 Higress 用户名
    "--password", "<your_higress_password>",  // 请替换为您的 Higress 密码
    "--higress-url", "<your_higress_url>"    // 请替换为您的 Higress API URL,默认为 http://localhost:8001
  ]
}

参数说明:

  • 'server_name': MCP 服务器的名称,可以自定义。
  • 'command': 启动 MCP 服务器的命令,这里是 'python'。
  • 'args': 传递给 'server.py' 脚本的参数列表,包括:
    • '--username': 访问 Higress API 的用户名。
    • '--password': 访问 Higress API 的密码。
    • '--higress-url': Higress API 的 URL 地址。

基本使用方法

  1. 启动 MCP 服务器 (参考 安装步骤-启动 MCP 服务器)

  2. 启动 MCP 客户端 客户端示例可以通过以下命令启动:

    uv run client.py
  3. 与 Agent 交互 在客户端终端,您可以输入自然语言指令来管理 Higress。例如:

    • 'List all routes' (列出所有路由)
    • 'Get route route-example' (获取名为 route-example 的路由详情)
    • 'Add a new service source named my-service-source of type dns with domain example.com and port 443 and protocol https' (添加一个新的 DNS 服务源)
    • ... 等等。

    对于需要人工确认的敏感操作(例如添加、更新路由等),Agent 会在执行前请求用户确认。

信息

分类

开发者工具