Servidor MCP de Netbird
Un servidor MCP ( Model Context Protocol ) para Netbird.
Este proyecto deriva del Servidor MCP para Grafana de Grafana Labs y está licenciado bajo la misma Licencia Apache 2.0.
También utiliza MCP Go de Mark III Labs.
Nota: este proyecto está todavía en desarrollo.
Instalación de
Instalación desde el código fuente
Clona el repositorio
git clone https://github.com/aantti/mcp-netbird
Construir e instalar
cd mcp-netbird && \ make install
Instalación desde GitHub
go install github.com/aantti/mcp-netbird/cmd/mcp-netbird@latest
Instalación a través de Smithery
Para instalar Netbird MCP Server para Claude Desktop automáticamente a través de Smithery:
npx -y @smithery/cli install @aantti/mcp-netbird --client claude
Configuración
El servidor requiere las siguientes variables de entorno:
NETBIRD_API_TOKEN
: Tu token de la API de NetbirdNETBIRD_HOST
(opcional): El host de la API de Netbird (por defecto esapi.netbird.io
)
Características
Este servidor utiliza la API de Netbird para proporcionar a los LLM información sobre la red Netbird. Actualmente es un mapeo 1:1 de recursos seleccionados de la API Netbird de sólo lectura a herramientas.
- Utiliza la API de Netbird para acceder a la configuración y el estado
- Punto final de API configurable
- Autenticación segura basada en token para la API Netbird
Herramientas
Herramienta | Descripción | API Netbird |
---|---|---|
list_netbird_peers | Todos los peers | Listar todos los Peers |
list_netbird_port_allocations | Todos los puertos de entrada para peerId | Listar todos los puertos asignados |
list_netbird_groups | Todos los grupos | Listar todos los grupos |
list_netbird_policies | Todas las políticas | Listar todas las Políticas |
list_netbird_comprobaciones_de_postura | Todas las comprobaciones de postura | Listar todas las comprobaciones de postura |
list_netbird_networks | Todas las redes | Listar todas las redes |
list_netbird_nameservers | Todos los grupos de servidores de nombres | Listar todos los grupos de servidores de nombres |
Añadir herramientas
Para añadir nuevas herramientas
- Cree un nuevo archivo en
tools
(por ejemplo,tools/users.go
), posiblemente utilice código existente como plantilla - Añada la ruta API y las respuestas específicas al nuevo archivo
- Añada la herramienta a
func newServer()
encmd/main.go
Uso
Obtenga su token API de Netbird desde la consola de gestión de Netbird.
Instale el binario
mcp-netbird
utilizando uno de los métodos de instalación anteriores. Asegúrese de que el binario está en su PATH.Añade la configuración del servidor a tu archivo de configuración del cliente. Por ejemplo, para Codeium Windsurf añada lo siguiente a
~/.codeium/windsurf/mcp_config.json
:{ "mcpServers": { "netbird": { "command": "mcp-netbird", "args": [], "env": { "NETBIRD_API_TOKEN": "<your-api-token>" } } }
Para más información sobre cómo añadir una configuración similar a Claude Desktop, vea aquí.
Nota: si ve algo parecido a
[netbird] [error] spawn mcp-netbird ENOENT
en los registros de Claude Desktop, debe especificar la ruta completa amcp-netbird
. En macOS los registros de Claude están en~/Library/Logs/Claude
.
- Intenta hacer preguntas del tipo "¿Puedes explicarme mis pares, grupos y políticas de Netbird?"
Docker
Construye una imagen y etiquétala:
docker build -t mcp-netbird-sse:v1 -f Dockerfile.sse
Ejecute la imagen:
docker run --name mcp-netbird -p 8001:8001 -e NETBIRD_API_TOKEN=<su-api-token> mcp-netbird-sse:v1
Colmena de herramientas
ToolHive (thv) es una utilidad ligera diseñada para simplificar el despliegue y la gestión de servidores MCP.
Puede utilizar ToolHive para desplegar y ejecutar Netbird MCP de la siguiente manera:
Instale
thv
como se describe en ToolHive README.Añada el token de la API de Netbird a los secretos de
thv
:
thv secret set netbird
Construir una imagen SSE como se describe en la sección anterior Docker
Inicie Netbird MCP con
thv run
en el puerto 8080:
thv run --secret netbird,target=NETBIRD_API_TOKEN --transport sse --name thv-mcp-netbird --port 8080 --target-port 8001 mcp-netbird-sse:v1
- Si desea detener el servidor, utilice
thv stop thv-mcp-netbird
Desarrollo
¡Las contribuciones son bienvenidas! Por favor, abre un issue o envía un pull request si tienes alguna sugerencia o mejora.
Este proyecto está escrito en Go. Instala Go siguiendo las instrucciones de tu plataforma.
Para ejecutar el servidor manualmente, utilice
export NETBIRD_API_TOKEN=tu-token && \ go run cmd/mcp-netbird/main.go
O en modo SSE
export NETBIRD_API_TOKEN=su-token && \ go run cmd/mcp-netbird/main.go --transport sse --sse-address :8001
Depuración
MCP Inspector es una herramienta interactiva para desarrolladores que permite probar y depurar servidores MCP. Más información aquí.
He aquí cómo iniciar el Inspector MCP:
export NETBIRD_API_TOKEN=su-token && \ npx @modelcontextprotocol/inspector
El Servidor Netbird MCP puede probarse con el tipo de transporte stdio
o SSE
. Para stdio
, especifique la ruta completa a mcp-netbird
en la interfaz de usuario.
Probando
TODO: añadir más pruebas
Análisis
Para limpiar el código, ejecute
make lint
Licencia
Este proyecto está licenciado bajo la Licencia Apache, Versión 2.0.
Este proyecto incluye software desarrollado en Grafana Labs(https://grafana.com/).
Este proyecto incluye software desarrollado en Mark III Labs(https://github.com/mark3labs/mcp-go).