Nacos MCP Server

Official
by nacos-group
Apache 2.0
1
  • Linux
  • Apple

Integrations

  • Supports reading and parsing Markdown content in configuration files stored in Nacos.

  • Integrates with Nacos via Swagger Admin API (v3.x), allowing interaction with Nacos cluster configuration and service discovery features.

mcp-server-nacos: Nacos MCP サーバー

概要

Nacosは、動的なサービスの検出と構成、そしてサービス管理のために設計された、使いやすいプラットフォームです。クラウドネイティブアプリケーションとマイクロサービスプラットフォームを容易に構築できます。

このMCP(モデルコンテキストプロトコル)サーバーは、Nacosのインタラクションと自動化を目的としています。このサーバーは、大規模言語モデルを介してNacosクラスター内のnamespaceservice 、およびconfiguration関連情報を検索および読み取るためのツールを提供します。

mcp-server-nacos現在開発初期段階にあります。サーバーの開発と改良に伴い、機能と利用可能なツールは変更および拡張される可能性があります。また、 mcp-server-nacos現在のバージョンでは読み取り、検索、リスト操作のみをサポートしており、書き込み操作はサポートしていません。書き込み操作は将来のバージョンでサポートされる予定です。

このmcp-server-nacos必要なバージョンについてもう 1 つ注意すべき点があります。

1. Nacos version required upper `3.0.0`, because of depended on the [Nacos Admin API](https://nacos.io/en/swagger/admin/) in 3.x. 2. python version required 3.x, recommend upper `3.13`.

ツール

  1. list_namespaces
    • 現在の Nacos クラスター内の名前空間のリストを取得します。
    • 入力:
      • なし
    • 返される値: 現在の Nacos クラスター内の名前空間のリスト。
  2. list_services
    • このツールは、指定された名前空間の下にあるサービスのリストを取得します。レスポンスの形式は、 withInstancesパラメータによって異なります。withInstances withInstances=true :インスタンス( ServiceDetailInfoオブジェクト)を含むサービスの詳細を返します。withInstances withInstances=false :インスタンス( ServiceViewオブジェクト)を含まないサービスメタデータを返します。**注意:** withInstances=trueの場合、APIのメモリとネットワーク負荷が過度に高くなる可能性があります。少数のサービス、または1つのサービスのみを含むインスタンスリストを取得する場合は、 List Service InstanceswithInstances=false使用することをお勧めします。
    • 入力:
      • pageNo (数値): 現在のページ番号。デフォルトは 1 です。
      • pageSize (数値): 各ページのサービスのサイズ。デフォルトは 100 です。
      • namespaceId (文字列、オプション): サービスの namespaceId。指定されていない場合は、デフォルトはpublicです。
      • groupNameParam (文字列、オプション): サービスの groupName パターン。デフォルトは null で、存在しない場合はすべてのグループを意味します。
      • serviceNameParam (文字列、オプション): サービスの serviceName パターン。デフォルトは null で、存在しない場合はすべてのサービスを意味します。
      • ignoreEmptyService (bool、オプション): 結果内の空のサービスを無視するかどうか。デフォルトは true。
      • withInstances (bool、オプション): 結果の各サービスの下にインスタンスが含まれているかどうか。推奨。デフォルトは false。
    • 返される値: 指定された名前空間の下にあるサービスのリスト。
  3. get_service
    • このツールは、インスタンス リストを除くメタデータやクラスターなど、指定されたサービスの詳細情報を取得します。
    • 入力:
      • namespaceId (文字列、オプション): サービスの namespaceId。指定されていない場合は、デフォルトはpublicです。
      • groupName (文字列、オプション): サービスの groupName パターン。指定されていない場合は、デフォルトはDEFAULT_GROUPです。
      • serviceName (文字列): サービスの serviceName パターン (必須)。
    • 返される値: 指定されたサービスの詳細情報。
  4. list_service_instances
    • このツールは、指定されたサービスのインスタンスのリストを取得します。
    • 入力:
      • namespaceId (文字列、オプション): サービスの namespaceId。指定されていない場合は、デフォルトはpublicです。
      • groupName (文字列、オプション): サービスの groupName パターン。指定されていない場合は、デフォルトはDEFAULT_GROUPです。
      • serviceName (文字列): サービスの serviceName パターン (必須)。
      • clusterName (文字列、オプション): サービス内のインスタンスのクラスター名。オプションで、デフォルトは null で、すべてのクラスターに一致することを意味します。
    • 戻り値: 指定されたサービスのインスタンスのリスト。
  5. list_service_subscribers
    • このツールは、指定されたサービスの加入者のリストを取得します。
    • 入力:
      • pageNo (数値): 現在のページ番号。デフォルトは 1 です。
      • pageSize (数値): 各ページのサービス サブスクライバーのサイズ。デフォルトは 100 です。
      • namespaceId (文字列、オプション): サービスの namespaceId。指定されていない場合は、デフォルトはpublicです。
      • groupName (文字列、オプション): サービスの groupName パターン。指定されていない場合は、デフォルトはDEFAULT_GROUPです。
      • serviceName (文字列): サービスの serviceName パターン (必須)。
      • aggregation (bool、オプション): クラスター全体からの集約かどうか。
    • 返される値: 指定されたサービスの加入者のリスト。
  6. list_configs
    • このツールは、指定された名前空間の下にある構成のリストを取得します。
    • 入力:
      • pageNo (数値): 現在のページ番号。デフォルトは 1 です。
      • pageSize (数値): 各ページの構成のサイズ。デフォルトは 100 です。
      • namespaceId (文字列、オプション): 構成の namespaceId。指定されていない場合はデフォルトはpublicです。
      • groupName (文字列、オプション): 構成の groupName パターン。デフォルトの null はすべてのグループを意味します。
      • dataId (文字列、オプション): 構成の dataId パターン。デフォルトの null はすべて dataId を意味します。
      • type (文字列、オプション): 構成のタイプ。デフォルトの null はすべてのタイプを意味します。
      • configTags (文字列、オプション): 構成のタグ。デフォルトの null はすべてのタグを意味します。
      • appName (文字列、オプション): 構成の appName。デフォルトは null で、すべての appName を意味します。
      • search (文字列、オプション): リスト設定の検索方法。デフォルトは、 blur 、オプションの値はaccurate
    • 戻り値: 指定された名前空間の下にある構成のリスト。
  7. get_config
    • 指定された構成の詳細を取得します。
    • 入力:
      • namespaceId (文字列、オプション): 構成の namespaceId。指定されていない場合はデフォルトはpublicです。
      • groupName (文字列): 構成のグループ名。必須。
      • dataId (文字列): 構成の dataId。必須。
    • 返される値: 指定された構成の詳細。
  8. list_config_history
    • このツールは、構成の完全な公開履歴を取得します。
    • 入力:
      • pageNo (数値): 現在のページ番号。デフォルトは 1 です。
      • pageSize (数値): 各ページの構成履歴レコードのサイズ。デフォルトは 100 です。
      • namespaceId (文字列、オプション): 構成の namespaceId。指定されていない場合はデフォルトはpublicです。
      • groupName (文字列): 構成のグループ名。必須。
      • dataId (文字列): 構成の dataId。必須。
    • 戻り値: 指定された名前空間の下にある構成のリスト。
  9. get_config_history
    • 構成の特定の履歴変更レコードを取得します。
    • 入力:
      • namespaceId (文字列、オプション): 構成の namespaceId。指定されていない場合はデフォルトはpublicです。
      • groupName (文字列): 構成のグループ名。必須。
      • dataId (文字列): 構成の dataId。必須。
      • nid (数値): 構成履歴レコードの実際の ID、リスト構成履歴ツールのidフィールドから取得します。
    • 返される値: 構成の履歴変更レコード。
  10. list_config_listeners
  • 特定の構成にサブスクライブされているリスナーのリストを取得します。
  • 入力:
    • namespaceId (文字列、オプション): 構成の namespaceId。指定されていない場合はデフォルトはpublicです。
    • groupName (文字列): 構成のグループ名。必須。
    • dataId (文字列): 構成の dataId。必須。
    • aggregation (bool、オプション): クラスター全体からの集約かどうか。
  • 返される値: 特定の構成にサブスクライブされているリスナーのリスト。
  1. list_listened_configs
  • 特定のクライアント IP アドレスによってサブスクライブされている構成のリストを取得します。
  • 入力:
    • namespaceId (文字列、オプション): 構成の namespaceId。指定されていない場合はデフォルトはpublicです。
    • ip (文字列): 構成リスナーのクライアント IP。必須。
    • aggregation (bool、オプション): クラスター全体からの集約かどうか。
  • 返される値: 特定のクライアント IP アドレスによってサブスクライブされている構成を一覧表示します。

インストール

uvの使用(推奨)

uvを使用する場合、特別なインストールは必要ありません。uvx uvx使用してmcp-server-nacosを直接実行します。

PIPの使用

あるいは、pip 経由でmcp-server-nacosをインストールすることもできます。

pip install mcp-server-nacos

インストール後、次のコマンドを使用してスクリプトとして実行できます。

python -m mcp_server_nacos

構成

Claude Desktopでの使用

これをclaude_desktop_config.jsonに追加します:

"mcpServers": { "git": { "command": "uvx", "args": [ "nacos-mcp-server", "--host", "your_nacos_host", "--port", "your_nacos_main_port, such as 8848", "--access_token", "your_nacos_access_token, get from `login` api: /nacos/v3/auth/user/login with `username` and `password`" ], } }

commandフィールドにuvx実行ファイルへのフルパスを入力する必要があるかもしれません。これは、MacOS/Linuxの場合はwhich uvx 、Windowsの場合はwhere uvx実行することで取得できます。

"mcpServers": { "git": { "command": "python", "args": [ "-m", "nacos-mcp-server", "--host", "your_nacos_host", "--port", "your_nacos_main_port, such as 8848", "--access_token", "your_nacos_access_token, get from `login` api: /nacos/v3/auth/user/login with `username` and `password`" ], } }

発達

ローカル開発を行う場合は、次の手順に従ってください。

  1. このリポジトリをローカル環境にクローンします。
  2. 必要な機能を実装するには、 src/mcp_server_nacos内のコードを変更します。
  3. Claudeデスクトップアプリを使ってテストします。claude_desktop_config.jsonに以下のコードを追加してください。
{ "mcpServers": { "mcp-server-nacos": { "command": "uv", "args": [ "--directory", "/<path to mcp-server-nacos>/src/mcp_server_nacos", "run", "mcp-server-nacos" ] } }

ライセンス

mcp-server-nacos は Apache 2.0 ライセンスに基づきます。つまり、Apache 2.0 ライセンスの条件に従い、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

大規模言語モデルを通じて Nacos サービス検出および構成管理との対話を可能にし、名前空間、サービス、および構成への読み取り専用アクセスを提供するサーバー。

  1. 概要
    1. ツール
  2. インストール
    1. uvの使用(推奨)
    2. PIPの使用
  3. 構成
    1. Claude Desktopでの使用
  4. 発達
    1. ライセンス

      Related MCP Servers

      • -
        security
        A
        license
        -
        quality
        A server that enables Large Language Models to discover and interact with REST APIs defined by OpenAPI specifications through the Model Context Protocol.
        Last updated -
        72
        78
        TypeScript
        MIT License
        • Apple
      • -
        security
        A
        license
        -
        quality
        A Model Context Protocol server that enables Large Language Models to seamlessly interact with ClickHouse databases, supporting resource listing, schema retrieval, and query execution.
        Last updated -
        1
        Python
        MIT License
        • Linux
        • Apple
      • A
        security
        A
        license
        A
        quality
        A Model Context Protocol server that allows Large Language Models to interact with Astra DB databases, providing tools for managing collections and records through natural language commands.
        Last updated -
        10
        115
        12
        TypeScript
        Apache 2.0
        • Apple
      • -
        security
        F
        license
        -
        quality
        A Model Context Protocol server that enables Large Language Models to access and interact with database connections, including viewing schemas and performing CRUD operations on connected databases.
        Last updated -
        • Apple

      View all related MCP servers

      ID: 4znv103es6