Aller au contenu principal

Serveur MCP

Wirety embarque un serveur Model Context Protocol (MCP) directement dans le binaire principal. Il expose les capacités de Wirety comme des outils appelables par l'IA, permettant à Claude (ou tout assistant compatible MCP) d'explorer et de gérer vos réseaux.

Endpoint

GET/POST /mcp

Transport : HTTP Streamable (spec MCP 2025-03-26). Le même binaire serveur sert à la fois l'API REST et l'endpoint MCP — aucun processus supplémentaire n'est nécessaire.

Authentification

Le MCP utilise les mêmes tokens API que l'API REST. Créez-en un depuis votre profil dans l'interface (Profil → Tokens API → Nouveau Token), puis passez-le comme en-tête :

Authorization: Bearer wirety_<64-hex-chars>

Les permissions sont appliquées par token — un token admin peut appeler les outils réservés aux admins ; un token utilisateur normal ne le peut pas.

Outils disponibles

Utilisateurs

OutilDescriptionAdmin uniquement
get_current_userObtenir le profil de l'utilisateur authentifiéNon
list_usersLister tous les utilisateursOui

Réseaux

OutilDescriptionAdmin uniquement
list_networksLister les réseaux WireGuard accessiblesNon
get_networkObtenir les détails d'un réseau par IDNon
create_networkCréer un nouveau réseauOui
update_networkMettre à jour le nom/DNS d'un réseauOui
delete_networkSupprimer un réseauOui

Peers

OutilDescriptionAdmin uniquement
list_peersLister les peers d'un réseauNon
get_peerObtenir les détails d'un peerNon
create_peerCréer un nouveau peerNon
update_peerRenommer un peerNon
delete_peerSupprimer un peerNon
get_peer_configObtenir le fichier config WireGuard d'un peerNon

Groupes (nécessite DB)

OutilDescriptionAdmin uniquement
list_groupsLister les groupes d'un réseauNon
create_groupCréer un nouveau groupeOui
update_groupMettre à jour le nom, la description ou la priorité d'un groupeOui

Politiques (nécessite DB)

OutilDescriptionAdmin uniquement
list_policiesLister les politiques d'un réseauNon
create_policyCréer une nouvelle politique avec des règlesOui
update_policyMettre à jour le nom ou la description d'une politiqueOui

Routes (nécessite DB)

OutilDescriptionAdmin uniquement
list_routesLister les routes d'un réseauNon
create_routeCréer une route (CIDR de destination via jump peer)Oui
update_routeMettre à jour la configuration d'une routeOui

Incidents de sécurité

OutilDescriptionAdmin uniquement
list_incidentsLister tous les incidents de sécuritéNon
get_incidentObtenir les détails d'un incidentNon
resolve_incidentMarquer un incident comme résoluNon

Les outils de groupes, politiques et routes ne sont enregistrés que lorsque le backend de base de données est activé (DB_ENABLED=true).

Configuration Claude Code

Ajouter à ~/.claude/settings.json (niveau utilisateur, tous les projets) ou .mcp.json (niveau projet) :

{
"mcpServers": {
"wirety": {
"type": "http",
"url": "http://localhost:8080/mcp",
"headers": {
"Authorization": "Bearer wirety_<votre-token>"
}
}
}
}

Configuration Claude Desktop

Ajouter à ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) :

{
"mcpServers": {
"wirety": {
"type": "http",
"url": "http://localhost:8080/mcp",
"headers": {
"Authorization": "Bearer wirety_<votre-token>"
}
}
}
}

Redémarrer Claude Desktop après avoir modifié la configuration.

Dépannage

ProblèmeCauseSolution
"not valid MCP server configurations" dans Claude Desktop"type": "http" manquantAjouter "type": "http" à la configuration du serveur
401 UnauthorizedToken invalide ou expiréRe-créer le token dans l'interface
Outils manquants (groupes, politiques, routes)DB non activéeDéfinir DB_ENABLED=true et configurer DB_DSN
MCP fonctionne via curl mais pas ClaudeMauvais transportS'assurer que le serveur a été recompilé après la migration vers HTTP Streamable