mcpField
N
Nacos Mcp Router

Nacos Mcp Router

Local
github.com/nacos-groupAI & Agents183Updated 57w ago

About Nacos Mcp Router

nacos-mcp-router is an MCP server for searching, installing and proxying other MCP servers, with vector similarity search and multi-provider aggregation. It suits developers who manage MCP servers in a Nacos environment.

Key features

  1. 01Search MCP servers by task and keywords
  2. 02Install and connect stdio or SSE servers
  3. 03Proxy tool calls to target MCP servers
  4. 04Convert SSE and stdio servers to streamable HTTP
  5. 05Search through Nacos and Compass providers

Use cases

  1. 01Finding suitable MCP servers from a task description
  2. 02Calling tools of several MCP servers through one entry point
  3. 03Exposing legacy SSE or stdio servers over streamable HTTP

MCP support

The project is an MCP server that exposes search_mcp_server, add_mcp_server and use_tool, and can proxy other MCP servers.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"nacos-mcp-router": {
"command": "uvx",
"args": [
"nacos-mcp-router@latest"
],
"env": {
"NACOS_ADDR": "<NACOS_ADDR>",
"NACOS_USERNAME": "<NACOS_USERNAME>",
"NACOS_PASSWORD": "<NACOS_PASSWORD>"
}
}
}
}
Run commanduvx nacos-mcp-router@latest
Environment variables to set
NACOS_ADDR
NACOS_USERNAME
NACOS_PASSWORDSecret

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypinacos-mcp-router@latest

Tools

3

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
key_wordsstringYesKeywords for the user's task; multiple keywords are allowed, up to 4. Include keywords in both Chinese and English, separated by English commas.
task_descriptionstringYesChinese and English descriptions of the user's task, with each language on a separate line. If the task description contains only Chinese, also enter an English description, and vice versa.

Details

From the project README

nacos-mcp-router: A MCP server that provides functionalities such as search, installation, proxy, and more.

Model Context Protocol Ask DeepWiki NPM Version NPM Downloads

English | 简体中文

Overview

Nacos is an easy-to-use platform designed for dynamic service discovery and configuration and service management. It helps you to build cloud native applications and microservices platform easily.

This MCP(Model Context Protocol) Server provides tools to search, install, proxy other MCP servers, with advanced search capabilities including vector similarity search and multi-provider result aggregation.

Nacos-MCP-Router has two working modes:

Router mode: The default mode, which recommends, distributes, installs, and proxies the functions of other MCP Servers through the MCP Server, helping users more conveniently utilize MCP Server services.

Proxy mode: Specified by the environment variable MODE=proxy, it can convert SSE and stdio protocol MCP Servers into streamable HTTP protocol MCP Servers through simple configuration.

Search Features

Nacos-MCP-Router provides powerful search capabilities through multiple providers:

Search Providers
  1. Nacos Provider

    • Searches MCP servers using Nacos service discovery
    • Supports keyword matching and vector similarity search
    • Integrated with the local Nacos instance
  2. Compass Provider

    • Connects to a COMPASS API endpoint for enhanced search
    • Supports semantic search and relevance scoring
    • Configurable API endpoint (default: https://registry.mcphub.io)
Search Configuration

Configure search behavior using environment variables:

# YOUR COMPASS API endpoint (for Outer Provider called Compass Provider)
COMPASS_API_BASE=https://registry.mcphub.io

# Minimum similarity score for results (0.0 to 1.0)
SEARCH_MIN_SIMILARITY=0.5

# Maximum number of results to return
SEARCH_RESULT_LIMIT=10
Search API

The search functionality is available through the MCP interface:

// Search for MCP servers
const results = await searchMcpServer(
  "Find MCP servers for natural language processing",
  ["nlp", "language"]
);

Results include:

  • Server name and description
  • Provider information
  • Relevance score
  • Additional metadata

Quick Start

Python
router mode
Tools
  1. search_mcp_server
    • Search MCP servers by task and keywords.
    • Input:
      • task_description(string): Task description
      • key_words(string): Keywords of task
    • Returns: list of MCP servers and instructions to complete the task.
  2. add_mcp_server
    • Add a MCP server. If the MCP server is a stdio server, this tool will install it and establish connection to it. If the MCP server is a sse server, this tool will establish connection to it
    • Input:
      • mcp_server_name(string): The name of MCP server.
    • Returns: tool list of the MCP server and how to use these tools.
  3. use_tool
    • This tool helps LLM to use the tool of some MCP server. It will proxy requests to the target MCP server.
    • Input:
      • mcp_server_name(string): The target MCP server name that LLM wants to call.
      • mcp_tool_name(string): The tool name of target MCP server that LLM wants to call.
      • params(map): The parameters of the MCP tool.
    • Returns: Result returned from the target MCP server.
Usage
Using uv (recommended)

When using uv no specific installation is needed. We will use uvx to directly run nacos-mcp-router.

export NACOS_ADDR=127.0.0.1:8848
export NACOS_USERNAME=nacos
export NACOS_PASSWORD=$PASSWORD
uvx nacos-mcp-router@latest
Using PIP

Alternatively you can install nacos-mcp-router via pip:

pip install nacos-mcp-router

After installation, you can run it as a script using(As an example,Nacos is deployed in standalone mode on the local machine):

export NACOS_ADDR=127.0.0.1:8848
export NACOS_USERNAME=nacos
export NACOS_PASSWORD=$PASSWORD
python -m nacos_mcp_router
Using Docker
docker run -i --rm --network host -e NACOS_ADDR=$NACOS_ADDR -e NACOS_USERNAME=$NACOS_USERNAME -e NACOS_PASSWORD=$NACOS_PASSWORD -e TRANSPORT_TYPE=$TRANSPORT_TYPE nacos/nacos-mcp-router:latest
Usage with Cline、Cursor、Claude and other applications

Add this to MCP settings of your application:

  • Using uvx
{
    "mcpServers":
    {
        "nacos-mcp-router":
        {
            "command": "uvx",
            "args":
            [
                "nacos-mcp-router@latest"
            ],
            "env":
            {
                "NACOS_ADDR": "<NACOS-ADDR>, optional, default is 127.0.0.1:8848",
                "NACOS_USERNAME": "<NACOS-USERNAME>, optional, default is nacos",
                "NACOS_PASSWORD": "<NACOS-PASSWORD>, required"
            }
        }
    }
}

You may need to put the full path to the uvx executable in the command field. You can get this by running which uvx on MacOS/Linux or where uvx on Windows.

  • Using docker
{
  "mcpServers": {
    "nacos-mcp-router": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm", "--network", "host",  "-e", "NACOS_ADDR=<NACOS-ADDR>", "-e",  "NACOS_USERNAME=<NACOS-USERNAME>", "-e", "NACOS_PASSWORD=<NACOS-PASSWORD>" ,"-e", "TRANSPORT_TYPE=stdio", "nacos/nacos-mcp-router:latest"
      ]
    }
  }
}
Proxy Mode

The proxy mode supports converting SSE and stdio protocol MCP Servers into streamable HTTP protocol MCP Servers.

Usage

The usage of proxy mode is similar to that of router mode, with slightly different parameters. Docker deployment is recommended.

docker run -i --rm --network host -e NACOS_ADDR=$NACOS_ADDR -e NACOS_USERNAME=$NACOS_USERNAME -e NACOS_PASSWORD=$NACOS_PASSWORD -e TRANSPORT_TYPE=streamable_http -e MODE=proxy -e PROXIED_MCP_NAME=$PROXIED_MCP_NAME  nacos/nacos-mcp-router:latest
Environment Variable Settings
ParameterDescriptionDefault ValueRequiredRemarks
NACOS_ADDRNacos server address127.0.0.1:8848Nothe Nacos server address, e.g., 192.168.1.1:8848. Note: Include the port.
NACOS_USERNAMENacos usernamenacosNothe Nacos username, e.g., nacos.
NACOS_PASSWORDNacos password-Yesthe Nacos password, e.g., nacos.
COMPASS_API_BASECOMPASS API endpoint for enhanced searchhttps://registry.mcphub.ioNoOverride the default COMPASS API endpoint
SEARCH_MIN_SIMILARITYMinimum similarity score (0.0-1.0)0.5NoFilter search results by minimum similarity score
SEARCH_RESULT_LIMITMaximum number of results to return10NoLimit the number of search results
NACOS_NAMESPACENacos NamespacepublicNoNacos namespace, e.g. public
TRANSPORT_TYPETransport protocol typestdioNotransport protocol type. Options: stdio, sse, streamable_http.
PROXIED_MCP_NAMEProxied MCP server name-NoIn proxy mode, specify the MCP server name to be converted. Must be registered in Nacos first.
MODEWorking moderouterNoAvailable options: router, proxy.
PORTService port when TRANSPORT_TYPE is sse or streamable_http8000No
ACCESS_KEY_IDAliyun ram access key id-No
ACCESS_KEY_SECRETAliyun ram access key secret-No
typescript
Usage with Cline、Cursor、Claude and other applications
{
  "mcpServers": {
    "nacos-mcp-router": {
      "command": "npx",
      "args": [
        "nacos-mcp-router@latest"
      ],
      "env": {
        "NACOS_ADDR": "<NACOS-ADDR>, optional, default is 127.0.0.1:8848",
        "NACOS_USERNAME": "<NACOS-USERNAME>, optional, default is nacos",
        "NACOS_PASSWORD": "<NACOS-PASSWORD>, required"
      }
    }
  }
}

License

nacos-mcp-router is licensed under the Apache 2.0 License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the Apache 2.0 License. For more details, please see the LICENSE file in the project repository.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.