>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Python

Gestion des réseaux et caméras UniFi avec des agents LLM

UniFi MCP — AI agents for your UniFi infrastructure

Si vous avez déjà configuré un pare-feu dans UniFi Controller ou recherché un clip spécifique d'une caméra dans UniFi Protect, vous savez comment cela se passe. Vous ouvrez l'interface web, naviguez dans les menus, cherchez le bon VLAN ou l'adresse MAC du client. Automatiser ces tâches avec des scripts est possible, mais l'API d'Ubiquiti a ses particularités et change d'une version à l'autre.

Le projet unifi-mcp adopte une approche différente. Il s'agit d'un ensemble de serveurs utilisant le Model Context Protocol (MCP) qui connectent des assistants IA comme Claude Code, Codex ou OpenClaw aux contrôleurs UniFi.

Ce que contient le projet

Le dépôt est structuré comme un monorepo Python et TypeScript. Il est divisé en trois modules principaux couvrant les domaines de produits Ubiquiti :

  1. Network — un module pour gérer les équipements réseau. Il dispose de 186 outils pour travailler avec les VLAN, pare-feu, clients, réseaux Wi-Fi et appareils.
  2. Protect — un outil de vidéosurveillance. Comprend 61 fonctions pour rechercher des événements, analyser les détections de mouvement et travailler avec les caméras.
  3. Access — gestion du contrôle d'accès. Contient 36 fonctions pour travailler avec les portes, les identifiants et les journaux d'accès.

De plus, le projet inclut un serveur REST/GraphQL distinct pour les clients qui ne supportent pas encore le protocole MCP, ainsi qu'un système Cloud Relay pour connecter un réseau local avec des agents distants via Cloudflare Workers.

Sécurité et protection contre les erreurs fatales

Donner à un modèle de langage un accès direct au pare-feu de votre réseau domestique ou professionnel est une démarche audacieuse. Les développeurs de unifi-mcp ont intégré deux mécanismes de sécurité pour réduire le risque de tout casser.

Le premier mécanisme est le concept d'aperçu puis confirmation. Tout changement de configuration retourne d'abord un aperçu : l'agent IA affiche le JSON exact ou la liste des règles qu'il prévoit d'envoyer au contrôleur et attend votre confirmation explicite.

Le deuxième élément est la rédaction automatique des données sensibles. Par défaut, tous les mots de passe Wi-Fi, clés VPN, communautés SNMP et jetons sont supprimés des réponses des outils et remplacés par ***REDACTED***. Le modèle ne verra pas les secrets dans le contexte et ne pourra pas les « fuir » accidentellement dans les journaux. Cependant, si vous exécutez un script d'administration local de confiance, vous pouvez désactiver le masquage via des variables d'environnement.

Scénarios pratiques

Au lieu de rechercher manuellement dans l'interface, vous pouvez écrire des requêtes à l'agent en langage naturel.

Pour le module réseau :

  • « Afficher tous les clients dans le VLAN invité, leur force de signal et leur volume de trafic »
  • « Auditer les règles du pare-feu, trouver les politiques en double et conflictuelles »
  • « Créer une règle qui bloque l'accès Internet pour les appareils IoT de minuit à 6h »

Pour les systèmes de sécurité :

  • « Trouver tous les événements de reconnaissance de voiture à l'entrée cette semaine »
  • « Croiser les horodatages : qui a badgé à la porte d'entrée à 2h et quelle caméra a enregistré un mouvement à proximité à ce moment-là »

Au fait, pour les tâches fréquentes, le dépôt inclut déjà des compétences intégrées pour les agents. Par exemple, Firewall Auditor exécute 16 vérifications de sécurité réseau et affiche un score sur une échelle de 100 points avec des recommandations de correction.

Comment ça fonctionne techniquement

Le projet utilise activement les fonctionnalités des révisions récentes du protocole MCP. Comme un outil avec 186 fonctions peut remplir la fenêtre de contexte d'un LLM avant même que la conversation ne commence, une découverte paresseuse est implémentée ici. Initialement, le serveur ne passe que les méta-outils de recherche à l'assistant, et les points de terminaison spécifiques sont chargés à la demande.

Le lancement des serveurs dans un environnement local se fait avec une seule commande via uvx :

uvx unifi-network-mcp@latest
uvx unifi-protect-mcp@latest
uvx unifi-access-mcp@latest

La configuration est transmise via des variables d'environnement. Vous aurez besoin d'un compte administrateur local sur le contrôleur UniFi pour vous connecter. Note : les comptes avec authentification à deux facteurs ou Ubiquiti SSO ne fonctionneront pas — vous devrez créer un utilisateur de service local distinct pour que MCP fonctionne.

Exemple de configuration pour Claude Desktop :

{
  "mcpServers": {
    "unifi-network": {
      "command": "uvx",
      "args": ["unifi-network-mcp@latest"],
      "env": {
        "UNIFI_HOST": "192.168.1.1",
        "UNIFI_USERNAME": "mcp-service-account",
        "UNIFI_PASSWORD": "your-safe-password"
      }
    }
  }
}

Cela vaut-il la peine d'essayer

Le projet semble mature pour sa catégorie : 588 étoiles sur GitHub, des commits actifs et un support Python 3.13+. Il sera utile pour les administrateurs système, les passionnés de Home Assistant et toute personne construisant de l'automatisation sur Ubiquiti.

Si vous avez un seul point d'accès à la maison, il y a peu d'intérêt à configurer un serveur MCP. Mais pour une infrastructure complexe avec pare-feu, caméras et contrôle d'accès, la possibilité de demander à un agent au lieu de rechercher manuellement dans les tableaux de bord fait gagner beaucoup de temps.

Projets similaires