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
- 6 tools for querying Aruba Central infrastructure:
list_aps— List all access points (with optional site/status filter)list_switches— List all switcheslist_clients— List connected wireless clients (with optional SSID/band filter)find_client_by_mac— Find a wireless client by MAC addressget_ap_status— Get detailed status of a specific APget_site_summary— Aggregated site-level summary (AP counts, client counts)
- 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)
Installation
pip install aruba-central-mcp
Or with uv:
uvx aruba-central-mcp
For development:
git clone https://github.com/shigechika/aruba-central-mcp.git
cd aruba-central-mcp
pip install -e ".[test]"
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
Development
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/switches— Switches/network-monitoring/v1/clients— Wireless clients