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 クライアントも含まれ、エージェントフローを通じてサーバーと対話できます。MCP 経由で Higress を管理する開発者を対象としています。

主な機能

  1. 01MCP による Higress の設定と管理
  2. 02ルートやサービスソースなどのツールクラス
  3. 03機密性の高い書き込み操作での人による確認
  4. 04LangGraph で構築されたクライアント例

活用シーン

  1. 01MCP クライアントからの Higress ルートとサービスソースの管理
  2. 02エージェントフローでの Higress 設定ツールの呼び出し
  3. 03新しい Higress 管理ツールによるサーバーの拡張

MCP 対応

本プロジェクトは、Higress の設定と管理のツールを MCP クライアントに提供する MCP サーバーです。LangGraph と LangChain MCP Adapters による MCP クライアントの例も含みます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Higress OPS MCP サーバー

Higress の包括的な設定と管理を可能にする、Model Context Protocol(MCP)サーバーの実装です。このリポジトリには、LangGraph と LangChain MCP Adapters をベースに構築された MCP クライアントも含まれており、適切に設計されたエージェントフローアーキテクチャを通じて 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 に新しいメソッドを追加します

  • API 呼び出しをカプセル化するメソッドを utils/higress_client.py に追加します
  • 実際の API 通信には、既存の HTTP メソッド(get、put、post)を使用します
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
]

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。