Skip to main content
Glama
shigechika

io.github.shigechika/aruba-central-mcp

by shigechika

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 mcp SDK + httpx (no pandas)

Related MCP server: Gemini CLI MCP Server

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

  1. Log in to HPE GreenLake Platform

  2. Go to Manage Workspace > Personal API clients

  3. Click Create Personal API client

  4. Enter a nickname and select Aruba Central as the service

  5. Copy the client_id and client_secretthe 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

License

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
1wRelease cycle
7Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shigechika/aruba-central-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server