Skip to main content

MCP server for Aruba Central: expose AP, switch, and client status to AI assistants

Project description

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

  • 15 tools for querying Aruba Central infrastructure:

    Access Points

    • 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

    • 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

    • list_switches — List all switches
    • get_site_summary — Aggregated site-level summary (AP counts, client counts)
  • 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)

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

  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

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/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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aruba_central_mcp-0.2.0.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aruba_central_mcp-0.2.0-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file aruba_central_mcp-0.2.0.tar.gz.

File metadata

  • Download URL: aruba_central_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aruba_central_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 de8d7dd381c4035913634b00038c37acafa3a05b3ebe4c17483b21ac4e7658a7
MD5 e5e9f48c727c07258a6b608f2053b2f8
BLAKE2b-256 af35871c227cc0df1df01599b0cac9c9e9634480dcab56c7377c0fb5aaf4ba12

See more details on using hashes here.

Provenance

The following attestation bundles were made for aruba_central_mcp-0.2.0.tar.gz:

Publisher: release.yml on shigechika/aruba-central-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aruba_central_mcp-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for aruba_central_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7019fcdb083f024c2e1bcc5c771aa32f681f6a4b4caf9c75fbfc920db5c07258
MD5 7ccbf4009990549cda36e0820ab9db8d
BLAKE2b-256 6727251c609091b65d60420b86d58ef779ee570a84c17997274316d36369268a

See more details on using hashes here.

Provenance

The following attestation bundles were made for aruba_central_mcp-0.2.0-py3-none-any.whl:

Publisher: release.yml on shigechika/aruba-central-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page