Nacos MCP Router

Un servidor MCP para Nacos que proporciona funcionalidades de búsqueda, instalación y proxy. Se conecta a un servidor Nacos mediante variables de entorno.

Documentación

nacos-mcp-router: Un servidor MCP que proporciona funcionalidades como búsqueda, instalación, proxy y más.

Model Context Protocol Ask DeepWiki NPM Version NPM Downloads

English | 简体中文

Resumen

Nacos es una plataforma fácil de usar diseñada para el descubrimiento dinámico de servicios, la gestión de configuración y de servicios. Te ayuda a crear aplicaciones cloud native y plataformas de microservicios fácilmente.

Este servidor MCP (Model Context Protocol) proporciona herramientas para buscar, instalar y hacer proxy de otros servidores MCP, con capacidades de búsqueda avanzada que incluyen búsqueda por similitud vectorial y agregación de resultados de múltiples proveedores.

Nacos-MCP-Router tiene dos modos de funcionamiento:

Modo Router: El modo predeterminado, que recomienda, distribuye, instala y hace proxy de las funciones de otros servidores MCP a través del servidor MCP, ayudando a los usuarios a utilizar los servicios del servidor MCP de manera más conveniente.

Modo Proxy: Especificado por la variable de entorno MODE=proxy, puede convertir servidores MCP con protocolo SSE y stdio en servidores MCP con protocolo HTTP transmisible mediante una configuración simple.

Funciones de búsqueda

Nacos-MCP-Router proporciona potentes capacidades de búsqueda a través de múltiples proveedores:

Proveedores de búsqueda

  1. Proveedor Nacos

    • Busca servidores MCP utilizando el descubrimiento de servicios de Nacos
    • Soporta coincidencia de palabras clave y búsqueda por similitud vectorial
    • Integrado con la instancia local de Nacos
  2. Proveedor Compass

    • Se conecta a un endpoint de API COMPASS para una búsqueda mejorada
    • Soporta búsqueda semántica y puntuación de relevancia
    • Endpoint de API configurable (predeterminado: https://registry.mcphub.io)

Configuración de búsqueda

Configura el comportamiento de búsqueda usando variables de entorno:

# 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 de búsqueda

La funcionalidad de búsqueda está disponible a través de la interfaz MCP:

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

Los resultados incluyen:

  • Nombre y descripción del servidor
  • Información del proveedor
  • Puntuación de relevancia
  • Metadatos adicionales

Inicio rápido

Python

Modo router

Herramientas
  1. search_mcp_server
    • Busca servidores MCP por tarea y palabras clave.
    • Entrada:
      • task_description(cadena): Descripción de la tarea
      • key_words(cadena): Palabras clave de la tarea
    • Devuelve: lista de servidores MCP e instrucciones para completar la tarea.
  2. add_mcp_server
    • Agrega un servidor MCP. Si el servidor MCP es un servidor stdio, esta herramienta lo instalará y establecerá conexión con él. Si el servidor MCP es un servidor sse, esta herramienta establecerá conexión con él.
    • Entrada:
      • mcp_server_name(cadena): El nombre del servidor MCP.
    • Devuelve: lista de herramientas del servidor MCP y cómo usar estas herramientas.
  3. use_tool
    • Esta herramienta ayuda al LLM a usar la herramienta de algún servidor MCP. Hará proxy de las solicitudes al servidor MCP de destino.
    • Entrada:
      • mcp_server_name(cadena): El nombre del servidor MCP de destino que el LLM quiere llamar.
      • mcp_tool_name(cadena): El nombre de la herramienta del servidor MCP de destino que el LLM quiere llamar.
      • params(mapa): Los parámetros de la herramienta MCP.
    • Devuelve: Resultado devuelto por el servidor MCP de destino.
Uso
Usando uv (recomendado)

Cuando se usa uv no se necesita instalación específica. Usaremos uvx para ejecutar directamente nacos-mcp-router.

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

Alternativamente, puedes instalar nacos-mcp-router vía pip:

pip install nacos-mcp-router

Después de la instalación, puedes ejecutarlo como un script usando (como ejemplo, Nacos está desplegado en modo independiente en la máquina local):

export NACOS_ADDR=127.0.0.1:8848
export NACOS_USERNAME=nacos
export NACOS_PASSWORD=$PASSWORD
python -m nacos_mcp_router
Usando 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
Uso con Cline, Cursor, Claude y otras aplicaciones

Agrega esto a la configuración MCP de tu aplicación:

  • Usando 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"
            }
        }
    }
}

Es posible que necesites poner la ruta completa al ejecutable de uvx en el campo command. Puedes obtenerla ejecutando which uvx en MacOS/Linux o where uvx en Windows.

  • Usando 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"
      ]
    }
  }
}

Modo Proxy

El modo proxy soporta la conversión de servidores MCP con protocolo SSE y stdio en servidores MCP con protocolo HTTP transmisible.

Uso

El uso del modo proxy es similar al del modo router, con parámetros ligeramente diferentes. Se recomienda el despliegue con 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

Configuración de variables de entorno

ParámetroDescripciónValor predeterminadoRequeridoObservaciones
NACOS_ADDRDirección del servidor Nacos127.0.0.1:8848NoLa dirección del servidor Nacos, p. ej., 192.168.1.1:8848. Nota: Incluye el puerto.
NACOS_USERNAMENombre de usuario de NacosnacosNoEl nombre de usuario de Nacos, p. ej., nacos.
NACOS_PASSWORDContraseña de Nacos-SíLa contraseña de Nacos, p. ej., nacos.
COMPASS_API_BASEEndpoint de API COMPASS para búsqueda mejoradahttps://registry.mcphub.ioNoSobrescribe el endpoint de API COMPASS predeterminado
SEARCH_MIN_SIMILARITYPuntuación mínima de similitud (0.0-1.0)0.5NoFiltra los resultados de búsqueda por puntuación mínima de similitud
SEARCH_RESULT_LIMITNúmero máximo de resultados a devolver10NoLimita el número de resultados de búsqueda
NACOS_NAMESPACEEspacio de nombres de NacospublicNoEspacio de nombres de Nacos, p. ej. public
TRANSPORT_TYPETipo de protocolo de transportestdioNoTipo de protocolo de transporte. Opciones: stdio, sse, streamable_http.
PROXIED_MCP_NAMENombre del servidor MCP con proxy-NoEn modo proxy, especifica el nombre del servidor MCP a convertir. Debe estar registrado en Nacos primero.
MODEModo de funcionamientorouterNoOpciones disponibles: router, proxy.
PORTPuerto del servicio cuando TRANSPORT_TYPE es sse o streamable_http8000No
ACCESS_KEY_IDID de clave de acceso de Aliyun RAM-No
ACCESS_KEY_SECRETSecreto de clave de acceso de Aliyun RAM-No

TypeScript

Uso con Cline, Cursor, Claude y otras aplicaciones

{
  "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"
      }
    }
  }
}

Licencia

nacos-mcp-router está licenciado bajo la Licencia Apache 2.0. Esto significa que eres libre de usar, modificar y distribuir el software, sujeto a los términos y condiciones de la Licencia Apache 2.0. Para más detalles, consulta el archivo LICENSE en el repositorio del proyecto.