Skip to main content
Glama

centralmcp — HPE Networking MCP toolkit

License Python MCP CI Docs Release

centralmcp banner showing 6,143 generated operations, 6,700 backend tools, 3 minimal router tools, and nine platform surfaces with embedded RAG

The banner tracks the current backend catalog: a large tool surface stays available on demand, while the MCP client itself only ever sees three router tools by default.

Low-token Model Context Protocol (MCP) server for HPE Networking automation: Aruba Central, HPE GreenLake Platform (GLP), ClearPass, Juniper Mist, Apstra, ArubaOS 8 migration automation, EdgeConnect, HPE Aruba UXI, and Axis Atmos Cloud.

centralmcp gives MCP-capable AI clients a low-token way to search Aruba/HPE docs, look up exact OpenAPI details, inspect Central health, run troubleshooting workflows, manage configuration, execute guarded ArubaOS 8 migrations, and use guarded GreenLake Platform operations. It is built around direct REST calls with httpx.

For the full visual walkthrough of this same information — audience picker, diagrams, and write-safety flow — see the centralmcp GitHub Pages site. This README stays intentionally short; canonical guides live under docs/.

Who it's for

You are...

Start with

A first-time MCP user

The five-minute credential-free quickstart below, then Getting started

An Aruba network operator

Example prompts and typed product workflows

A centralmcp developer

Architecture overview and Contributing guide

Related MCP server: HPE Aruba Networking Central MCP Server

Five-minute credential-free quickstart

Verify the install, build the router catalog, and start the MCP HTTP server before adding any Aruba Central or GreenLake Platform credentials:

git clone https://github.com/secure-ssid/centralmcp.git
cd centralmcp
python3 scripts/setup_wizard.py --yes --skip-credentials
uv run python scripts/doctor.py
MCP_PORT=8010 bash scripts/run_http_router.sh

Expected outcomes:

  • The wizard prints each completed phase and ends with a setup-complete summary; no Central/GLP calls are made.

  • doctor.py reports local dependency, config-path, and index checks — everything reads OK or lists what to fix, without calling any vendor API.

  • The HTTP router prints a Uvicorn running on http://127.0.0.1:8010 line and keeps running in the foreground.

The same six steps this diagram shows — clone, run the wizard, check the doctor, connect, discover, and call safely — are exactly what the commands above walk through.

Connect any MCP-capable client to http://127.0.0.1:8010/mcp, then try a credential-free discovery call:

find_tool("ask Aruba docs with citations")
invoke_read_tool("ask_docs", {"question": "WPA3 SAE transition mode", "top_k": 5})

Expected outcome: a short, cited answer from the embedded docs index — this call only reaches the local RAG index, never Central or GLP.

Write safety at a glance

  • find_tool only searches the local tool catalog; it never calls a vendor API.

  • invoke_read_tool blocks any backend tool that is not annotated read-only.

  • invoke_tool is deliberately marked destructive because it can also dispatch write/destructive backend tools — use it only when a write is intended.

  • Use dry_run=True first when supported; real execution then requires either confirm=True or MCP elicitation, depending on the tool schema.

  • Optional product writes stay blocked by default (CENTRALMCP_PRODUCT_ACCESS=read-only); a global or per-platform override is required for lab read-write access.

  • Credentials stay in config/credentials.yaml or environment variables and are never committed.

See Tool router for the complete discovery/dispatch/write-safety model.

Project snapshot

Area

Current snapshot

Tool catalog

Non-additive profiles: 361 core tools / 2814 read-only optional starters / 5796 read-write optional starters; complete backend index: 6,700

RAG

51,737 prose chunks; 244 specs, 3,796 endpoints, 11,293 schemas, 60,568 fields, 102 advisories, 346 lifecycle records

Optional platforms

ClearPass, Mist, Apstra, AOS8, EdgeConnect, UXI, Axis Atmos Cloud

Safety

Per-platform write gates, dry-run + confirmation, HTTP host/origin and bearer controls, credential-gated live-test config

Full per-backend counts live in Tool catalog. See the 0.7.0 release notes for everything added in the current release, and the capability gap matrix for reproducible tool/benchmark comparisons.

Why the router matters

Point your MCP client at one server: mcp_servers/tool_router.py. The recommended minimal profile keeps the client-visible tool list at three entries while still reaching the full backend catalog:

  1. find_tool — discover the right backend tool.

  2. invoke_read_tool — dispatch read-only calls.

  3. invoke_tool — dispatch intentional write/destructive calls only.

Task-oriented guides

Need

Guide

Full setup, credentials, and MCP client connection

Getting started

Copy/paste stdio or streamable HTTP client config

MCP client recipes

Router modes, toolsets, and safe dispatch in depth

Tool router

Real prompts with expected call shapes

Example prompts

Enable ClearPass, Mist, Apstra, AOS8, EdgeConnect, UXI, or Axis

Optional product starters

Typed product-specific workflow roadmap

Product workflows

Fix setup, credential, HTTP, or catalog issues

Troubleshooting

Architecture, data flow, and safety diagrams

System overview

Every backend's tool counts and coverage

Tool catalog

The complete task-based visual gateway

centralmcp GitHub Pages

Every documentation page, grouped by purpose

docs/README.md

Contribute, get support, or report a security issue

CONTRIBUTING.md, SUPPORT.md, SECURITY.md

Local setup essentials

The default MCP client profile stays lean:

CENTRALMCP_ROUTER_MODE=minimal
CENTRALMCP_TOOLSETS=central,glp,rag

Enable optional products only when needed:

CENTRALMCP_PRODUCTS=clearpass,mist,apstra,aos8,edgeconnect,uxi,axis
CENTRALMCP_PRODUCT_ACCESS=read-only

.claude/launch.json ships a matching minimal aruba-tool-router launch profile for daily use. find_tool omits full JSON schemas by default; request include_schema=true only when a client needs the full parameter shape.

Build or refresh the router tool index, and download the prebuilt RAG/OpenAPI indexes instead of scraping locally:

uv run python scripts/ingest_tools.py --products all
uv run python scripts/download_indexes.py

See Getting started for credentials, region selection, optional-product env vars, and the full ingestion/refresh path.

Streamable HTTP mode

MCP_PORT=8010 bash scripts/run_http_router.sh

Then point any MCP-capable client at http://127.0.0.1:8010/mcp. The server also exposes /livez, /readyz, and /healthz. Non-loopback binds require explicit MCP_ALLOWED_HOSTS/MCP_ALLOWED_ORIGINS and can be protected with MCP_HTTP_BEARER_TOKEN. See MCP client recipes for copy/paste stdio and HTTP configs.

Project layout

mcp_servers/     Low-token router + Central/GLP/RAG/optional-product servers
pipeline/        httpx clients, 8-stage migration pipeline, SSID helpers
ingestion/       Docs/API scraping and LanceDB + SQLite index builders
docs/            Setup, router, architecture, product, and release guides
scripts/         Setup wizard, local doctor, HTTP router helper, release validation
tests/           Unit, integration, and RAG eval coverage
config/          Credentials template; real credentials stay git-ignored
run_pipeline.py  Migration pipeline CLI
run_ssid.py      SSID helper CLI

The full repository map, including generated/git-ignored paths, lives in System overview.

Validation

uv run pytest tests/unit -q
uv run python scripts/validate_release.py --catalog-products all --strict-rag --strict-tool-index --min-tools 6700

The release helper runs unit tests, optional RAG/API eval when indexes exist, tool catalog floor checks, and local tool-index freshness checks. Unit tests also include static guards for the active MCP/pipeline code, committed low-token MCP config examples, local-only config files, router product/toolset docs, bounded generic read-only GET tools, MCP list default bounds, RAG/search top_k bounds, public tool-count claims, tool-count docstrings, tracked Markdown local links and images, Pages sitemap and robots metadata, documented router example arguments, product workflow tool-name tables, and wizard optional-product env tables.

centralmcp is an independent HPE Networking MCP toolkit, improved by watching the official MCP ecosystem and community work:

Disclaimer

centralmcp is an independent community project. It is not an official HPE or HPE Aruba Networking product and is not endorsed by or supported by HPE.

License

MIT - see the repository license. Generated API metadata and upstream implementation references are documented in THIRD_PARTY_NOTICES.md.

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
4dRelease cycle
13Releases (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.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Provides AI assistants with direct access to multi-vendor network devices for tasks like configuration management, health checks, and topology discovery through 35 specialized tools. It enables natural language control over platforms including Cisco, Juniper, and Nokia using SSH, NETCONF, and SNMP protocols.
    Last updated
    10
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    Exposes 90 production-grade tools for interacting with the complete HPE Aruba Networking Central REST API surface, including network inventory, configuration, and security management. It features enterprise-ready OAuth2 handling and semantic tool filtering for optimized performance with both hosted and local LLMs.
    Last updated

View all related MCP servers

Related MCP Connectors

  • Live SEO workflow tools for Claude Code, Codex, and AI agents.

  • SaaS intelligence for AI agents. 5 unified tools cover 1,000+ services with 91-96% token savings.

  • Garmin data in Claude: 135 tools — activities, sleep, HRV, training, workouts. Free, open source.

View all MCP Connectors

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/secure-ssid/centralmcp'

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