Connects Claude to HPE Aruba Central's network infrastructure via OAuth2, exposing real-time status for access points, switches, and wireless clients. You get tools to list APs by site or status, check radio channel utilization and noise floors, track client roaming history, identify top bandwidth consumers, and pull throughput trends over time. It handles OData filtering server-side and auto-refreshes tokens, so you can ask conversational questions about your wireless environment without juggling the GreenLake API directly. Reach for this when you're troubleshooting Wi-Fi issues, auditing SSID configurations, or need to correlate client behavior across your Aruba deployment from the Claude interface.
English | 日本語
MCP server for Aruba Central (GreenLake New Central API).
Exposes access point, switch, and wireless client status to MCP-compatible AI assistants (Claude Code, Claude Desktop, etc.) via STDIO transport.
| Tool | Description |
|---|---|
list_aps | List all access points (with optional site/status filter) |
list_radios | List AP radios (channel, utilization, noise floor, TX power) |
list_bssids | List all BSSIDs |
list_wlans | List WLANs (SSID, security, VLAN) |
list_swarms | List AP swarms/clusters |
get_ap_status | Get detailed status of a specific AP |
get_ap_throughput | Get AP throughput trend (TX/RX over time) |
get_top_aps | Top APs by bandwidth usage (wireless/wired/total) |
| Tool | Description |
|---|---|
list_clients | List connected wireless clients (with optional SSID/band filter) |
find_client_by_mac | Find a client by MAC address (direct API lookup) |
get_clients_trend | Client count trend over time |
get_top_clients_by_usage | Top clients by bandwidth usage |
get_client_mobility_trail | Client roaming history |
| Tool | Description |
|---|---|
list_switches | List all switches |
get_site_summary | Aggregated site-level summary (AP counts, client counts) |
health_check | Report server version and verify Aruba Central authentication (no data fetch) |
mcp SDK + httpx (no pandas)# uv
uv pip install aruba-central-mcp
# pip
pip install aruba-central-mcp
Or run without installing:
uvx aruba-central-mcp
From source:
git clone https://github.com/shigechika/aruba-central-mcp.git
cd aruba-central-mcp
# uv
uv sync
# pip
pip install -e .
Set the following environment variables:
| Variable | Description | Example |
|---|---|---|
ARUBA_CENTRAL_BASE_URL | API gateway URL | apigw-uswest4.central.arubanetworks.com |
ARUBA_CENTRAL_CLIENT_ID | OAuth2 client ID | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
ARUBA_CENTRAL_CLIENT_SECRET | OAuth2 client secret | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
client_id and client_secret — the secret is shown only onceFor details, see:
claude mcp add aruba-central \
-e ARUBA_CENTRAL_BASE_URL=apigw-uswest4.central.arubanetworks.com \
-e ARUBA_CENTRAL_CLIENT_ID=your-client-id \
-e ARUBA_CENTRAL_CLIENT_SECRET=your-client-secret \
-- uvx aruba-central-mcp
Or add to .mcp.json:
{
"mcpServers": {
"aruba-central": {
"command": "uvx",
"args": ["aruba-central-mcp"],
"env": {
"ARUBA_CENTRAL_BASE_URL": "apigw-uswest4.central.arubanetworks.com",
"ARUBA_CENTRAL_CLIENT_ID": "your-client-id",
"ARUBA_CENTRAL_CLIENT_SECRET": "your-client-secret"
}
}
}
}
Add to claude_desktop_config.json:
{
"mcpServers": {
"aruba-central": {
"command": "uvx",
"args": ["aruba-central-mcp"],
"env": {
"ARUBA_CENTRAL_BASE_URL": "apigw-uswest4.central.arubanetworks.com",
"ARUBA_CENTRAL_CLIENT_ID": "your-client-id",
"ARUBA_CENTRAL_CLIENT_SECRET": "your-client-secret"
}
}
}
}
export ARUBA_CENTRAL_BASE_URL="apigw-uswest4.central.arubanetworks.com"
export ARUBA_CENTRAL_CLIENT_ID="your-client-id"
export ARUBA_CENTRAL_CLIENT_SECRET="your-client-secret"
python3 -m aruba_central_mcp
aruba-central-mcp --version # Print version and exit
aruba-central-mcp --help # Show usage and required environment variables
aruba-central-mcp --check # Verify environment variables and OAuth2 authentication, then exit
aruba-central-mcp # Start MCP server (STDIO, default)
With no options, the process runs as an MCP STDIO server (the mode used by MCP clients).
--check exit codes: 0 success, 1 config error, 2 auth error.
git clone https://github.com/shigechika/aruba-central-mcp.git
cd aruba-central-mcp
# uv
uv sync --dev
uv run pytest -v
# pip
python3 -m venv .venv
.venv/bin/pip install -e ".[test]"
.venv/bin/pytest -v
This server uses the GreenLake New Central API:
/network-monitoring/v1/aps — Access points/network-monitoring/v1/radios — AP radios/network-monitoring/v1/bssids — BSSIDs/network-monitoring/v1/wlans — WLANs/network-monitoring/v1/swarms — AP swarms/clusters/network-monitoring/v1/switches — Switches/network-monitoring/v1/clients — Clients/network-monitoring/v1/clients-trend — Client count trends/network-monitoring/v1/clients-topn-usage — Top clients by usage/network-monitoring/v1/top-aps-by-usage — Top APs by usage