Production-grade MCP server for HPE Aruba Networking Central REST API
HPE Aruba Networking Central MCP Server
Production-grade MCP (Model Context Protocol) server that exposes the complete HPE Aruba Networking Central REST API surface as MCP tools. Every endpoint and parameter signature is sourced from the official aruba/pycentral SDK on GitHub.
Overview
This MCP server enables AI assistants like Claude to interact with HPE Aruba Networking Central through 90 production-ready tools organized across 19 API categories. It includes enterprise features like automatic OAuth2 token refresh, retry logic, structured error handling, and support for both stdio and SSE transports.
Tools by Category
The server provides 90 tools across 19 API categories:
| # | Category | Tools | Count |
|---|---|---|---|
| 1 | OAuth | refresh_api_token |
1 |
| 2 | Groups | get_groups, get_group_template_info, create_group, clone_group, delete_group |
5 |
| 3 | Devices Config | get_device_group, get_device_configuration, get_device_config_details, get_device_templates, get_group_device_templates, set_switch_ssh_credentials, move_devices |
7 |
| 4 | Templates | get_templates, get_template_text, delete_template |
3 |
| 5 | Template Variables | get_template_variables, get_all_template_variables, create_template_variables, update_template_variables, replace_template_variables, delete_template_variables |
6 |
| 6 | AP Settings | get_ap_settings, update_ap_settings |
2 |
| 7 | AP CLI Config | get_ap_cli_config, replace_ap_cli_config |
2 |
| 8 | WLANs | get_wlan, get_all_wlans, create_wlan, update_wlan, delete_wlan |
5 |
| 9 | Device Inventory | get_device_inventory, add_device_to_inventory, archive_devices, unarchive_devices |
4 |
| 10 | Licensing | get_subscription_keys, get_enabled_services, get_license_stats, get_license_service_config, assign_subscription, unassign_subscription, get_auto_license_services, assign_auto_license |
8 |
| 11 | Firmware | get_firmware_swarms, get_firmware_versions, get_firmware_upgrade_status, upgrade_firmware, cancel_firmware_upgrade |
5 |
| 12 | Sites | get_sites, create_site, update_site, delete_site, associate_devices_to_site, unassociate_devices_from_site |
6 |
| 13 | Topology | get_topology_site, get_topology_devices, get_topology_edges, get_topology_uplinks, get_topology_tunnels, get_topology_ap_lldp_neighbors |
6 |
| 14 | RAPIDS/WIDS | get_rogue_aps, get_interfering_aps, get_suspect_aps, get_neighbor_aps, get_wids_infrastructure_attacks, get_wids_client_attacks, get_wids_events |
7 |
| 15 | Audit Logs | get_audit_trail_logs, get_event_logs, get_event_details |
3 |
| 16 | VisualRF | get_visualrf_campus_list, get_visualrf_campus_info, get_visualrf_building_info, get_visualrf_floor_info, get_visualrf_floor_aps, get_visualrf_floor_clients, get_visualrf_client_location, get_visualrf_rogue_location |
8 |
| 17 | User Management | list_users, get_user, create_user, update_user, delete_user, get_roles |
6 |
| 18 | MSP | get_msp_customers, create_msp_customer, get_msp_country_codes, get_msp_devices, get_msp_groups |
5 |
| 19 | Telemetry | get_all_reporting_radios |
1 |
Production Features
- Auto Token Refresh: Automatically refreshes OAuth2 tokens on 401 responses before retrying requests
- Retry Logic: 1 automatic retry on authentication failure per request
- Clean Error Handling: All HTTP errors return structured JSON instead of crashing
- Null Parameter Cleanup: Optional
Noneparameters are automatically stripped before API calls - Dual Transport Support: Run as
stdio(default for Claude Desktop) or--ssefor HTTP mode - Environment-based Configuration: All secrets managed via environment variables (never hardcoded)
- Structured Logging: Full logging with timestamps for debugging and monitoring
- Official API Paths: All endpoints sourced from aruba/pycentral SDK
Prerequisites
- Python 3.8 or higher
- HPE Aruba Networking Central account with API access
- OAuth2 credentials (Client ID, Client Secret, Refresh Token)
- Access Token for API authentication
Installation
- Clone this repository:
git clone https://github.com/AirowireAILabs/new_aruba_mcp_server.git
cd new_aruba_mcp_server
- Install dependencies:
pip install -r requirements.txt
- Configure environment variables (see Configuration section below)
Configuration
Environment Variables
The server requires the following environment variables:
| Variable | Description | Default |
|---|---|---|
ARUBA_CENTRAL_BASE_URL |
Aruba Central API gateway URL | https://apigw-uswest4.central.arubanetworks.com |
| `ARUBA_CE |
Tools (5)
get_groupsRetrieves a list of all network groups.get_device_inventoryFetches the current inventory of network devices.get_wlanRetrieves details for a specific WLAN configuration.upgrade_firmwareInitiates a firmware upgrade for specified devices.get_audit_trail_logsRetrieves audit logs for security and compliance monitoring.Environment Variables
ARUBA_CENTRAL_BASE_URLrequiredAruba Central API gateway URLARUBA_CLIENT_IDrequiredOAuth2 Client IDARUBA_CLIENT_SECRETrequiredOAuth2 Client SecretARUBA_REFRESH_TOKENrequiredOAuth2 Refresh TokenConfiguration
{"mcpServers": {"aruba-central": {"command": "python", "args": ["/path/to/aruba-mcp/main.py"], "env": {"ARUBA_CENTRAL_BASE_URL": "https://apigw-uswest4.central.arubanetworks.com", "ARUBA_CLIENT_ID": "your_client_id", "ARUBA_CLIENT_SECRET": "your_client_secret", "ARUBA_REFRESH_TOKEN": "your_refresh_token"}}}}