mcpField
H
Higress OPS MCP Server

Higress OPS MCP Server

本地服务
github.com/higress-group云与基础设施2383 周前更新

关于 Higress OPS MCP Server

Higress OPS MCP Server 是用于配置和管理 Higress 的 MCP 服务实现。仓库还提供基于 LangGraph 与 LangChain MCP Adapters 构建的 MCP 客户端,通过 Agent 流程与该服务交互。面向需要通过 MCP 管理 Higress 的开发者。

主要功能

  1. 01通过 MCP 配置和管理 Higress
  2. 02路由、服务来源等工具分类注册
  3. 03敏感写操作需人工确认
  4. 04基于 LangGraph 的示例客户端

适用场景

  1. 01通过 MCP 客户端管理 Higress 路由与服务来源
  2. 02在 Agent 流程中调用 Higress 配置工具
  3. 03扩展新的 Higress 管理工具

MCP 相关

该项目是 MCP 服务,向 MCP 客户端提供 Higress 配置和管理的工具。同时附带一个基于 LangGraph 与 LangChain MCP Adapters 的 MCP 客户端示例。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Higress OPS MCP 服务

一种 Model Context Protocol(MCP)服务实现,可用于全面配置和管理 Higress。此仓库还提供了一个基于 LangGraph 和 LangChain MCP Adapters 构建的 MCP 客户端,通过设计完善的 Agent 流程架构与 Higress MCP 服务交互。

演示

https://github.com/user-attachments/assets/bae66b77-a158-452e-9196-98060bac0df7

配置环境变量

将 .env.example 文件复制为 .env,并填写对应的值。

启动 MCP 客户端和 MCP 服务

在 stdio 模式下,MCP 服务进程由 MCP 客户端程序启动。运行以下命令以启动 MCP 客户端和 MCP 服务:

uv run client.py

添加新工具

步骤 1:创建新的工具类或扩展现有工具类

  • 如果要添加全新的工具类别,请在 tools 目录中创建新文件
  • 如果工具属于现有类别,请将其添加到对应的现有类中
from typing import Dict, List, Any
from fastmcp import FastMCP

class YourTools:
    def register_tools(self, mcp: FastMCP):
        @mcp.tool()
        async def your_tool_function(arg1: str, arg2: int) -> List[Dict]:
            """
            Your tool description.
            
            Args:
                arg1: Description of arg1
                arg2: Description of arg2

            Returns:
                Description of the return value
            
            Raises:
                ValueError: If the request fails
            """
            # Implementation using self.higress_client to make API calls
            return self.higress_client.your_api_method(arg1, arg2)

步骤 2:如果工具需要与 Higress Console API 交互,请在 HigressClient 中添加新方法

  • 在 utils/higress_client.py 中添加封装 API 调用的方法
  • 使用现有的 HTTP 方法(get、put、post)进行实际的 API 通信
def your_api_method(self, arg1: str, arg2: int) -> List[Dict]:
    """
    Description of what this API method does.
    
    Args:
        arg1: Description of arg1
        arg2: Description of arg2
        
    Returns:
        Response data
        
    Raises:
        ValueError: If the request fails
    """
    path = "/v1/your/api/endpoint"
    data = {"arg1": arg1, "arg2": arg2}
    return self.put(path, data)  # or self.get(path) or self.post(path, data)

步骤 3:在服务中注册工具类

  • 将工具类添加到 server.py 中的 tool_classes 列表
  • ToolsRegister 使用此列表实例化并注册所有工具
  • ToolsRegister 会自动设置 logger 和 higress_client 属性
tool_classes = [
    CommonTools,
    RequestBlockTools,
    RouteTools,
    ServiceSourceTools,
    YourTools  # Add your tool class here
]

步骤 4:如果工具需要人工确认,请将其添加到 SENSITIVE_TOOLS

  • 执行此列表中的工具前,需要人工确认
# Define write operations that require human confirmation
SENSITIVE_TOOLS = [
    "add_route", 
    "add_service_source",
    "update_route",
    "update_request_block_plugin", 
    "update_service_source",
    "your_tool_function"  # Add your tool name here if it requires confirmation
]

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。