Setup¶
Prerequisites¶
- Python 3.10+
- Aruba Central account with API access (GreenLake New Central API)
- OAuth2 client credentials (client ID and secret)
Install¶
uv pip install aruba-central-mcp
# or
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 sync # or: pip install -e .
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:
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 |
All three are required — the server raises an error at first use if any is
unset. There is no config file and no file-path variable; every setting
comes from the environment, so it drops into a plugin's own .mcp.json
env block without any extra wiring.
Verify before wiring it into anything¶
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"
aruba-central-mcp --check
Exit 0 means authentication succeeded; 1 is a missing environment
variable, 2 an authentication error. Running this once turns "the tool
returns nothing" into a question you have already answered.
Register with an MCP client¶
Claude Code (plugin)¶
This repository doubles as a single-plugin marketplace:
/plugin marketplace add shigechika/aruba-central-mcp
/plugin install aruba-central-mcp@aruba-central-mcp
Export the three environment variables above before starting Claude Code —
the plugin launches uvx aruba-central-mcp and reads the same variables as
every other transport.
uvx must be on the PATH of the process that runs Claude Code — a login
shell usually has it, but a GUI-launched app may not; install
uv system-wide if the plugin fails to start.
Claude Code (manual)¶
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¶
claude_desktop_config.json takes the same env block under command:
{
"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
No-argument mode is the normal one — that is how MCP clients launch it.
Next¶
Reference lists every tool, the health_check contract, the
CLI, and exit codes.