Serveur MCP Netbird

Un serveur MCP ( Model Context Protocol ) pour Netbird.

Ce projet est dérivé du serveur MCP pour Grafana de Grafana Labs et est placé sous la même licence Apache 2.0.

Il utilise également MCP Go de Mark III Labs.

Note : ce projet est encore en développement.

Installation

Installation à partir des sources

Cloner le dépôt

git clone https://github.com/aantti/mcp-netbird

Construire et installer

cd mcp-netbird && \ make install

Installation depuis GitHub

go install github.com/aantti/mcp-netbird/cmd/mcp-netbird@latest

Installation via Smithery

smithery badge

Pour installer Netbird MCP Server for Claude Desktop automatiquement via Smithery:

npx -y @smithery/cli install @aantti/mcp-netbird --client claude

Configuration du serveur

Le serveur nécessite les variables d'environnement suivantes :

  • NETBIRD_API_TOKEN: Votre jeton API Netbird
  • NETBIRD_HOST (optionnel) : L'hôte de l'API Netbird (par défaut api.netbird.io)

Fonctionnalités

Ce serveur utilise l'API Netbird pour fournir aux LLM des informations sur le réseau Netbird. Actuellement, il s'agit d'une correspondance 1:1 entre certaines ressources de l'API Netbird en lecture seule et les outils.

  • Utilise l'API Netbird pour accéder à la configuration et à l'état
  • Point d'arrivée API configurable
  • Authentification sécurisée par jeton pour l'API Netbird

Outils

OutilDescription de l'outilAPI Netbird
list_netbird_peersTous les pairsListe de tous les pairs
list_netbird_port_allocationsTous les ports d'entrée pour peerIdListe de tous les ports alloués
list_netbird_groupsTous les groupesListe de tous les groupes
list_netbird_policiesToutes les politiquesListe de toutes les politiques
list_netbird_posture_checksTous les contrôles de postureListe de tous les contrôles de posture
list_netbird_networksTous les réseauxListe de tous les réseaux
list_netbird_nameserversTous les groupes de serveurs de nomsListe de tous les groupes de serveurs de noms

Ajouter des outils

Pour ajouter de nouveaux outils :

  1. Créez un nouveau fichier dans tools (par exemple, tools/users.go), en utilisant éventuellement le code existant comme modèle
  2. Ajouter la route de l'API et les spécificités de la réponse au nouveau fichier
  3. Ajouter l'outil à func newServer() dans cmd/main.go

Utilisation

  1. Obtenez votre jeton API Netbird à partir de la console de gestion Netbird.

  2. Installez le binaire mcp-netbird en utilisant l'une des méthodes d'installation ci-dessus. Assurez-vous que le binaire est dans votre PATH.

  3. Ajoutez la configuration du serveur à votre fichier de configuration client. Par exemple, pour Codeium Windsurf, ajoutez ce qui suit à ~/.codeium/windsurf/mcp_config.json:

    { "mcpServers" : {"netbird" : {"command" : "mcp-netbird", "args" : [], "env" : { "NETBIRD_API_TOKEN" : "<votre-api-token>" } } } }

Pour plus d'informations sur la façon d'ajouter une configuration similaire à Claude Desktop, voir ici.

Note : si vous voyez quelque chose du genre [netbird] [error] spawn mcp-netbird ENOENT dans les journaux de Claude Desktop, vous devez spécifier le chemin complet vers mcp-netbird. Sur macOS, les journaux de Claude se trouvent dans ~/Bibliothèque/Logs/Claude.

  1. Essayez de poser des questions du type "Pouvez-vous m'expliquer mes pairs, groupes et politiques Netbird ?"

claude-desktop-mcp-netbird

Docker

Construire une image et la marquer :

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

Exécutez l'image :

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

Ruche à outils

ToolHive (thv) est un utilitaire léger conçu pour simplifier le déploiement et la gestion des serveurs MCP.

Vous pouvez utiliser ToolHive pour déployer et exécuter Netbird MCP comme suit :

  1. Installez thv comme décrit dans le README de ToolHive.

  2. Ajoutez le jeton API Netbird aux secrets thv:

thv secret set netbird
  1. Construire une image SSE comme décrit dans la section Docker ci-dessus

  2. Démarrez Netbird MCP avec thv run sur le port 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. Lorsque vous voulez arrêter le serveur, utilisez :
thv stop thv-mcp-netbird

Développement

Les contributions sont les bienvenues ! Veuillez ouvrir un problème ou soumettre une demande de téléchargement si vous avez des suggestions ou des améliorations à apporter.

Ce projet est écrit en Go. Installez Go en suivant les instructions pour votre plateforme.

Pour lancer le serveur manuellement, utilisez :

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

Ou en mode SSE :

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

Débogage

L'inspecteur MCP est un outil de développement interactif permettant de tester et de déboguer les serveurs MCP. Pour en savoir plus , cliquez ici.

Voici comment démarrer l'inspecteur MCP :

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

Le serveur Netbird MCP peut alors être testé avec le type de transport stdio ou SSE. Pour stdio, spécifiez le chemin complet vers mcp-netbird dans l'interface utilisateur.

Test

TODO : ajouter plus de tests

Linting

Pour lister le code, exécutez

make lint

Licence

Ce projet est soumis à la licence Apache, version 2.0.

Ce projet comprend des logiciels développés par Grafana Labs(https://grafana.com/).

Ce projet comprend des logiciels développés par Mark III Labs(https://github.com/mark3labs/mcp-go).

Liés dans Service en nuage - MCP Servers sécurisés

ServeurRésuméActions
Serveur Kubernetes MCPVoir
Serveur MCP pour les données des services des parcs nationauxCe serveur MCP fournit une interface pour récupérer les données du National Park Services (NPS). Il...Voir
AppwriteVoir
mcp-k8s-goMCP 💬 prompt 🗂️ resource 🤖 toolVoir
Serveur MCP DopplerAucune documentation n'est disponible.Voir
KubernetesVoir