返回市场
纳柯斯-MCP-路由

纳柯斯-MCP-路由

作者:nacos-group166 星标更新:2025-09-23

项目介绍

【技术文档摘要】

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

模型上下文协议 询问DeepWiki NPM 版本 NPM 下载量

<p> <a href="./README.md">English</a> | <a href="./README_cn.md">简体中文</a> </p>

概述

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

此MCP(模型上下文协议)服务器提供了搜索、安装、代理其他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端点(用于外部提供商Compass提供商)
COMPASS_API_BASE=https://registry.mcphub.io

# 结果的最小相似度分数(0.0到1.0)
SEARCH_MIN_SIMILARITY=0.5

# 返回的最大结果数
SEARCH_RESULT_LIMIT=10

搜索API

搜索功能可通过MCP接口访问:

// 搜索MCP服务器
const results = await searchMcpServer(
  "查找自然语言处理的MCP服务器",
  ["nlp", "language"]
);

结果包括:

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

快速开始

Python

路由器模式

工具
  1. search_mcp_server
    • 根据任务和关键词搜索MCP服务器。
    • 输入:
      • task_description(字符串):任务描述
      • key_words(字符串):任务关键词
    • 返回:MCP服务器列表及其完成任务的说明。
  2. add_mcp_server
    • 添加一个MCP服务器。如果MCP服务器是stdio服务器,此工具将安装并连接到它。如果是sse服务器,此工具将连接到它。
    • 输入:
      • mcp_server_name(字符串):MCP服务器名称。
    • 返回:MCP服务器的工具列表及其使用方法。
  3. use_tool
    • 此工具帮助LLM使用某些MCP服务器的工具。它将请求代理到目标MCP服务器。
    • 输入:
      • mcp_server_name(字符串):LLM想要调用的目标MCP服务器名称。
      • mcp_tool_name(字符串):LLM想要调用的目标MCP服务器的工具名称。
      • params(映射):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>, 可选,默认值为127.0.0.1:8848",
                "NACOS_USERNAME": "<NACOS-USERNAME>, 可选,默认值为nacos",
                "NACOS_PASSWORD": "<NACOS-PASSWORD>, 必需"
            }
        }
    }
}

你可能需要在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服务器转换为可流式传输的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:8848Nacos服务器地址,例如192.168.1.1:8848。注意:包含端口。
NACOS_USERNAMENacos用户名nacosNacos用户名,例如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命名空间publicNacos命名空间,例如public
TRANSPORT_TYPE传输协议类型stdio传输协议类型。选项:stdio, sse, streamable_http。
PROXIED_MCP_NAME被代理的MCP服务器名称-在代理模式下,指定要转换的MCP服务器名称。必须先在Nacos中注册。
MODE工作模式router可用选项:router, proxy。
PORT当TRANSPORT_TYPE为sse或streamable_http时的服务端口8000
ACCESS_KEY_ID阿里云RAM访问密钥ID-
ACCESS_KEY_SECRET阿里云RAM访问密钥秘密-

TypeScript

在Cline、Cursor、Claude和其他应用程序中的使用

{
  "mcpServers": {
    "nacos-mcp-router": {
      "command": "npx",
      "args": [
        "nacos-mcp-router@latest"
      ],
      "env": {
        "NACOS_ADDR": "<NACOS-ADDR>, 可选,默认值为127.0.0.1:8848",
        "NACOS_USERNAME": "<NACOS-USERNAME>, 可选,默认值为nacos",
        "NACOS_PASSWORD": "<NACOS-PASSWORD>, 必需"
      }
    }
  }
}

许可证

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