Skip to content

Reference

health_check()

Five keys are present on every call:

Key Meaning
status healthy / degraded / error
service Always aruba-central-mcp
version Package version
base_url Configured ARUBA_CENTRAL_BASE_URL (empty string when unset)
auth unknown / ok / error / missing-env

detail is added only on degraded or error, with the reason: a missing environment variable, or the Aruba Central error for a genuine authentication failure.

Lightweight by design: it builds the client and obtains an OAuth2 access token (GreenLake SSO, reusing the cached token when still valid) — it does NOT fetch APs, switches, clients, or any other data endpoint. Safe to call at session start or after a tool-call timeout.

Tool index

Access points

Tool Purpose
list_aps(site="", status="") List access points, with optional site/status filter (server-side)
get_ap_status(ap_name) Detailed status of one AP by name (case-insensitive)
list_radios(site="", band="") AP radios: channel, utilization, noise floor, TX power
list_bssids(site="") BSSIDs — which radio on which AP broadcasts which SSID
list_wlans(site_id="", serial_number="") Configured WLANs: SSID, band, security, VLAN
list_swarms(site="") AP swarms/clusters: conductor AP, site, IP, firmware
get_ap_throughput(serial_number, interface_type="WIRELESS", start_at="", end_at="") TX/RX throughput time series for one AP (default: last 3 hours)
get_top_aps(usage_type="total", site_id="", limit=10, start_at="", end_at="") Top APs by bandwidth (wireless / wired / total), default last 24h

Clients

Tool Purpose
list_clients(ssid="", band="") Connected wireless clients, with optional SSID/band filter
find_client_by_mac(mac_address) Direct API lookup of one client by MAC (wireless or wired)
get_clients_trend(site_id="", site_name="", start_at="", end_at="", group_by="TYPE", client_type="ALL") Client count trend, grouped by TYPE/ROLE/VLAN (any) or WLAN/RADIO/SECURITY/PROTOCOL (wireless only)
get_top_clients_by_usage(site_id="", site_name="", start_at="", end_at="", limit=5) Top clients ranked by bandwidth usage
get_client_mobility_trail(mac_address, start_at="", end_at="") Roaming history for one client: which AP, when, which SSID (default: last 3 hours)

Infrastructure

Tool Purpose
list_switches() All switches: name, status, model, type, IP, firmware, MAC
get_site_summary() Per-site AP counts (online/offline) and client counts

Morning patrol

Tool Purpose
health_check() Server version + backend auth probe, no data fetch
daily_brief(offline_threshold=10.0) Morning AP health check: sites whose offline-AP ratio exceeds offline_threshold% are flagged WARNING; an API failure renders CRITICAL

daily_brief

One Markdown report bucketing every access point by siteName and comparing each site's offline ratio against offline_threshold (default 10.0%, strictly greater-than, so a site sitting exactly at the threshold stays OK). A backend connection failure renders the whole report as ## CRITICAL — API error: <exception> instead of a partial brief with sites silently missing. Pass offline_threshold=0.0 to flag any site with at least one offline AP.

Server-side filtering

list_aps, list_clients, list_radios, list_bssids, and list_swarms build an OData v4 filter from their site / ssid / band arguments and send it to Aruba Central, rather than fetching everything and filtering locally — the query stays cheap regardless of tenant size. Listings that can return many pages (fetch_all in the client) paginate automatically.

CLI

aruba-central-mcp            # start the MCP server (stdio; default, no arguments)
aruba-central-mcp --version  # print version and exit
aruba-central-mcp --help     # show usage and required environment variables
aruba-central-mcp --check    # verify environment and authentication, then exit

Exit codes for --check: 0 success, 1 a required environment variable is missing, 2 authentication failed.