proliant-mcp
Click on "Deploy 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., "@proliant-mcp List my ProLiant servers and their iLO versions"
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.
proliant-mcp
An MCP server for HPE ProLiant servers, built with FastMCP. It lets AI assistants and agents (GitHub Copilot, Claude, Google ADK, ...) read server inventory and health straight from each server's iLO through the Redfish API.
Tested against iLO 6 (ProLiant DL380 Gen11) and iLO 7 (ProLiant Compute DL325 / DL345 Gen12). iLO 5 (Gen10) uses the same Redfish paths.
Status: v0.1, iLO, read-only. HPE Compute Ops Management (COM) and OneView are next; see Roadmap.
Tools
Tool | What it returns |
| Configured server names and iLO hosts (never credentials) |
| Model, product ID, serial, power and POST state, health, UID, BIOS and iLO version, CPU/memory totals |
|
|
| iLO model and firmware version/date, license, COM connection status, iLO IP/MAC/DHCP/DNS |
| Overall and per-subsystem health, fan and power-supply redundancy |
| Every firmware component and version |
| CPUs and GPUs |
| Total, populated/empty slots, each DIMM |
| Controllers, drives, RAID volumes |
| NICs, ports, MACs, link, LLDP neighbor (switch and port) |
| Newest IML (hardware) or IEL (iLO) entries, filter by severity |
| Raw read-only GET of any |
Every tool is annotated readOnlyHint. Nothing in this version changes a server.
Related MCP server: Redfish MCP Server
Install
Requires Python 3.12+ and uv.
git clone https://github.com/hjma29/proliant-mcp.git
cd proliant-mcp
uv syncConfigure your iLOs
Credentials are read from your machine only, never from this repository.
Option A: inventory file (several servers). Copy
examples/inventory.example.ini to
~/.config/proliant-mcp/inventory.ini, fill in hosts and passwords, then
chmod 600 it. Or point PROLIANT_MCP_CONFIG at any path. An existing
proliant-cli inventory at
~/.config/proliant-cli/inventory.ini is picked up automatically.
Option B: one server from environment variables.
export ILO_HOST=192.0.2.10 ILO_USERNAME=Administrator ILO_PASSWORD='...'
export ILO_NAME=my-server # optional, default "default"iLO uses a self-signed certificate by default, so TLS verification is off
unless you set verify_ssl = true (ini) or ILO_VERIFY_SSL=1. A read-only
iLO account (Login privilege only) is enough for every tool.
Test it
1. Unit tests (no hardware)
uv run pytestRuns the tools against a fake iLO (httpx.MockTransport) through a real MCP client.
2. From the terminal
uv run fastmcp list src/proliant_mcp/server.py # tools and schemas
uv run fastmcp call src/proliant_mcp/server.py list_servers
uv run fastmcp call src/proliant_mcp/server.py get_ilo_info server=dl380-gen113. MCP Inspector (web UI)
npx @modelcontextprotocol/inspector uv run --directory "$PWD" proliant-mcpOpen the printed URL, click Connect, then Tools to call each tool by hand.
4. VS Code / GitHub Copilot
Open this folder in VS Code. .vscode/mcp.json registers
the server as proliant; start it from the MCP view (or the code lens in that
file), switch Copilot Chat to Agent mode, and ask:
"List my ProLiant servers and their iLO versions"
"Which servers have a GPU?"
"Any critical IML events on dl380-gen11?"
"Which switch port is each NIC on dl345-gen12 connected to?"
To use it from any workspace, add the same entry to your user MCP config
with an absolute path in --directory.
Claude Desktop / Claude Code / other clients use the same command:
uv run --directory /path/to/proliant-mcp proliant-mcp.
5. Over HTTP
uv run proliant-mcp --http --host 127.0.0.1 --port 8000 # endpoint: http://127.0.0.1:8000/mcpThe HTTP endpoint has no authentication. Keep it on localhost or a trusted management network.
Google ADK
examples/adk_agent/agent.py is a
Google ADK agent that starts this server
over stdio with McpToolset:
export GOOGLE_API_KEY=... # or Vertex AI env vars
uv run --with "google-adk[mcp]" adk web examples # pick "adk_agent"Set ADK_MODEL to choose a different Gemini model. To use the HTTP mode
instead, swap StdioConnectionParams for
StreamableHTTPConnectionParams(url="http://127.0.0.1:8000/mcp").
Skills
skills/proliant-ilo/SKILL.md is an agent skill
that tells an assistant which tool to use for which question, plus workflows
(fleet firmware audit, health triage, finding a server's switch port). Copy
it into your agent's skills folder (for example ~/.copilot/skills/ or
.github/skills/).
Roadmap
iLO (now): read-only inventory and health.
iLO actions: power, UID, one-time boot, opt-in and gated as destructive.
HPE Compute Ops Management (GreenLake): fleet inventory, firmware baselines and jobs.
HPE OneView / Synergy.
Skills for deploying and managing ProLiant servers (OS deployment, firmware updates, BIOS baselines).
Security
No credentials are stored in this repository;
.gitignoreblocks*.ini(except the example) and.envfiles.Tools never return passwords;
redfish_getrefuses session and account resources.Each tool call opens and closes its own Redfish session.
License
MIT. Not an official HPE product.
Available Tools
12 toolsget_event_logGet Event LogBRead-onlyIdempotent
Newest entries from the IML or iLO event log, optionally filtered by severity.
Inputs: server (required), log, limit, severity. Returns: result
get_firmware_inventoryGet Firmware InventoryCRead-onlyIdempotent
All firmware components and versions (iLO, BIOS/System ROM, NICs, storage controllers, drives, CPLD, ...).
Inputs: server (required). Returns: result
get_fleet_summaryGet Fleet SummaryARead-onlyIdempotent
get_server_summary for every configured server at once. Unreachable servers are
returned with an error field instead of failing the whole call.
Inputs: no named parameters. Returns: result
get_healthGet HealthARead-onlyIdempotent
Overall and per-subsystem health (processors, memory, storage, network, fans, power supplies, temperatures) plus fan / power-supply redundancy.
Inputs: server (required). Returns: object
get_ilo_infoGet Ilo InfoBRead-onlyIdempotent
iLO details: model (iLO 5/6/7), firmware version and date, license, Compute Ops Management connection status, and the iLO's own network (hostname, IP, MAC, DHCP).
Inputs: server (required). Returns: object
get_memoryGet MemoryARead-onlyIdempotent
Memory: total GiB, populated/empty slot counts, and each DIMM (slot, size, type, speed, vendor, HPE part number, health).
Inputs: server (required). Returns: object
get_network_adaptersGet Network AdaptersBRead-onlyIdempotent
Host network adapters: model, part number, slot, firmware, and ports (MAC, link, speed, LLDP neighbor switch/port when available).
Inputs: server (required). Returns: result
get_processorsGet ProcessorsBRead-onlyIdempotent
CPUs (socket, model, cores, threads, speed) and GPUs that iLO reports.
Inputs: server (required). Returns: object
get_server_summaryGet Server SummaryBRead-onlyIdempotent
Server identity and state: model, product ID, serial, power and POST state, health, UID light, BIOS and iLO versions, CPU count/model and total memory.
Inputs: server (required). Returns: object
get_storageGet StorageBRead-onlyIdempotent
Storage subsystems: controllers (model, firmware), physical drives (model, media, capacity, serial, firmware, bay) and logical volumes / RAID.
Inputs: server (required). Returns: result
list_serversList ServersARead-onlyIdempotent
List the configured ProLiant servers (name and iLO host). Credentials are never returned.
Inputs: no named parameters. Returns: object
redfish_getRedfish GetARead-onlyIdempotent
Raw read-only GET of any iLO Redfish resource, for data the other tools don't cover.
Inputs: path (required), server (required). Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Each tool targets a distinct resource or granularity, but get_server_summary overlaps meaningfully with get_health, get_processors, get_memory, and get_firmware_inventory, since it reports power/health state, CPU count, total memory, and BIOS/iLO versions. get_fleet_summary is clearly framed as a bulk variant of get_server_summary, and redfish_get is explicitly positioned as the escape hatch for uncovered data.
Eleven of the twelve tools follow a clean verb_noun pattern (list_servers, get_ilo_info, get_firmware_inventory, get_event_log, etc.). The lone deviation is redfish_get, which inverts the order to noun_verb, though it remains readable.
Twelve tools is well within the ideal range and each is scoped to a distinct slice of iLO data (firmware, memory, storage, network, health, events). Nothing feels padded or missing in terms of breadth.
Read-only inventory and health coverage is thorough, including a raw Redfish escape hatch for anything not modeled. However, there are no write/action operations (power control, UID light toggle, log clearing) even though power/UID state is reported, and redfish_get is GET-only so agents have no remediation path.
Maintenance
Related MCP Connectors
Infrastructure context for any AI: VMware, Nutanix, Kubernetes and cloud. Read-only, off production.
Read-only server insight: why a Linux server or K8s cluster is slow, failing or changed.
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI agents to manage HPE OneView infrastructure through the REST API, including server hardware operations, power control, profile management, and network/storage configuration.-
- FlicenseCqualityDmaintenanceEnables AI agents and LLMs to control and monitor Redfish-enabled hardware through power operations, system inventory, event logs, health monitoring, sensor readings, and user account management.151-
- AlicenseAqualityBmaintenanceEnables AI agents to manage infrastructure through natural language queries to Redfish API endpoints, supporting listing endpoints and retrieving resource data.320BSD 3-Clause
- FlicenseAqualityCmaintenanceEnables AI assistants to monitor and control server hardware (power, thermal, storage, firmware, event logs) via Redfish BMC API on Dell iDRAC, HPE iLO, Lenovo XCC, Supermicro BMC, and others.174-