Netbird
Liste e anal
Documentação
Servidor MCP Netbird
Um servidor Model Context Protocol (MCP) para Netbird.
Este projeto é derivado do Servidor MCP para Grafana da Grafana Labs e está licenciado sob a mesma Licença Apache 2.0.
Ele também utiliza MCP Go da Mark III Labs.
Observação: este projeto ainda está em desenvolvimento.
Instalação
Instalando a partir do código-fonte
Clone o repositório
git clone https://github.com/aantti/mcp-netbird
Compile e instale
cd mcp-netbird && \
make install
Instalando a partir do GitHub
go install github.com/aantti/mcp-netbird/cmd/mcp-netbird@latest
Instalando via Smithery
Para instalar o Netbird MCP Server para Claude Desktop automaticamente via Smithery:
npx -y @smithery/cli install @aantti/mcp-netbird --client claude
Configuração
O servidor requer as seguintes variáveis de ambiente:
NETBIRD_API_TOKEN: Seu token da API NetbirdNETBIRD_HOST(opcional): O host da API Netbird (padrão éapi.netbird.io)
Recursos
Este servidor usa a API Netbird para fornecer informações sobre a rede Netbird aos LLMs. Atualmente, é um mapeamento 1:1 de recursos selecionados somente leitura da API Netbird para ferramentas.
- Usa a API Netbird para acessar configuração e status
- Endpoint de API configurável
- Autenticação segura baseada em token para a API Netbird
Ferramentas
| Ferramenta | Descrição | API Netbird |
|---|---|---|
list_netbird_peers | Todos os peers | Listar todos os Peers |
list_netbird_port_allocations | Todas as portas de entrada para peerId | Listar todas as Alocações de Porta |
list_netbird_groups | Todos os grupos | Listar todos os Grupos |
list_netbird_policies | Todas as políticas | Listar todas as Políticas |
list_netbird_posture_checks | Todas as verificações de postura | Listar todas as Verificações de Postura |
list_netbird_networks | Todas as redes | Listar todas as Redes |
list_netbird_nameservers | Todos os grupos de servidores de nomes | Listar todos os Grupos de Nameservers |
Adicionando ferramentas
Para adicionar novas ferramentas:
- Crie um novo arquivo em
tools(por exemplo,tools/users.go), possivelmente usando o código existente como modelo - Adicione a rota da API e os detalhes da resposta ao novo arquivo
- Adicione a ferramenta a
func newServer()emcmd/main.go
Uso
-
Obtenha seu token da API Netbird no console de gerenciamento do Netbird.
-
Instale o binário
mcp-netbirdusando um dos métodos de instalação acima. Certifique-se de que o binário esteja no seu PATH. -
Adicione a configuração do servidor ao seu arquivo de configuração do cliente. Por exemplo, para Codeium Windsurf, adicione o seguinte a
~/.codeium/windsurf/mcp_config.json:{ "mcpServers": { "netbird": { "command": "mcp-netbird", "args": [], "env": { "NETBIRD_API_TOKEN": "<your-api-token>" } } } }
Para mais informações sobre como adicionar uma configuração semelhante ao Claude Desktop, veja aqui.
Observação: se você vir algo como
[netbird] [error] spawn mcp-netbird ENOENTnos logs do Claude Desktop, você precisa especificar o caminho completo paramcp-netbird. No macOS, os logs do Claude estão em~/Library/Logs/Claude.
- Tente fazer perguntas como "Você pode me explicar meus peers, grupos e políticas do Netbird?"
Docker
Crie uma imagem e marque-a:
docker build -t mcp-netbird-sse:v1 -f Dockerfile.sse .
Execute a imagem:
docker run --name mcp-netbird -p 8001:8001 -e NETBIRD_API_TOKEN=<your-api-token> mcp-netbird-sse:v1
ToolHive
ToolHive (thv) é um utilitário leve projetado para simplificar a implantação e o gerenciamento de servidores MCP.
Você pode usar o ToolHive para implantar e executar o Netbird MCP da seguinte forma:
-
Instale
thvconforme descrito no README do ToolHive. -
Adicione o token da API Netbird aos segredos de
thv:
thv secret set netbird
-
Crie uma imagem SSE conforme descrito na seção Docker acima
-
Inicie o Netbird MCP com
thv runna porta 8080:
thv run --secret netbird,target=NETBIRD_API_TOKEN --transport sse --name thv-mcp-netbird --port 8080 --target-port 8001 mcp-netbird-sse:v1
- Quando quiser parar o servidor, use:
thv stop thv-mcp-netbird
Desenvolvimento
Contribuições são bem-vindas! Por favor, abra uma issue ou envie um pull request se tiver sugestões ou melhorias.
Este projeto é escrito em Go. Instale o Go seguindo as instruções para sua plataforma.
Para executar o servidor manualmente, use:
export NETBIRD_API_TOKEN=your-token && \
go run cmd/mcp-netbird/main.go
Ou no modo SSE:
export NETBIRD_API_TOKEN=your-token && \
go run cmd/mcp-netbird/main.go --transport sse --sse-address :8001
Depuração
O MCP Inspector é uma ferramenta interativa de desenvolvimento para testar e depurar servidores MCP. Leia mais sobre ele aqui.
Veja como iniciar o MCP Inspector:
export NETBIRD_API_TOKEN=your-token && \
npx @modelcontextprotocol/inspector
O Netbird MCP Server pode então ser testado com o tipo de transporte stdio ou SSE. Para stdio, especifique o caminho completo para mcp-netbird na interface.
Testes
TODO: adicionar mais testes
Linting
Para fazer lint do código, execute:
make lint
Licença
Este projeto está licenciado sob a Licença Apache, Versão 2.0.
Este projeto inclui software desenvolvido na Grafana Labs (https://grafana.com/).
Este projeto inclui software desenvolvido na Mark III Labs (https://github.com/mark3labs/mcp-go).