Aruba Central MCP
MCP server for Aruba Central: expose AP, switch, and client status to AI assistants
Ask AI about Aruba Central MCP
Powered by Claude Β· Grounded in docs
I know everything about Aruba Central MCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
aruba-central-mcp
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.
Features
Access Points
| 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) |
Clients
| 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 |
Infrastructure
| Tool | Description |
|---|---|
list_switches | List all switches |
get_site_summary | Aggregated site-level summary (AP counts, client counts) |
Highlights
- Server-side OData filtering for efficient queries
- OAuth2 Client Credentials authentication (GreenLake SSO)
- Automatic pagination for large result sets
- Token auto-refresh before expiration
- Lightweight: only
mcpSDK +httpx(no pandas)
Prerequisites
- Python 3.10+
- Aruba Central account with API access (GreenLake New Central API)
- OAuth2 client credentials (client ID and secret)
Setup
# 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 .
Configuration
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 |
How to obtain API credentials
- Log in to HPE GreenLake Platform
- Go to Manage Workspace > Personal API clients
- Click Create Personal API client
- Enter a nickname and select Aruba Central as the service
- Copy the
client_idandclient_secretβ the secret is shown only once
For details, see:
Usage
Claude Code
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"
}
}
}
}
Claude Desktop
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"
}
}
}
}
Direct execution
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
CLI Options
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.
Development
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
API Reference
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
