cisco-wlc-mcp
v0.3.0
Published
MCP server for Cisco Catalyst 9800 WLC (RESTCONF, read-only)
Readme
cisco-wlc-mcp
MCP-Server für den Cisco Catalyst 9800 WLC (RESTCONF, read-only).
Setup
npm install
npm run buildKonfiguration (Umgebungsvariablen)
| Variable | Pflicht | Beschreibung |
|---------------------|---------|----------------------------------------------------|
| WLC_HOST | ja | Hostname/IP des WLC-Management-Interfaces |
| WLC_USERNAME | ja | RESTCONF-Benutzer |
| WLC_PASSWORD | ja | Passwort |
| WLC_PORT | nein | Port, Standard 443 |
| WLC_INSECURE_TLS | nein | "true" deaktiviert TLS-Zertifikatsprüfung (selbstsignierte Zertifikate) |
RESTCONF muss auf dem WLC aktiviert sein (restconf im Config-Mode).
MCP-Client-Config (Beispiel)
{
"mcpServers": {
"cisco-wlc": {
"command": "node",
"args": ["C:/Users/gessinger/git/cisco-mcp/dist/index.js"],
"env": {
"WLC_HOST": "192.0.2.10",
"WLC_USERNAME": "restconf-user",
"WLC_PASSWORD": "changeme",
"WLC_INSECURE_TLS": "true"
}
}
}
}Tools
list_access_points— verbundene APs (Name, MAC, IP, Modell)list_wireless_clients— verbundene WLAN-Clients (MAC, AP-Name, WLAN-ID, IPv4, Status, Kanal, Band, RSSI, SNR, PHY-Rate, Spatial Streams, Security Mode)list_wlans— konfigurierte WLANs/SSIDslist_policy_profiles— Policy Profiles (VLAN-Interface) inkl. Mapping über Policy Tags zu WLAN-Profilenlist_ap_radios— Radio-Diagnose pro AP (Band, Kanal, Kanalbreite, TX-Power-Level, Admin/Oper-State, Channel-Utilization, Client-Count, Noise-Floor)get_wlc_health— Controller-Health (CPU, Memory, Uptime, Software-Version, Reboot-Grund, verbundene APs, Radio-Status, fehlkonfigurierte APs)list_rogue_aps— erkannte Rogue APs (MAC, SSID, Klassifizierung, Status)restconf_get— Fallback für rohe RESTCONF-GET-Abfragen auf beliebige YANG-Pfade
Hinweis
Die Feldnamen in den YANG-Modellen können sich je nach IOS-XE-Version leicht unterscheiden.
Falls ein Tool leere/unerwartete Werte liefert, zunächst mit restconf_get die Rohdaten des
jeweiligen Pfads (z.B. Cisco-IOS-XE-wireless-access-point-oper:access-point-oper-data) prüfen
und die Extraktion in src/wlc.ts anpassen.
