mcp-netbird

by aantti
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides installation source for the MCP server package.

  • The project is derived from the MCP Server for Grafana, though it doesn't provide Grafana-specific functionality.

Servidor MCP de Netbird

Un servidor de Protocolo de Contexto Modelo (MCP) para Netbird .

Este proyecto se 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 aún está en desarrollo.

Instalación

Instalación desde la fuente

Clonar 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 mediante herrería

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 : Su token de API de Netbird
  • NETBIRD_HOST (opcional): el host de la API de Netbird (el valor predeterminado es api.netbird.io )

Características

Este servidor utiliza la API de Netbird para proporcionar información a los LLM sobre la red Netbird. Actualmente, se trata de una asignación 1:1 de recursos seleccionados de la API de Netbird de solo lectura a herramientas.

  • [x] Utiliza la API de Netbird para acceder a la configuración y el estado
  • [x] Punto final de API configurable
  • [x] Autenticación segura basada en token para la API de Netbird

Herramientas

HerramientaDescripciónAPI de Netbird
list_netbird_peersTodos los paresLista de todos los pares
list_netbird_port_allocationsTodos los puertos de entrada para peerIdListar todas las asignaciones de puertos
list_netbird_groupsTodos los gruposListar todos los grupos
list_netbird_policiesTodas las políticasListar todas las políticas
list_netbird_posture_checksTodos los controles de posturaLista de todos los controles de postura
list_netbird_networksTodas las redesListar todas las redes
list_netbird_nameserversTodos los grupos de servidores de nombresListar todos los grupos de servidores de nombres

Agregar herramientas

Para agregar nuevas herramientas:

  1. Cree un nuevo archivo en tools (por ejemplo, tools/users.go ), posiblemente use el código existente como plantilla
  2. Agregue la ruta API y los detalles de respuesta al nuevo archivo
  3. Agregue la herramienta a func newServer() en cmd/main.go

Uso

  1. Obtenga su token de API de Netbird desde la consola de administración de Netbird.
  2. Instale el binario mcp-netbird con uno de los métodos de instalación anteriores. Asegúrese de que el binario esté en su PATH.
  3. Agregue la configuración del servidor a su archivo de configuración de cliente. Por ejemplo, para Codeium Windsurf, agregue lo siguiente a ~/.codeium/windsurf/mcp_config.json :
    { "mcpServers": { "netbird": { "command": "mcp-netbird", "args": [], "env": { "NETBIRD_API_TOKEN": "<your-api-token>" } } } }

Para obtener más información sobre cómo agregar una configuración similar a Claude Desktop, consulte aquí .

Nota: Si ve algo como [netbird] [error] spawn mcp-netbird ENOENT en los registros de Claude Desktop, debe especificar la ruta completa a mcp-netbird . En macOS, los registros de Claude se encuentran en ~/Library/Logs/Claude .

  1. Intente hacer preguntas como "¿Puede explicarme mis pares, grupos y políticas de Netbird?"

Estibador

Crea una imagen y etiquétala:

docker build -t mcp-netbird-sse:v1 -f Dockerfile.sse .

Ejecutar la imagen:

docker run --name mcp-netbird -p 8001:8001 -e NETBIRD_API_TOKEN=<your-api-token> mcp-netbird-sse:v1

Colmena de herramientas

ToolHive (thv) es una utilidad liviana diseñada para simplificar la implementación y la administración de servidores MCP.

Puede utilizar ToolHive para implementar y ejecutar Netbird MCP de la siguiente manera:

  1. Instale thv como se describe en el archivo README de ToolHive .
  2. Agregue el token de API de Netbird a los secretos thv :
thv secret set netbird
  1. Cree una imagen SSE como se describe en la sección Docker anterior
  2. 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
  1. Cuando desee detener el servidor, utilice:
thv stop thv-mcp-netbird

Desarrollo

¡Agradecemos sus contribuciones! Abra un problema o envíe una solicitud de incorporación de cambios si tiene alguna sugerencia o mejora.

Este proyecto está escrito en Go. Instale Go siguiendo las instrucciones para su plataforma.

Para ejecutar el servidor manualmente, utilice:

export NETBIRD_API_TOKEN=your-token && \ go run cmd/mcp-netbird/main.go

O en modo SSE:

export NETBIRD_API_TOKEN=your-token && \ go run cmd/mcp-netbird/main.go --transport sse --sse-address :8001

Depuración

El Inspector MCP es una herramienta interactiva para desarrolladores que permite probar y depurar servidores MCP. Más información aquí .

A continuación se explica cómo iniciar el Inspector MCP:

export NETBIRD_API_TOKEN=your-token && \ npx @modelcontextprotocol/inspector

El servidor MCP de Netbird puede probarse con el tipo de transporte stdio o SSE . Para stdio , especifique la ruta completa a mcp-netbird en la interfaz de usuario.

Pruebas

TODO: agregar más pruebas

Pelusa

Para depurar 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 ).

ID: y1lgep6ks4