>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Python

Zarządzanie sieciami i kamerami UniFi za pomocą agentów LLM

UniFi MCP — AI agents for your UniFi infrastructure

Jeśli kiedykolwiek konfigurowałeś firewall w UniFi Controller lub szukałeś konkretnego nagrania z kamery w UniFi Protect, wiesz jak to wygląda. Otwierasz interfejs webowy, klikasz przez menu, szukasz odpowiedniego VLAN lub adresu MAC klienta. Automatyzacja tych zadań za pomocą skryptów jest możliwa, ale API Ubiquiti jest w niektórych miejscach nietypowe i zmienia się między wersjami.

Projekt unifi-mcp przyjmuje inne podejście. To zestaw serwerów wykorzystujących Model Context Protocol (MCP), które łączą asystentów AI takich jak Claude Code, Codex czy OpenClaw z kontrolerami UniFi.

Co zawiera projekt

Repozytorium jest zorganizowane jako monorepo w Pythonie i TypeScripcie. Podzielone jest na trzy główne moduły obejmujące obszary produktów Ubiquiti:

  1. Network — moduł do zarządzania sprzętem sieciowym. Zawiera 186 narzędzi do pracy z VLAN-ami, firewallami, klientami, sieciami Wi-Fi i urządzeniami.
  2. Protect — narzędzie do monitoringu wideo. Obejmuje 61 funkcji do wyszukiwania zdarzeń, analizy wykrywania ruchu i pracy z kamerami.
  3. Access — zarządzanie kontrolą dostępu. Zawiera 36 funkcji do pracy z drzwiami, poświadczeniami i logami dostępu.

Dodatkowo projekt zawiera osobny serwer REST/GraphQL dla klientów, którzy jeszcze nie obsługują protokołu MCP, oraz system Cloud Relay do łączenia sieci lokalnej z agentami zdalnymi przez Cloudflare Workers.

Bezpieczeństwo i ochrona przed błędami krytycznymi

Udzielenie modelowi językowemu bezpośredniego dostępu do firewalla sieci domowej lub biurowej to odważny krok. Twórcy unifi-mcp wbudowali dwa mechanizmy bezpieczeństwa, aby zmniejszyć ryzyko czegoś zepsucia.

Pierwszy mechanizm to koncepcja podglądu, a potem zatwierdzenia. Każda zmiana konfiguracji najpierw zwraca podgląd: agent AI pokazuje dokładnie JSON lub listę reguł, które zamierza wysłać do kontrolera, i czeka na twoje jawne potwierdzenie.

Drugi element to automatyczne maskowanie wrażliwych danych. Domyślnie wszystkie hasła Wi-Fi, klucze VPN, społeczności SNMP i tokeny są usuwane z odpowiedzi narzędzi i zastępowane przez ***REDACTED***. Model nie zobaczy sekretów w kontekście i nie może ich przypadkowo „wyciec" w logach. Jeśli jednak uruchamiasz zaufany lokalny skrypt administracyjny, możesz wyłączyć maskowanie za pomocą zmiennych środowiskowych.

Praktyczne scenariusze

Zamiast ręcznie przeszukiwać interfejs, możesz pisać zapytania do agenta w zwykłym języku.

Dla modułu sieciowego:

  • „Pokaż wszystkich klientów w sieci VLAN gościnnej, ich siłę sygnału i wolumen ruchu"
  • „Zaudytuj reguły firewalla, znajdź duplikaty i konflikty zasad"
  • „Utwórz regułę blokującą dostęp do internetu dla urządzeń IoT od północy do 6 rano"

Dla systemów bezpieczeństwa:

  • „Znajdź wszystkie zdarzenia rozpoznawania samochodów przy wejściu w tym tygodniu"
  • „Skoreluj znaczniki czasu: kto przyłożył kartę przy drzwiach wejściowych o 2 w nocy i która kamera zarejestrowała ruch w pobliżu w tym momencie"

Przy okazji, dla częstych zadań repozytorium zawiera już wbudowane umiejętności dla agentów. Na przykład Firewall Auditor uruchamia 16 testów bezpieczeństwa sieci i wyprowadza wynik w skali 0-100 z rekomendacjami naprawczymi.

Jak to działa technicznie

Projekt aktywnie wykorzystuje funkcje z najnowszych wersji protokołu MCP. Ponieważ narzędzie z 186 funkcjami może wypełnić okno kontekstowe LLM jeszcze przed rozpoczęciem rozmowy, tutaj zaimplementowano leniwe ładowanie. Początkowo serwer przekazuje asystentowi tylko meta-narzędzia wyszukiwania, a konkretne endpointy są ładowane na żądanie.

Uruchomienie serwerów w środowisku lokalnym odbywa się jednym poleceniem przez uvx:

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

Konfiguracja jest przekazywana przez zmienne środowiskowe. Potrzebujesz konta lokalnego administratora na kontrolerze UniFi do połączenia. Uwaga: konta z uwierzytelnianiem dwuskładnikowym lub Ubiquiti SSO nie będą działać — musisz utworzyć osobne lokalne konto użytkownika usługi dla MCP.

Przykładowa konfiguracja dla 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"
      }
    }
  }
}

Czy warto wypróbować

Projekt wygląda dojrzale jak na swoją klasę: 588 gwiazdek na GitHubie, aktywne commity i wsparcie dla Pythona 3.13+. Będzie przydatny dla administratorów systemów, entuzjastów Home Assistant i wszystkich budujących automatyzację na bazie Ubiquiti.

Jeśli masz w domu jeden punkt dostępowy, nie ma sensu konfigurować serwera MCP. Ale przy złożonej infrastrukturze z firewallami, kamerami i kontrolą dostępu, możliwość zapytania agenta zamiast ręcznego przeszukiwania dashboardów oszczędza sporo czasu.

Powiązane projekty