使用说明
idrac-redfish-mcp
Basic MCP Server for the Dell iDRAC using Redfish
The goal of this project is not to be at feature parity with every Redfish endpoint but to narrow it's scope to useful tools for troubleshooting and eventually managing servers. Outputs have to be specially crafted to not exceed context windows and prevent context bloat.
Hermes Setup
Copy .env.example to .env or update the compose.yaml with the required environment variables.
Update your Hermes config.yaml with:
For http
mcp_servers:
idrac:
url: http://192.168.8.110:8088/mcp
ssl_verify: false
For stdio you can add a volume mapping to your compose.yaml
volumes:
- ../../idrac-redfish-mcp:/mcp/idrac-redfish-mcp:ro
mcp_servers:
idrac:
command: "/opt/venv/bin/python"
args: ["/mcp/idrac-redfish-mcp/src/fastmcp_server.py"]
env:
IDRAC_USERNAME: ${IDRAC_USERNAME}
IDRAC_PASSWORD: ${IDRAC_PASSWORD}
IDRAC_SSL_VERIFY: ${IDRAC_SSL_VERIFY}
Troubleshooting
docker exec -it hermes /bin/bash
cd /mcp/idrac-redfish-mcp
fastmcp list src/fastmcp_server.py get_lc_logs host=192.168.0.200
fastmcp call src/fastmcp_server.py get_lc_logs host=192.168.0.200
Claude Code Setup
claude mcp add --transport http idrac http://192.168.8.110:8088/mcp
Tools
| Tool | Description | Arguments |
|---|---|---|
get_error_and_event_registry |
Retrieve the iDRAC Message Registry (EEMI) mapping or specific message entries. | message_id, host, port, verify |
get_lc_logs |
Retrieve iDRAC lifecycle (LC) logs from a Dell server. | host, port, verify, start_date, end_date, severity, top, skip |
get_device_rollup_health_status |
Get Dell rollup health status entries filtered by device_filter. |
host, device_filter, port, verify |
get_storage_health |
Retrieve storage health (drive status and PredictedMediaLifeLeftPercent). | host, port, verify |
get_server_slot_info |
Retrieve Dell server slot information (DellSlots collection). | host, slot_type, port, verify |
get_pciedevice_info |
Retrieve PCIe device inventory for the chassis and return a concise list. | host, port, verify |
get_chassis_info |
Retrieve the Redfish Chassis resource. | host, port, verify, select |
get_firmware_inventory |
Retrieve FirmwareInventory members for the target iDRAC. | host, port, verify |
get_power_usage |
Retrieve the PowerControl collection for the chassis. | host, port, verify |
get_system_info |
Retrieve the Redfish System resource. | host, port, verify, select |
get_metric_report_definitions |
Retrieve metric report's available or the metrics for a specific report. | host, report_name, port, verify |
get_metric_report_readings |
Retrieve MetricReport readings and return latest values per MetricId/ContextID. | host, report_name, port, verify |
get_storage_controller_info |
Retrieve storage controllers listing or a specific controller's info. | host, port, verify, controller, select |
get_bios_attributes |
Retrieve BIOS attribute(s) by name from the target iDRAC. | host, attributes, port, verify |
get_idrac_attributes |
Retrieve Dell iDRAC configuration attribute(s) for a given group. | host, attributes, group, port, verify |
search_bios_attributes |
Search BIOS attributes for a matching name or value. | host, term, port, verify |
search_idrac_attributes |
Search iDRAC attributes for a matching name or value within a group. | host, term, group, port, verify |
export_server_screen_shot |
Trigger a Dell LC action to export a server screenshot. | host, filetype, port, verify |
support_assist_collection |
Start a SupportAssist collection via the iDRAC Support service. | host, filter_val, data, port, verify |
get_redfish_uri |
Generic pass-through to fetch any Redfish URI from the target iDRAC. | host, path, select, port, verify |
