mcp-redfish
Provides tools for managing Dell PowerEdge servers via iDRAC Redfish API, including power control, thermal monitoring, and firmware inventory.
Provides tools for managing Lenovo ThinkSystem servers via XCC Redfish API, including power control, thermal monitoring, and firmware inventory.
Provides tools for managing Supermicro servers via BMC Redfish API, including power control, thermal monitoring, and firmware inventory.
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., "@mcp-redfish What is the current power state and health of all systems?"
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.
mcp-redfish
A Model Context Protocol (MCP) server for Redfish-compatible BMC management, providing AI assistants with access to server hardware monitoring and control through the DMTF Redfish REST API.
Supported Hardware
Vendor | BMC / Interface |
Dell | PowerEdge iDRAC (iDRAC8, iDRAC9, iDRAC10) |
HPE | ProLiant iLO (iLO4, iLO5, iLO6) |
Lenovo | ThinkSystem XClarity Controller (XCC) |
Supermicro | BMC (IPMI/Redfish) |
Any vendor | DMTF Redfish 1.x compliant BMC |
Related MCP server: Redfish MCP Server
Features
20 tools across six categories:
Systems
Tool | Description |
| List all computer systems with Name, Model, PowerState, Health, memory, and CPU summary |
| Get full system details including BiosVersion, HostName, IndicatorLED, and Boot settings |
| Power on/off/reboot a system (On, ForceOff, GracefulShutdown, GracefulRestart, ForceRestart, Nmi) |
| Get current BIOS attributes and configuration |
Chassis
Tool | Description |
| List chassis with ChassisType, Manufacturer, Model, SerialNumber, and Status |
| Get full chassis details |
| Get temperatures and fan speeds with thresholds and health status |
| Get power supply status and current consumption in watts |
Managers (BMC)
Tool | Description |
| List BMC managers with ManagerType, FirmwareVersion, and Status |
| Get full manager details |
| Gracefully restart the BMC |
| Get BMC protocol settings (IPMI, SSH, HTTPS enabled/disabled, ports) |
Storage
Tool | Description |
| List storage controllers with model, firmware, supported RAID types, and health |
| List physical drives with capacity, protocol (SAS/SATA/NVMe), MediaType (SSD/HDD), and health |
Event Log
Tool | Description |
| Get system event log entries with Severity, Message, and timestamp. Auto-discovers log path. |
| Clear the event log (irreversible) |
Firmware
Tool | Description |
| List all firmware versions (BIOS, BMC, NICs, storage controllers, PSUs, etc.) |
Installation
git clone git@github.com:fredriksknese/mcp-redfish.git
cd mcp-redfish
npm install
npm run buildConfiguration
The server is configured via environment variables:
Variable | Required | Default | Description |
| Yes | — | BMC hostname or IP address |
| No |
| BMC username |
| Yes | — | BMC password |
| No |
| Accept self-signed TLS certificates (normal for BMCs) |
Authentication uses Redfish session tokens by default (POST to SessionService, stores X-Auth-Token). Falls back to HTTP Basic auth if session creation fails.
Usage with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"redfish": {
"command": "node",
"args": ["/absolute/path/to/mcp-redfish/dist/index.js"],
"env": {
"REDFISH_HOST": "192.168.1.100",
"REDFISH_USERNAME": "root",
"REDFISH_PASSWORD": "your-bmc-password"
}
}
}
}Usage with Claude Code
claude mcp add redfish -- node /absolute/path/to/mcp-redfish/dist/index.jsSet the required environment variables in your MCP settings.
Example Prompts
Once connected, you can ask your AI assistant things like:
"What is the current power state and health of all systems?"
"Show me all temperature sensors and flag any that are above normal thresholds"
"What firmware versions are installed and which components can be updated?"
"Check the system event log for any critical errors in the last 24 hours"
"List all drives including their capacity, type (SSD/HDD), and health"
"What is the current power consumption in watts?"
"Show me the BMC network protocol settings — is IPMI enabled?"
"Gracefully restart this server"
"Clear the system event log"
"What is the BIOS version and current boot order?"
Development
npm run dev # Run with tsx (no build required)
npm run build # Compile TypeScript to dist/
npm start # Run compiled outputArchitecture
src/
├── index.ts # Entry point — creates MCP server + STDIO transport
├── redfish-client.ts # HTTP client with session/basic auth and @odata.id expansion
└── tools/
├── systems.ts # Computer system management (4 tools)
├── chassis.ts # Chassis, thermal, and power (4 tools)
├── managers.ts # BMC manager management (4 tools)
├── storage.ts # Storage controllers and drives (2 tools)
├── eventlog.ts # Event log read and clear (2 tools)
└── firmware.ts # Firmware inventory (1 tool)Requirements
Node.js 18+
A DMTF Redfish 1.x compliant BMC (Dell iDRAC, HPE iLO, Lenovo XCC, Supermicro BMC, or any standards-compliant BMC)
License
SEE LICENSE IN LICENSE
Available Tools
17 toolsclear_event_logA
Clear the event log for a system or BMC manager. This action is irreversible — all log entries will be deleted.
Inputs: resource_id (required), resource_type (required), log_id.
get_bios_settingsA
Get current BIOS attributes and settings for a system. Returns all BIOS configuration parameters.
Inputs: system_id (required).
get_chassisA
Get full details of a chassis by its ID. Includes all hardware details, network adapters, and links.
Inputs: chassis_id (required).
get_firmware_inventoryA
List all firmware versions across all components (BIOS, BMC, NICs, storage controllers, drives, PSUs, etc.). Returns Name, Version, and Updateable flag for each component.
Inputs: no named parameters.
get_managerA
Get full details of a BMC manager by its ID. Includes network interfaces, firmware version, and all manager details.
Inputs: manager_id (required).
get_network_protocolA
Get BMC network protocol settings. Shows which protocols are enabled/disabled (IPMI, SSH, HTTPS, SNMP, Telnet) and their port numbers.
Inputs: manager_id (required).
get_powerA
Get power data for a chassis. Returns power supply status, current consumption in watts, and power capacity.
Inputs: chassis_id (required).
get_systemA
Get full details of a computer system by its ID (e.g. '1' or 'System.Embedded.1'). Includes BiosVersion, HostName, IndicatorLED, Boot settings, and all hardware details.
Inputs: system_id (required).
get_thermalA
Get thermal data (temperatures and fans) for a chassis. Returns sensor name, reading in Celsius, upper thresholds, and health status.
Inputs: chassis_id (required).
list_chassisA
List all chassis managed by this BMC. Returns ChassisType, Manufacturer, Model, SerialNumber, and Status for each chassis.
Inputs: no named parameters.
list_drivesA
List physical drives for a storage controller. Returns capacity, protocol (SAS/SATA/NVMe), MediaType (SSD/HDD), health, and serial number.
Inputs: system_id (required), storage_id (required).
list_event_logA
Get system event log entries from a system or BMC manager. Returns recent entries with Severity, Message, and Created timestamp. Tries common log paths automatically (SEL, System, Log1).
Inputs: resource_id (required), resource_type (required), log_id, max_entries, +1 more.
list_managersA
List all BMC managers. Returns ManagerType, FirmwareVersion, Status, and network addresses for each manager.
Inputs: no named parameters.
list_storageA
List storage controllers for a system. Returns controller name, model, firmware version, supported RAID types, and health status.
Inputs: system_id (required).
list_systemsA
List all computer systems managed by this BMC. Returns Name, Model, Manufacturer, SerialNumber, PowerState, Health, MemorySummary, and ProcessorSummary for each system.
Inputs: no named parameters.
reset_managerA
Reset (restart) the BMC manager. Uses GracefulRestart by default. This will temporarily disconnect the BMC.
Inputs: manager_id (required), reset_type.
set_power_stateA
Change the power state of a computer system. Supported reset types: On, ForceOff, GracefulShutdown, GracefulRestart, ForceRestart, Nmi, PushPowerButton.
Inputs: system_id (required), reset_type (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 17 tools
Each tool targets a distinct resource and action: systems, chassis, managers, storage, logs, and firmware are all clearly separated. The list_ vs get_ pattern eliminates ambiguity, and actions like set_power_state, reset_manager, and clear_event_log are unique to their resources.
All tool names follow a consistent verb_noun pattern in snake_case: list_*, get_*, set_*, reset_*, clear_*. This makes the API predictable and easy to navigate for an agent.
17 tools is slightly above the ideal 3-15 range but appropriate for the breadth of Redfish management. The set covers systems, chassis, managers, storage, logs, and firmware without being bloated.
The core read and action operations are covered, but there are notable gaps: no BIOS settings update, no firmware update, and no detailed getter for storage drives or controllers. These omissions could require workarounds but do not break the primary monitoring workflows.
Maintenance
Related MCP Connectors
Protocol-native energy infrastructure orchestration for AI data centers. Provides 46 MCP tools across 8 grid protocols (IEC-61850, DNP3, Modbus, OCPP, OpenADR, IEEE 2030.5, IEC 60870-5-104, ICCP) with 5 core API primitives: connect, dispatch, settle, comply, and intel. Enables AI agents to programmatically interact with substations, grid interfaces, and energy assets for real-time workload-grid coordination.
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Manage VeriTeknik servers, DNS, backups and support tickets from your AI assistant.
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Redfish-compliant BMC devices for server management, firmware updates, and hardware monitoring through session-based authentication and standardized API endpoints.1MIT
- 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
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to manage Dell PowerEdge servers via Dell OpenManage Enterprise (OME) REST API, providing tools for device inventory, power control, firmware updates, alert management, and compliance baselines.-