mcpField
N
Nacos Mcp Router

Nacos Mcp Router

本地服务
github.com/nacos-groupAI 与智能体18357 周前更新

关于 Nacos Mcp Router

nacos-mcp-router 是一个 MCP 服务,提供 MCP 服务的搜索、安装与代理功能,并支持向量相似度搜索和多来源结果聚合。适合需要在 Nacos 环境中管理 MCP 服务的开发者。

主要功能

  1. 01按任务与关键词搜索 MCP 服务
  2. 02安装并连接 stdio 或 SSE 服务
  3. 03代理调用目标 MCP 服务的工具
  4. 04将 SSE 与 stdio 服务转换为 streamable HTTP
  5. 05支持 Nacos 与 Compass 两种搜索来源

适用场景

  1. 01根据任务描述查找合适的 MCP 服务
  2. 02通过统一入口调用多个 MCP 服务的工具
  3. 03将旧协议的 MCP 服务转换为 streamable HTTP

MCP 相关

该项目本身是 MCP 服务,向客户端暴露 search_mcp_server、add_mcp_server 和 use_tool 等工具,并可代理其他 MCP 服务。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"nacos-mcp-router": {
"command": "uvx",
"args": [
"nacos-mcp-router@latest"
],
"env": {
"NACOS_ADDR": "<NACOS_ADDR>",
"NACOS_USERNAME": "<NACOS_USERNAME>",
"NACOS_PASSWORD": "<NACOS_PASSWORD>"
}
}
}
}
启动命令uvx nacos-mcp-router@latest
需要配置的环境变量
NACOS_ADDR
NACOS_USERNAME
NACOS_PASSWORD密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypinacos-mcp-router@latest

工具

3

收录的工具列表 · 更新于 3 周前

参数类型必填说明
key_wordsstring是用户任务的关键词,可包含多个,最多 4 个,须包含中英文关键词,并以英文逗号分隔
task_descriptionstring是用户任务的中文和英文描述,中英文描述各占单独一行。如果任务描述只包含中文,请同时输入英文描述;反之亦然。

详细介绍

nacos-mcp-router:提供搜索、安装、代理等功能的 MCP 服务。

Model Context Protocol Ask DeepWiki NPM Version NPM Downloads

English | 简体中文

概述

Nacos 是一个易于使用的平台,旨在实现动态服务发现、配置和服务管理。它可以帮助你轻松构建云原生应用和微服务平台。

此 MCP(Model Context Protocol)服务提供用于搜索、安装和代理其他 MCP 服务的工具,并具备高级搜索功能,包括向量相似度搜索和多提供商结果聚合。

Nacos-MCP-Router 有两种工作模式:

路由模式:默认模式,通过 MCP 服务推荐、分发、安装和代理其他 MCP 服务的功能,帮助用户更便捷地使用 MCP 服务。

代理模式:通过环境变量 MODE=proxy 指定,可通过简单配置将 SSE 和 stdio 协议的 MCP 服务转换为可流式传输的 HTTP 协议 MCP 服务。

搜索功能

Nacos-MCP-Router 通过多个提供商提供强大的搜索能力:

搜索提供商
  1. Nacos 提供商

    • 使用 Nacos 服务发现搜索 MCP 服务
    • 支持关键词匹配和向量相似度搜索
    • 与本地 Nacos 实例集成
  2. Compass 提供商

    • 连接到 COMPASS API 端点以增强搜索能力
    • 支持语义搜索和相关性评分
    • API 端点可配置(默认值:https://registry.mcphub.io)
搜索配置

使用环境变量配置搜索行为:

# 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
搜索 API

可通过 MCP 接口使用搜索功能:

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

结果包括:

  • 服务名称和描述
  • 提供商信息
  • 相关性评分
  • 其他元数据

快速开始

Python
路由模式
工具
  1. search_mcp_server
    • 按任务和关键词搜索 MCP 服务。
    • 输入:
      • task_description(string):任务描述
      • key_words(string):任务关键词
    • 返回:MCP 服务列表以及完成任务的说明。
  2. add_mcp_server
    • 添加 MCP 服务。如果 MCP 服务是 stdio 服务,此工具会安装该服务并与其建立连接。如果 MCP 服务是 sse 服务,此工具会与其建立连接。
    • 输入:
      • mcp_server_name(string):MCP 服务名称。
    • 返回:该 MCP 服务的工具列表及其使用方法。
  3. use_tool
    • 此工具可帮助大模型使用某个 MCP 服务的工具,并将请求代理到目标 MCP 服务。
    • 输入:
      • mcp_server_name(string):大模型要调用的目标 MCP 服务名称。
      • mcp_tool_name(string):大模型要调用的目标 MCP 服务工具名称。
      • params(map):MCP 工具的参数。
    • 返回:目标 MCP 服务返回的结果。
使用方法
使用 uv(推荐)

使用 uv 时无需特殊安装。我们将使用 uvx 直接运行 nacos-mcp-router。

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

或者,你可以通过 pip 安装 nacos-mcp-router:

pip install nacos-mcp-router

安装后,你可以将其作为脚本运行(例如,Nacos 以独立模式部署在本地机器上):

export NACOS_ADDR=127.0.0.1:8848
export NACOS_USERNAME=nacos
export NACOS_PASSWORD=$PASSWORD
python -m nacos_mcp_router
使用 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
与 Cline、Cursor、Claude 和其他应用搭配使用

将以下内容添加到应用的 MCP 设置中:

  • 使用 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"
            }
        }
    }
}

你可能需要在 command 字段中填写 uvx 可执行文件的完整路径。你可以在 MacOS/Linux 上运行 which uvx,或在 Windows 上运行 where uvx 来获取该路径。

  • 使用 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"
      ]
    }
  }
}
代理模式

代理模式支持将 SSE 和 stdio 协议的 MCP 服务转换为 streamable HTTP 协议的 MCP 服务。

用法

代理模式的用法与路由器模式类似,但参数略有不同。建议使用 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=streamable_http -e MODE=proxy -e PROXIED_MCP_NAME=$PROXIED_MCP_NAME  nacos/nacos-mcp-router:latest
环境变量设置
参数描述默认值必填备注
NACOS_ADDRNacos 服务地址127.0.0.1:8848否Nacos 服务地址,例如 192.168.1.1:8848。注意:请包含端口。
NACOS_USERNAMENacos 用户名nacos否Nacos 用户名,例如 nacos。
NACOS_PASSWORDNacos 密码-是Nacos 密码,例如 nacos。
COMPASS_API_BASE用于增强搜索的 COMPASS API 端点https://registry.mcphub.io否覆盖默认的 COMPASS API 端点
SEARCH_MIN_SIMILARITY最低相似度分数(0.0-1.0)0.5否按最低相似度分数筛选搜索结果
SEARCH_RESULT_LIMIT返回结果的最大数量10否限制搜索结果的数量
NACOS_NAMESPACENacos 命名空间public否Nacos 命名空间,例如 public
TRANSPORT_TYPE传输协议类型stdio否传输协议类型。可选项:stdio、sse、streamable_http。
PROXIED_MCP_NAME被代理的 MCP 服务名称-否在代理模式下,指定要转换的 MCP 服务名称。必须先在 Nacos 中注册。
MODE工作模式router否可选项:router、proxy。
PORTTRANSPORT_TYPE 为 sse 或 streamable_http 时的服务端口8000否
ACCESS_KEY_IDAliyun RAM 访问密钥 ID-否
ACCESS_KEY_SECRETAliyun RAM 访问密钥 Secret-否
typescript
与 Cline、Cursor、Claude 和其他应用搭配使用
{
  "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"
      }
    }
  }
}

许可证

nacos-mcp-router 采用 Apache 2.0 许可证。这意味着你可以自由使用、修改和分发该软件,但须遵守 Apache 2.0 许可证的条款和条件。详情请参阅项目仓库中的 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

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

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