hpe-networking-mcp
This server is a low-token MCP toolkit that lets AI clients discover and safely invoke a large catalog of HPE networking operations behind just three router tools.
find_tool: Search the backend tool catalog by natural-language query with filters for platform, server, capability, origin, and OpenAPI operation ID; returns compact results and optional full schemas.invoke_read_tool: Dispatch only read-only, annotated tools by name, with optional pagination cursor for truncated results.invoke_tool: Dispatch intentional write/destructive backend tools by name, with MCPServer argument validation/coercion and support for confirmation elicitation on sensitive operations.Covers HPE/Aruba platforms: Aruba Central, GreenLake Platform, ClearPass, Juniper Mist, Apstra, ArubaOS 8, EdgeConnect, UXI, and Axis Atmos Cloud.
Provides safe discovery and dispatch:
find_toolnever calls vendor APIs, read-only tools are enforced, writes are opt-in with dry-run/confirm safeguards and per-platform gates.Supports documentation/RAG search over a locally built prose corpus, plus structured API lookups for endpoints, schemas, fields, advisories, and lifecycle records.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@hpe-networking-mcpWhat's the health status of my Aruba Central sites?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
hpe-networking-mcp — HPE Networking MCP toolkit
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.
MCP lets an AI client — Claude Code, Copilot, Cursor, VS Code, or any other
MCP-capable host — call into a common toolbox instead of a bespoke plugin per
vendor. hpe-networking-mcp is one such server: point any MCP client at it and
it exposes a searchable catalog of HPE networking operations behind a small,
low-token surface.
hpe-networking-mcp 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
hpe-networking-mcp GitHub Pages site.
This README stays intentionally short; canonical guides live under docs/.
Why the router matters
Point your MCP client at one server: src/hpe_networking_mcp/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:
find_tool— discover the right backend tool.invoke_read_tool— dispatch read-only calls.invoke_tool— dispatch intentional write/destructive calls only.
Related MCP server: Network AI Assistant
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 | |
An hpe-networking-mcp developer | How MCP and RAG work, Architecture overview, Releases, and Contributing guide |
Five-minute credential-free quickstart
Verify the install and start the MCP HTTP server before adding any Aruba Central or GreenLake Platform credentials.
What each option gives you, before you pick:
What you get | Option A — published image | Option B — source checkout |
Router tools + exact-API lookup ( | Yes | Yes |
Prose docs RAG ( | Not included — needs an | The same two pieces: the |
Guided first run ( | No — the container starts straight into the router | Yes — |
Option A — pull the published image (no checkout): one docker run,
credential-free, for a look at the tool surface. The command and what it
does (and does not) include live in
Docker deployment → Kicking the tyres.
For a real containerized deployment — credentials, optional products, write
gates — start at Docker deployment; its
four steps are git clone, python3 scripts/setup_wizard.py --docker,
docker compose ... up -d mcp-router, curl .../livez.
Option B — build from source (adds the setup wizard, doctor diagnostics, and local index tooling):
git clone https://github.com/secure-ssid/hpe-networking-mcp.git
cd hpe-networking-mcp
python3 scripts/setup_wizard.py --yes --skip-credentials
uv run hpe-mcp-doctor
MCP_PORT=8010 bash scripts/run_http_router.shExpected outcomes:
The wizard prints each completed phase and ends with a setup-complete summary; no Central/GLP calls are made. On Windows hosts, build and run from a shell with LF line endings (WSL2 or a configured checkout) — CRLF checkouts break the entry scripts inside Docker builds.
doctor.pyreports local dependency, config-path, and index checks — everything readsOKor lists what to fix, without calling any vendor API.The HTTP router prints a
Uvicorn running on http://127.0.0.1:8010line and keeps running in the foreground.
Connect any MCP-capable client to http://127.0.0.1:8010/mcp, then try a
credential-free discovery call:
find_tool("list Aruba Central devices")Expected outcome: ranked matches read straight from the local tool index the wizard just built, each annotated with its capability and write-gate state. No vendor API is contacted.
Connect it in your client
Point any MCP-capable client at http://127.0.0.1:8010/mcp (or a stdio
hpe-mcp-router config) and it sees just the three router tools. Copy/paste
configs for Claude, Copilot, VS Code, Cursor, and others live in
MCP client recipes; the shipped examples are
under examples/mcp-clients/.
Documentation search is a separate, local build
ask_docs and the rest of the RAG surface need a prose corpus that this
project deliberately does not ship. That corpus is scraped vendor
documentation, and republishing it is not ours to do — see
ingestion/source_manifest.json, which has always said "Do not commit scraped
content". Build it yourself, under your own acceptance of each vendor's terms:
uv run --extra ingestion python ingestion/ingest_docs.pyBudget for it. The crawl is measured in hours, and the first RAG query
additionally downloads the ~250 MB nomic-embed-text-v1.5 embedding model
into your Hugging Face cache. Credential-free is not the same as offline:
the quickstart above needs no vendor credentials, but the corpus build and
first query both need network access.
Write safety at a glance
find_toolonly searches the local tool catalog; it never calls a vendor API.invoke_read_toolblocks any backend tool that is not annotated read-only.invoke_toolis deliberately marked destructive because it can also dispatch write/destructive backend tools — use it only when a write is intended.Use
dry_run=Truefirst when supported; real execution then requires eitherconfirm=Trueor MCP elicitation, depending on the tool schema.Writes are opt-in on every platform, Central included: under the default
HPE_MCP_ACCESS_PROFILE=customeach platform's write gate stays closed until you set it. Usesafe-read-onlyto block every write regardless of the per-platform gates, orfull-read-writeto enable ordinary writes on every loaded platform.Full read/write mode does not bypass dry-run, confirmation, elicitation, or dedicated safeguards such as the separate AOS8 rollback gate.
Credentials stay in
config/credentials.yamlor environment variables and are never committed.
Variable | Default | Effect |
|
|
|
|
| Set |
Destructive operations (reboot_device, disconnect_client) are gated by the
same flag as writes — there is no separate "operational" tier that bypasses it.
See Tool router for the complete discovery/dispatch/write-safety model.
Project snapshot
Area | Current snapshot |
Tool catalog | Non-additive profiles: 380 core tools / 2842 read-only optional starters / 5822 read-write optional starters; REST/OpenAPI platform API backend total: 6,712; protocol-only Central Streaming: 1; cross-platform site-health: 1; complete backend index: 6,729; direct-all: 6,741 |
Capability totals (platform APIs) | 3,160 read / 165 diagnostic / 2,545 write / 842 destructive |
RAG | 392,471 prose chunks in LanceDB across 30 scraped sources |
Structured lookup | 2,734 endpoints, 6,363 schemas, 31,432 fields, 104 advisories, 345 lifecycle records |
API provenance | Aruba ReadMe registries, official Mist/Apstra sources, pinned GLP and EdgeConnect snapshots, SHA-pinned Axis generator |
Optional platforms | ClearPass, Mist, Apstra, AOS8, EdgeConnect, UXI, Axis Atmos Cloud, plus the credential-free |
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. The
latest published (tagged) release is 0.8.0.
0.10.0 notes describe in-tree main;
0.9.0 is archived. See the
capability gap matrix
for reproducible tool/benchmark comparisons.
Task-oriented guides
Need | Guide |
Full setup, credentials, and MCP client connection | |
Run it in a container, with credentials and optional products | |
Copy/paste stdio or streamable HTTP client config | |
Router modes, toolsets, and safe dispatch in depth | |
Real prompts with expected call shapes | |
Enable ClearPass, Mist, Apstra, AOS8, EdgeConnect, UXI, or Axis | |
Typed product-specific workflow roadmap | |
Fix setup, credential, HTTP, or catalog issues | |
Architecture, data flow, and safety diagrams | |
Every backend's tool counts and coverage | |
The complete task-based visual gateway | |
Every documentation page, grouped by purpose | |
Migrating from | |
Contribute, get support, or report a security issue | |
Understand what data the server collects and where it goes | |
Version history |
Local setup essentials
The default MCP client profile stays lean:
HPE_MCP_ROUTER_MODE=minimal
HPE_MCP_TOOLSETS=central,glp,ragEnable optional products only when needed:
HPE_MCP_ACCESS_PROFILE=custom
HPE_MCP_PRODUCTS=clearpass,mist,apstra,aos8,edgeconnect,uxi,axis,design
HPE_MCP_PRODUCT_ACCESS=read-onlyProduct | Variables |
ClearPass |
|
Juniper Mist |
|
Apstra |
|
ArubaOS 8 |
|
EdgeConnect |
|
HPE Aruba UXI |
|
Axis Atmos Cloud |
|
Network design diagrams (Draw.io / Graphviz / NeXt) | none required; optional |
See the optional product matrix for the full setup and safety model.
For a trusted, fully write-capable session, use
python3 scripts/setup_wizard.py --access-profile full-read-write so all
legacy gates are aligned, or use the self-contained
examples/mcp-clients/stdio/full-read-write.mcp.json.
.claude/launch.json ships a matching minimal hpe-networking-mcp 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 the API-spec database. Both are derived from the OpenAPI specs committed to this repository, so they rebuild deterministically and need no scraping:
uv run python scripts/ingest_tools.py --products allThe RAG prose corpus is built separately by ingestion/ingest_docs.py, as
described in the quickstart above. It is not distributed as a release asset.
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.shThen 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
src/hpe_networking_mcp/mcp_servers/ Low-token router + Central/GLP/RAG/optional-product servers
src/hpe_networking_mcp/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, doctor wrapper, HTTP router helper, release validation
tests/ Unit, integration, and RAG eval coverage
config/ Credentials template; real credentials stay git-ignored
examples/ Tested, non-secret MCP client/prompt/runbook configuration examples
run_pipeline.py Checkout wrapper for `hpe-mcp-run-pipeline`
run_ssid.py Checkout wrapper for `hpe-mcp-run-ssid`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-tool-index --min-tools 6712--min-tools 6712 is the platform API compatibility floor (the
6,712 vendor-facing platform API tools), not the complete registered backend
total of 6,729, which also includes the protocol-only Central Streaming tool,
the cross-platform site-health aggregator, the local GLP preflight
diagnostic, and credential-free local tools — validation passes at or above
the floor. See
Tool catalog for both totals.
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, rendered RAG/index doc-fact claims, 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.
Related projects and thanks
hpe-networking-mcp is an independent HPE Networking MCP toolkit, improved by watching the official MCP ecosystem and community work:
HewlettPackard/gl-mcp - official GreenLake Platform MCP server
modelcontextprotocol/python-sdk - MCP Python SDK
KarthikSKumar98/central-mcp-server - community Aruba Central MCP server
nowireless4u/hpe-networking-mcp - unified HPE networking MCP reference
Disclaimer
hpe-networking-mcp 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.
Available Tools
3 toolsfind_toolARead-onlyIdempotent
Find tools by query. Combines semantic search + tool-name keyword match.
Call this first when you need an action. The returned name is what you
pass to invoke_read_tool for read-only tools or invoke_tool for writes.
Results are deduplicated; exact METHOD /path or operationId matches are
annotated match='exact' (including generated-only tools disabled by the
current profile), semantic matches match='semantic', name-overlap matches
match='keyword', and safety flags mirror backend ToolAnnotations. Results
are compact by default; set include_schema=True only when you need the
full JSON schema for a selected tool. Optional platform, server,
normalized capability, curated/generated origin, and exact OpenAPI
operation-ID filters apply to exact, keyword, and semantic matches.
Args: query: What you want to do. e.g. "create a VLAN", "disconnect a client". top_k: 1-10 results (default 5). include_schema: Include full JSON schemas in results. Defaults to False to keep MCP responses compact. platform: Filter by normalized platform, such as central, glp, mist, clearpass, or apstra. server: Filter by exact backend server name, such as central-monitoring. capability: Filter by read, diagnostic, write, or destructive. origin: Filter by curated or generated implementation. operation_id: Filter by an exact generated OpenAPI operationId.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| top_k | No | ||
| origin | No | ||
| server | No | ||
| platform | No | ||
| capability | No | ||
| operation_id | No | ||
| include_schema | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even beyond the readOnly, openWorld, idempotent, and destructive annotations, the description discloses deduplication behavior, the exact/semantic/keyword match categories, inclusion of generated-only disabled tools, safety-flag provenance, and compact-by-default responses. This is substantial behavioral transparency and does not conflict with any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the most important instructions ('Call this first'), followed by the dispatch contract, match behavior, filters, and parameter documentation. Despite its length, the content is dense with useful detail and parallel in structure, making it well organized for an 8-parameter discovery tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 parameters, multiple filter dimensions, sibling routing, and a rich output schema, the description is complete: it covers when to call it, what the results contain, how matches are labeled, how to control schema verbosity, and how to dispatch the selected tool. Nothing critical is left to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the Args section fully compensates. It defines all 8 parameters, giving query example usage, top_k range and default, include_schema trade-offs, platform/server examples, capability values, origin values, and operation_id meaning. The description therefore adds crucial semantics that the schema alone entirely lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a specific action ('Find tools by query') and explains the search mechanism ('semantic search + tool-name keyword match'). It distinguishes itself from the sibling invoke tools by stating that the returned `name` is the value to pass to invoke_read_tool or invoke_tool, so the purpose is unmistakably a discovery tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description is prescriptive: 'Call this first when you need an action.' It also tells the agent when to use include_schema ('only when you need the full JSON schema'), when to keep responses compact, and how to route a discovered tool to the correct sibling. It also explains the conditions under which filters should be applied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoke_read_toolARead-onlyIdempotent
Call a read-only Aruba tool by name (from find_tool).
This refuses tools that are not annotated read-only. Use invoke_tool only for write/destructive tools after explicit user intent.
Args:
cursor: Opaque next_cursor value from a previous truncated
response, to resume it from where it left off. Only ever
returned by this tool for capability "read" tools -- it is
process-local (invalidated by a server restart), integrity
protected, time-limited, and bound to this exact tool name and
these exact arguments. A malformed/tampered/expired/mismatched
cursor returns an error and never reaches the backend.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| cursor | No | ||
| arguments | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral detail beyond the annotations: it refuses non-read-only tools, and thoroughly explains cursor semantics including process-locality, integrity protection, time-limits, binding to tool name/arguments, and error behavior for invalid cursors. This goes well beyond the readOnlyHint/idempotentHint annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main purpose and usage guidance, followed by a structured 'Args' section that details cursor behavior. The cursor explanation is long but necessary and well-organized. Overall, it is appropriately concise without being under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a dispatcher tool with no output schema, the description covers the primary use case, restrictions, and error behavior for cursors. It could mention how arguments should be structured or what the return format looks like, but these are somewhat incidental given the tool's nature. It is sufficiently complete for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The cursor parameter is explained in great detail, which is crucial for its opaque nature. However, the 'arguments' parameter is not described at all beyond the schema, and 'name' is only implied as coming from find_tool. With 0% schema description coverage, the description partially compensates but leaves gaps for the arguments parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it calls a read-only Aruba tool by name, which is a specific verb-resource pairing. It distinguishes itself from the sibling invoke_tool by explicitly limiting to read-only tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to use this tool for read-only tools and to use invoke_tool for write/destructive tools after explicit user intent. This provides clear when-to-use and alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoke_toolADestructive
Call an Aruba tool by name (from find_tool). Arguments is a kwargs dict.
Example: invoke_tool("create_vlan", {"vlan_id": 200, "vlan_name": "Guest"})
Dispatches through the owning backend's MCPServer tool manager, so arguments
get MCPServer validation/coercion and the router's request Context is forwarded
— this is what lets the async, ctx-requiring destructive ops tools
(reboot_device/port_bounce/poe_bounce/disconnect_client) reach their
confirmation elicitation. (MCPServer injects ctx here and strips it from the
published schema, so callers only pass name + arguments.)
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| arguments | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations, the description reveals that arguments go through MCPServer validation/coercion, the router's request Context is forwarded, and destructive tools reach confirmation elicitation. This is rich behavioral detail that significantly helps an agent anticipate side effects and prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose, followed by an example and then technical details. It is slightly dense but every sentence contributes value; the example and the explanation of ctx injection are both necessary for correct use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's generic nature and absence of an output schema, the description covers purpose, usage, and behavior thoroughly. It does not mention return values or error handling, but for a dynamic dispatcher these may be tool-specific and not appropriate to detail. Overall, it is sufficiently complete for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description compensates by explaining 'Arguments is a kwargs dict' and providing a working example. It clarifies that name comes from find_tool and that only name + arguments are passed. This adds meaningful semantics beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear, specific action: 'Call an Aruba tool by name (from find_tool).' It provides a concrete example (invoke_tool("create_vlan", {...})) and distinguishes itself from siblings by mentioning its role in dispatching destructive ops tools, which is not true of invoke_read_tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this after find_tool to call any tool, and it explains how the dispatch works. However, it does not explicitly mention when to prefer invoke_read_tool or provide exclusion criteria, so it stops short of full guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct role: find_tool for discovery, invoke_read_tool for read-only execution, and invoke_tool for write/destructive execution. No overlapping purposes or ambiguous boundaries.
Names follow a consistent snake_case verb_noun pattern. However, 'invoke_tool' is slightly ambiguous as it implies general invocation but actually handles only write/destructive tools, while 'invoke_read_tool' explicitly names its read-only scope.
With only three tools, the set is minimal but appropriate for a meta-server that discovers and dispatches a larger underlying tool surface. It is not overly thin given the wrapper purpose.
The three tools form a complete workflow: find a tool, invoke read-only, or invoke write/destructive. No essential meta-operation is missing for the stated purpose of acting as a gateway.
Maintenance
Related MCP Connectors
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Official Microsoft MCP Server to query Microsoft Entra data using natural language
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
Related MCP Servers
- AlicenseAqualityDmaintenanceA community MCP server for Cisco Secure Access that exposes the Secure Access REST API to AI clients as a curated catalog of tools for Admin, Deployments, Investigate, Policies, and Reports.421Apache 2.0
- FlicenseBqualityDmaintenanceAsynchronous MCP server for unified multi-platform network infrastructure management, providing 97 tools across 10 connectors including SSH, MikroTik, Palo Alto, Aruba, Graylog, LibreNMS, Cisco APIC/NDFC, and Panorama.9722
- AlicenseNot gradedqualityDmaintenanceMCP server for network operations that lets AI assistants interact with Cisco/Juniper network devices through safe, well-defined tools like compliance audits and configuration backups.MIT
- FlicenseNot gradedqualityDmaintenanceProduction-grade MCP server that exposes the complete HPE Aruba Networking Central REST API as 90 tools across 19 categories, enabling AI assistants to manage Aruba Central networks.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/hpe-networking-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server