Skip to main content
Glama

UniFi MCP

CI License: MIT

Ein Model Context Protocol-Server für UniFi Network und UniFi Protect, damit ein KI-Assistent Fragen zu deinem Netzwerk beantworten kann – und, wenn du es erlaubst, auch darauf zugreifen kann.

Er spricht direkt mit deiner UniFi-OS-Konsole (UDR, UDM/UDM-Pro/SE, UCG, Cloud Key) über dein lokales Netzwerk. Kein Cloud-Dienst, kein Ubiquiti-Konto, nichts verlässt dein LAN, außer dem, was du mit deinem Assistenten teilst.

Funktioniert mit jedem MCP-Client. Erhältlich als Ein-Klick-.mcpb-Plugin für Claude Desktop, als per npx ausführbarer Server und als normales Node-Projekt.


Was du fragen kannst

Welche Geräte sind gerade mit meinem WLAN verbunden und an welchem Access Point hängen sie? Hat irgendetwas im Netzwerk eine schlechte Verbindung? Zeig mir die Türklingel-Ereignisse von letzter Nacht. Mach ein Foto von der Kamera an der Haustür. Welche Ports werden aus dem Internet weitergeleitet? Starte den Access Point im Wohnzimmer neu. (erfordert aktivierte Aktionen)

Related MCP server: UniFi MCP Server

Highlights

  • Network: Geräte, Clients (live und historisch), WLANs, VLANs und Subnetze, Firewall-Regeln, Portweiterleitungen, Site-Health und WAN-Status, Ereignisprotokoll, Alarme, historische Statistiken, Gast-Gutscheine.

  • Protect: Kameras und Türklingeln, Live-Snapshots als Bilder, Bewegung-/Klingel-/Smart-Erkennungs-Ereignisse, Sensoren, Lichter, Klingeln, RTSPS-Stream-URLs.

  • Drei Berechtigungsstufen – standardmäßig schreibgeschützt; Aktionen und Konfigurationsänderungen sind optionale Schalter.

  • Zwei Authentifizierungsmethoden – offizieller API-Schlüssel und/oder ein lokales Administratorkonto, wobei jede einen anderen Teil der UniFi-API freischaltet. Für die volle Abdeckung beides verwenden.

  • Kompakte Ausgabe – jedes Listen-Tool fasst standardmäßig zusammen (detail: "full" liefert die rohen UniFi-Objekte), damit die Antworten lesbar und kostengünstig bleiben.

  • Notausgangunifi_raw_request erreicht jeden Endpunkt, für den es kein eigenes Tool gibt.


Voraussetzungen

  • Eine UniFi-OS-Konsole, die vom Rechner mit dem MCP-Server aus erreichbar ist.

  • Node.js 20.18.1 oder neuer (nur für die npx-/Quellcode-Installation – das .mcpb-Plugin verwendet die Laufzeit, die mit Claude Desktop mitgeliefert wird).

  • Anmeldedaten, siehe Authentifizierung.


Installation

Option A – Claude-Desktop-Plugin (.mcpb)

  1. Lade unifi-mcp-<version>.mcpb aus dem aktuellsten Release herunter.

  2. Öffne Claude Desktop → Einstellungen → Erweiterungen und ziehe die Datei hinein (oder doppelklicke sie).

  3. Trage in den Einstellungen die Konsolenadresse und die Anmeldedaten ein und entscheide, ob Aktionen erlaubt werden sollen.

Alles ist gebündelt, eine separate Node-Installation ist nicht nötig.

Die npx-Beispiele unten verwenden das veröffentlichte npm-Paket. Bis zur ersten npm-Veröffentlichung kannst du npx direkt auf das Repository zeigen lassen: npx -y github:mbgroen/unifi-mcp.

Option B – Claude Code

claude mcp add unifi \
  --env UNIFI_HOST=192.168.1.1 \
  --env UNIFI_USERNAME=mcp-readonly \
  --env UNIFI_PASSWORD='your-password' \
  --env UNIFI_API_KEY='your-api-key' \
  -- npx -y @mbgroen/unifi-mcp

Option C – jeder andere MCP-Client

Füge dies zur MCP-Server-Konfiguration des Clients hinzu (Cursor, VS Code, Windsurf, Zed, eigene Anwendungen):

{
  "mcpServers": {
    "unifi": {
      "command": "npx",
      "args": ["-y", "@mbgroen/unifi-mcp"],
      "env": {
        "UNIFI_HOST": "192.168.1.1",
        "UNIFI_API_KEY": "your-api-key",
        "UNIFI_USERNAME": "mcp-readonly",
        "UNIFI_PASSWORD": "your-password",
        "UNIFI_PERMISSION_MODE": "read-only"
      }
    }
  }
}

Option D – aus dem Quellcode

git clone https://github.com/mbgroen/unifi-mcp.git
cd unifi-mcp
npm install
npm run build
cp .env.example .env   # fill it in
node dist/index.js     # speaks MCP over stdio

Authentifizierung

UniFi OS stellt zwei API-Familien bereit, die nicht austauschbar sind. Dieser Server unterstützt beide und wählt automatisch die konfigurierte aus – die Einrichtung beider bietet die breiteste Abdeckung.

API-Schlüssel

Lokales Konto

Wo

Einstellungen → Control Plane → Integrationen → API-Schlüssel erstellen

Einstellungen → Administratoren → Administrator hinzufügen (nur lokaler Zugriff, keine 2FA)

Variable

UNIFI_API_KEY

UNIFI_USERNAME + UNIFI_PASSWORD

Abdeckung

Offiziell unterstützte Teilmenge: Standorte, Geräte, Clients, Gutscheine, Protect-Kameras/Snapshots

Alles, was die UniFi-Web-App selbst nutzt: Statistiken, Ereignisse, Alarme, Firewall, Portweiterleitungen, WLAN-/VLAN-Konfiguration, Protect-Ereignisprotokoll

Stabilität

Stabil, dokumentiert

Inoffiziell; kann sich mit einem UniFi-Update ändern

Für einen schreibgeschützten Zugriff ein lokales Administratorkonto mit der Rolle Viewer einrichten. Aktionen und Konfigurationsänderungen erfordern ein Konto mit Admin-Rechten.

Zwei-Faktor-Authentifizierung wird für das lokale Konto nicht unterstützt – die Sitzungsanmeldung hat keine Möglichkeit, einen Code abzufragen. Erstelle ein separates lokales Konto ohne 2FA für diesen Server. (Dein eigenes Konto behält seine 2FA.)


Berechtigungsstufen

Der Server weigert sich, Tools auszuführen, die er nicht ausführen darf – ein nicht erlaubtes Tool wird nicht nur beim Aufruf blockiert, es wird gar nicht erst aufgelistet.

Modus

UNIFI_PERMISSION_MODE

Plugin-Schalter

Was hinzukommt

Schreibgeschützt (Standard)

read-only

beide aus

Nur lesen. Nichts an deinem Netzwerk kann sich ändern.

Aktionen

safe

Aktionen erlauben

Client blockieren/freigeben, Client neu verbinden, Gerät neu starten, LED blinken lassen, PoE-Port neu starten, SSID ein-/ausschalten, Geschwindigkeitstest ausführen, Gast-Gutscheine verwalten, Clients umbenennen, Türklingel-Nachricht festlegen. Alles umkehrbar.

Volle Kontrolle

full

Konfigurationsänderungen erlauben

Firewall-Regeln, Portweiterleitungen, WLAN- und Netzwerkeinstellungen, Firmware-Updates, Protect-Aufnahmemodi und Schreibzugriff über unifi_raw_request.

Beginne mit schreibgeschützt. Erhöhe die Stufe nur, wenn du möchtest, dass der Assistent tatsächlich Änderungen vornimmt, und denke daran: Ein Assistent handelt auf der Grundlage dessen, was er liest – einschließlich Gerätenamen und Notizen, die aus dem Netzwerk selbst stammen.


Tools

Schreibgeschützt

Tool

Was es tut

Konsole

unifi_status

Prüft die Verbindung zur UniFi-Konsole: welche Anmeldedaten funktionieren, welche Anwendungen erreichbar sind und was dieser Server derzeit tun darf. Zuerst verwenden, wenn etwas fehlschlägt.

unifi_raw_request

Notausgang für Endpunkte ohne dediziertes Tool. GET ist in jedem Berechtigungsmodus verfügbar; andere Methoden erfordern volle Kontrolle. Pfade sind relativ zur gewählten API-Oberfläche.

UniFi Network

unifi_list_sites

Listet die UniFi-Network-Standorte auf dieser Konsole auf, mit dem Standortnamen, der an andere Tools übergeben werden kann.

unifi_list_devices

Listet übernommene UniFi-Geräte (Gateway/Router, Access Points, Switches) mit Modell, Status, Firmware, Betriebszeit, Client-Anzahl und Auslastung auf.

unifi_get_device

Vollständige Details für ein UniFi-Gerät anhand der MAC-Adresse, einschließlich Funkmodule, Ports, Temperaturen und Uplink.

unifi_list_clients

Listet Clients im Netzwerk mit IP, Signal, Durchsatz und dem verwendeten Access Point oder Switch-Port auf.

unifi_list_known_clients

Listet alle Clients auf, die der Controller je gesehen hat, einschließlich offline Clients, deren festen IPs, Notizen und blockiertem Status.

unifi_list_wlans

Listet die konfigurierten SSIDs mit Sicherheitseinstellungen, Band und aktiviertem Status auf.

unifi_list_networks

Listet LANs, VLANs und WAN-Konfiguration einschließlich Subnetzen und DHCP-Bereichen auf.

unifi_list_port_forwards

Listet Portweiterleitungsregeln auf dem Gateway auf.

unifi_list_firewall_rules

Listet Firewall-Regeln (und optional Firewall-Gruppen) auf, die auf dem Gateway konfiguriert sind.

unifi_site_health

Gesamtzustand pro Subsystem (WAN, LAN, WLAN, VPN): Status, Betriebszeit, Latenz, Durchsatz und letztes Speedtest-Ergebnis.

unifi_list_events

Aktuelle Network-Ereignisse: Client-Verbindung/-Trennung, Roaming, Geräteneustarts, Konfigurationsänderungen.

unifi_list_alarms

Offene (oder archivierte) Alarme, die von der Network-Anwendung ausgelöst wurden.

unifi_get_stats

Zeitreihenstatistiken für den Standort, einen Access Point, das Gateway oder einen einzelnen Client (Durchsatz, Clients, Latenz).

unifi_list_vouchers

Listet Gast-Hotspot-Gutscheine mit ihrer Dauer, ihrem Kontingent und ihrer Nutzung auf.

UniFi Protect

unifi_protect_info

Version, Speicher- und Aufnahmestatus des UniFi-Protect-NVR, der auf dieser Konsole läuft.

unifi_protect_list_cameras

Listet Kameras und Türklingeln mit Verbindungsstatus, Aufnahmemodus, Akkustand und letzter Bewegung/Klingel auf.

unifi_protect_get_camera

Vollständige Details einer Kamera oder Türklingel, einschließlich ihrer Funktionsflags und Einstellungen.

unifi_protect_snapshot

Ruft ein aktuelles Standbild von einer Kamera oder Türklingel ab und gibt es als Bild zurück, damit es direkt angesehen werden kann.

unifi_protect_list_events

Aktuelle Protect-Ereignisse: Bewegung, intelligente Erkennungen (Person, Fahrzeug, Paket), Türklingel-Läuten und Geräteverbindung/-trennung.

unifi_protect_list_devices

Listet Protect-Sensoren, -Leuchten, -Klingeln, -Viewer und -Türschlösser auf.

unifi_protect_get_stream_url

Gibt die RTSPS-URL für eine Kamera zurück, damit sie in VLC, ffmpeg oder einem Mediaplayer geöffnet werden kann.

Aktionen (sicher)

Tool

Was es tut

UniFi Network

unifi_block_client

Blockiert ein Gerät im Netzwerk oder hebt eine bestehende Blockierung auf. Mit demselben Tool vollständig umkehrbar.

unifi_reconnect_client

Erzwingt eine erneute Verbindung eines WLAN-Clients (Kick). Nützlich, um ein Gerät auf ein anderes Band oder einen anderen Access Point zu verschieben.

unifi_authorize_guest

Autorisiert einen Client am Gastportal für einen Zeitraum oder widerruft diesen Zugriff.

unifi_set_client_name

Vergibt einem Client einen freundlichen Namen und/oder eine Notiz im Controller.

unifi_restart_device

Startet einen Access Point, Switch oder das Gateway selbst neu. Ein Soft-Restart startet die Software neu; ein Hard-Restart führt einen Stromzyklus durch.

unifi_locate_device

Lässt ein UniFi-Gerät seine LED blinken, damit es physisch gefunden werden kann, oder stoppt das Blinken.

unifi_power_cycle_port

Führt einen Stromzyklus an einem PoE-Switch-Port durch und startet so das angeschlossene Gerät neu.

unifi_set_wlan_enabled

Schaltet eine SSID ein oder aus, z. B. ein Gast- oder IoT-Netzwerk.

unifi_run_speedtest

Startet einen Geschwindigkeitstest auf dem Gateway oder liest den Status des laufenden Tests.

unifi_create_voucher

Erstellt einen oder mehrere Gast-Hotspot-Gutscheine.

unifi_revoke_voucher

Löscht einen Gastgutschein, sodass er nicht mehr verwendet werden kann.

UniFi Protect

unifi_protect_set_doorbell_message

Zeigt eine benutzerdefinierte Nachricht auf dem Bildschirm einer UniFi-Türklingel an oder setzt sie auf den Standard zurück. Umkehrbar.

unifi_protect_set_light

Schaltet ein UniFi-Protect-Flutlicht ein oder aus oder übergibt die Steuerung zurück an die Bewegungserkennung.

Konfiguration (voll)

Tool

Was es tut

UniFi Network

unifi_set_port_forward_enabled

Schaltet eine bestehende Portweiterleitungsregel ein oder aus.

unifi_set_firewall_rule_enabled

Schaltet eine bestehende Firewall-Regel ein oder aus.

unifi_update_wlan

Ändert Einstellungen an einer SSID (Name, Passwort, Band, Gastrichtlinie, ...). Nur die angegebenen Schlüssel werden geändert.

unifi_update_network

Ändert Einstellungen an einer LAN-/VLAN-/WAN-Definition. Nur die angegebenen Schlüssel werden geändert.

unifi_upgrade_device

Startet ein Firmware-Upgrade auf einem UniFi-Gerät. Das Gerät startet neu, wenn es abgeschlossen ist.

UniFi Protect

unifi_protect_set_recording_mode

Legt fest, wann eine Kamera aufnimmt: immer, nur bei Erkennungen oder nie. Dies wirkt sich auf Ihr Sicherheitsmaterial aus.

unifi_protect_update_device

Ändert beliebige Einstellungen an einem Protect-Gerät (Kamera, Sensor, Leuchte, Klingel, Viewer). Nur die angegebenen Schlüssel werden geändert.

Jedes List-Tool akzeptiert detail: "summary" | "full"; standortbezogene Tools akzeptieren site, um den konfigurierten Standort zu überschreiben.


Konfigurationsreferenz

Variable

Standard

Beschreibung

UNIFI_HOST

(erforderlich)

Hostname oder IP der Konsole. https:// wird vorausgesetzt.

UNIFI_API_KEY

API-Schlüssel für die offizielle Integrations-API.

UNIFI_USERNAME / UNIFI_PASSWORD

Lokales UniFi-OS-Konto für die interne API.

UNIFI_MFA_TOKEN

Einmaliger 2FA-Code, falls Sie unbedingt ein Konto mit 2FA verwenden müssen.

UNIFI_SITE

default

Name des Netzwerk-Standorts.

UNIFI_PERMISSION_MODE

read-only

read-only, safe oder full.

UNIFI_ALLOW_WRITE

false

Boolesche Alternative, die auf safe abbildet.

UNIFI_ALLOW_FULL_CONTROL

false

Boolesche Alternative, die auf full abbildet.

UNIFI_ENABLE_NETWORK

true

Netzwerk-Tools verfügbar machen.

UNIFI_ENABLE_PROTECT

true

Protect-Tools verfügbar machen.

UNIFI_VERIFY_TLS

false

Zertifikat der Konsole verifizieren. Konsolen verwenden ein selbstsigniertes Zertifikat auf ihrer lokalen Adresse.

UNIFI_TIMEOUT_MS

20000

Timeout pro Anfrage.

Mindestens ein Anmeldedatensatz ist erforderlich; der Server beendet sich mit einer Erklärung, wenn keiner konfiguriert ist.


Sicherheitshinweise

  • Die Anmeldedaten liegen in der Konfiguration Ihres MCP-Clients. In Claude Desktop speichert das Plugin den API-Schlüssel und das Passwort im Schlüsselbund des Betriebssystems, da sie als sensitive markiert sind.

  • Die TLS-Verifizierung ist standardmäßig deaktiviert, da UniFi-Konsolen ein selbstsigniertes Zertifikat für ihre LAN-Adresse verwenden. Die Verbindung ist dennoch verschlüsselt, aber nicht authentifiziert – behalten Sie den Server in einem vertrauenswürdigen Netzwerk oder installieren Sie ein ordnungsgemäßes Zertifikat und setzen Sie UNIFI_VERIFY_TLS=true.

  • Alles, was ein Assistent aus Ihrem Netzwerk liest (Clients, Notizen, SSIDs, Ereignismeldungen), ist nicht vertrauenswürdige Eingabe. Das ist ein weiterer Grund, den Server schreibgeschützt zu lassen, sofern Sie keinen Grund für mehr haben.

  • Es wird nichts irgendwohin gesendet, außer an Ihre Konsole und an den MCP-Client, mit dem Sie verbunden sind.


Fehlerbehebung

Führen Sie zuerst unifi_status aus – es zeigt an, welche Anmeldedaten authentifiziert wurden, welche Anwendungen geantwortet haben und welcher Berechtigungsmodus aktiv ist.

Symptom

Wahrscheinliche Ursache

login failed: invalid username or password

Verwendung eines Ubiquiti-SSO-Kontos anstelle eines lokalen Kontos, oder das Konto hat 2FA aktiviert.

requires two-factor authentication (HTTP 499)

Erstellen Sie ein lokales Konto ohne 2FA.

Could not reach the UniFi console

Falscher UNIFI_HOST, oder das Gerät kann die Konsole nicht erreichen. Versuchen Sie zuerst curl -k https://<host>/.

self-signed certificate errors

Setzen Sie UNIFI_VERIFY_TLS=false.

Protect-Tools melden unreachable

Protect ist auf dieser Konsole nicht installiert, oder der API-Schlüssel hat keinen Protect-Zugriff. Setzen Sie UNIFI_ENABLE_PROTECT=false, um die Tools auszublenden.

Ein Tool fehlt in der Liste

Es ist eine höhere Berechtigungsstufe erforderlich, oder die entsprechende Anwendung ist deaktiviert.

only available through the internal UniFi Network API

Diese Daten sind nicht in der Integrations-API enthalten – fügen Sie UNIFI_USERNAME/UNIFI_PASSWORD hinzu.


Entwicklung

npm install
npm run build          # compile TypeScript to dist/
npm run typecheck      # types only
npm run inspect        # MCP Inspector against the local build
npm run bundle         # build unifi-mcp-<version>.mcpb

Hinzufügen eines Tools: Definieren Sie es mit defineTool() in src/tools/, deklarieren Sie seine tier und feature und exportieren Sie es aus src/tools/index.ts. scripts/sync-manifest-tools.mjs hält manifest.json synchron (es wird als Teil von npm run bundle ausgeführt).

Veröffentlichung

npm version minor          # bumps package.json and creates the v-tag
git push --follow-tags

Der Release-Workflow erstellt das Bundle und hängt unifi-mcp-<version>.mcpb sowie SHA256SUMS.txt an den GitHub-Release an.


Kompatibilität

Entwickelt gegen UniFi OS 4.x mit UniFi Network 9.x und UniFi Protect 6.x auf einer UDR, mit In-Wall- und Standalone-Access-Points, einer LTE-Kamera und einer Türklingel. Andere UniFi-OS-Konsolen verwenden dieselbe API-Oberfläche. Endpunkte, die eine bestimmte Konsole oder Firmware nicht implementiert, geben einen klaren Fehler zurück, anstatt stillschweigend zu scheitern.

Lizenz

MIT – siehe LICENSE.

Nicht verbunden mit, unterstützt von oder gesponsert durch Ubiquiti Inc. UniFi ist eine Marke von Ubiquiti Inc.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    D
    quality
    D
    maintenance
    Enables comprehensive management of UniFi network infrastructure through the UniFi Cloud API, including device control, client management, camera settings, and access door control through natural language.
    39
    52
    Apache 2.0
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to manage and monitor UniFi Network Controllers through natural language. Provides 25 read-only tools for discovering devices and clients, viewing security configurations, analyzing network statistics, and exporting configuration data.
    41
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides AI assistants with access to UniFi Network and Protect infrastructure for managing devices, monitoring clients, analyzing network health, viewing camera snapshots, and getting optimization recommendations across multiple UniFi controllers.
    2
  • A
    license
    C
    quality
    A
    maintenance
    Enables AI agents to manage UniFi network infrastructure via the Model Context Protocol, supporting device management, network configuration, security, and QoS through local or cloud APIs.
    43
    52
    235
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.

  • Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

  • Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mbgroen/unifi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server