Nacos MCP Router
Um servidor MCP para Nacos que fornece funcionalidades de busca, instalação e proxy. Conecta-se a um servidor Nacos por meio de variáveis de ambiente.
Documentação
nacos-mcp-router: Um servidor MCP que fornece funcionalidades como busca, instalação, proxy e muito mais.
Visão Geral
Nacos é uma plataforma fácil de usar projetada para descoberta dinâmica de serviços, gerenciamento de configuração e serviços. Ela ajuda você a construir aplicações nativas em nuvem e plataformas de microsserviços facilmente.
Este servidor MCP (Model Context Protocol) fornece ferramentas para buscar, instalar e fazer proxy de outros servidores MCP, com recursos avançados de busca, incluindo busca por similaridade vetorial e agregação de resultados de múltiplos provedores.
O Nacos-MCP-Router possui dois modos de funcionamento:
Modo Roteador: O modo padrão, que recomenda, distribui, instala e faz proxy das funções de outros servidores MCP através do servidor MCP, ajudando os usuários a utilizar os serviços do servidor MCP de forma mais conveniente.
Modo Proxy: Especificado pela variável de ambiente MODE=proxy, pode converter servidores MCP com protocolo SSE e stdio em servidores MCP com protocolo HTTP streamable através de configuração simples.
Recursos de Busca
O Nacos-MCP-Router fornece recursos poderosos de busca através de múltiplos provedores:
Provedores de Busca
-
Provedor Nacos
- Busca servidores MCP usando a descoberta de serviços do Nacos
- Suporta correspondência por palavras-chave e busca por similaridade vetorial
- Integrado com a instância local do Nacos
-
Provedor Compass
- Conecta-se a um endpoint da API COMPASS para busca aprimorada
- Suporta busca semântica e pontuação de relevância
- Endpoint de API configurável (padrão: https://registry.mcphub.io)
Configuração de Busca
Configure o comportamento da busca usando variáveis de ambiente:
# 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 Busca
A funcionalidade de busca está disponível através da interface MCP:
// Search for MCP servers
const results = await searchMcpServer(
"Find MCP servers for natural language processing",
["nlp", "language"]
);
Os resultados incluem:
- Nome e descrição do servidor
- Informações do provedor
- Pontuação de relevância
- Metadados adicionais
Início Rápido
Python
Modo roteador
Ferramentas
search_mcp_server- Busca servidores MCP por tarefa e palavras-chave.
- Entrada:
task_description(string): Descrição da tarefakey_words(string): Palavras-chave da tarefa
- Retorna: lista de servidores MCP e instruções para concluir a tarefa.
add_mcp_server- Adiciona um servidor MCP. Se o servidor MCP for um servidor stdio, esta ferramenta o instalará e estabelecerá conexão com ele. Se o servidor MCP for um servidor sse, esta ferramenta estabelecerá conexão com ele.
- Entrada:
mcp_server_name(string): O nome do servidor MCP.
- Retorna: lista de ferramentas do servidor MCP e como usar essas ferramentas.
use_tool- Esta ferramenta ajuda o LLM a usar a ferramenta de algum servidor MCP. Ela fará proxy das solicitações para o servidor MCP de destino.
- Entrada:
mcp_server_name(string): O nome do servidor MCP de destino que o LLM deseja chamar.mcp_tool_name(string): O nome da ferramenta do servidor MCP de destino que o LLM deseja chamar.params(map): Os parâmetros da ferramenta MCP.
- Retorna: Resultado retornado do servidor MCP de destino.
Uso
Usando uv (recomendado)
Ao usar uv, nenhuma instalação específica é necessária. Usaremos uvx para executar diretamente o 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, você pode instalar o nacos-mcp-router via pip:
pip install nacos-mcp-router
Após a instalação, você pode executá-lo como um script usando (Como exemplo, o Nacos é implantado em modo standalone na 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 com Cline, Cursor, Claude e outros aplicativos
Adicione isto às configurações de MCP do seu aplicativo:
- 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"
}
}
}
}
Você pode precisar colocar o caminho completo para o executável
uvxno campocommand. Você pode obter isso executandowhich uvxno MacOS/Linux ouwhere uvxno 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
O modo proxy suporta a conversão de servidores MCP com protocolo SSE e stdio em servidores MCP com protocolo HTTP streamable.
Uso
O uso do modo proxy é semelhante ao do modo roteador, com parâmetros ligeiramente diferentes. A implantação com Docker é recomendada.
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
Configurações de Variáveis de Ambiente
| Parâmetro | Descrição | Valor Padrão | Obrigatório | Observações |
|---|---|---|---|---|
| NACOS_ADDR | Endereço do servidor Nacos | 127.0.0.1:8848 | Não | o endereço do servidor Nacos, ex., 192.168.1.1:8848. Observação: Inclua a porta. |
| NACOS_USERNAME | Nome de usuário do Nacos | nacos | Não | o nome de usuário do Nacos, ex., nacos. |
| NACOS_PASSWORD | Senha do Nacos | - | Sim | a senha do Nacos, ex., nacos. |
| COMPASS_API_BASE | Endpoint da API COMPASS para busca aprimorada | https://registry.mcphub.io | Não | Substitui o endpoint padrão da API COMPASS |
| SEARCH_MIN_SIMILARITY | Pontuação mínima de similaridade (0.0-1.0) | 0.5 | Não | Filtra resultados de busca pela pontuação mínima de similaridade |
| SEARCH_RESULT_LIMIT | Número máximo de resultados a retornar | 10 | Não | Limita o número de resultados de busca |
| NACOS_NAMESPACE | Namespace do Nacos | public | Não | Namespace do Nacos, ex. public |
| TRANSPORT_TYPE | Tipo de protocolo de transporte | stdio | Não | tipo de protocolo de transporte. Opções: stdio, sse, streamable_http. |
| PROXIED_MCP_NAME | Nome do servidor MCP com proxy | - | Não | No modo proxy, especifique o nome do servidor MCP a ser convertido. Deve ser registrado no Nacos primeiro. |
| MODE | Modo de funcionamento | router | Não | Opções disponíveis: router, proxy. |
| PORT | Porta do serviço quando TRANSPORT_TYPE é sse ou streamable_http | 8000 | Não | |
| ACCESS_KEY_ID | ID da chave de acesso Aliyun ram | - | Não | |
| ACCESS_KEY_SECRET | Segredo da chave de acesso Aliyun ram | - | Não |
typescript
Uso com Cline, Cursor, Claude e outros aplicativos
{
"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"
}
}
}
}
Licença
O nacos-mcp-router é licenciado sob a Licença Apache 2.0. Isso significa que você é livre para usar, modificar e distribuir o software, sujeito aos termos e condições da Licença Apache 2.0. Para mais detalhes, consulte o arquivo LICENSE no repositório do projeto.