iDRAC Redfish MCP服务

面向Dell iDRAC的Redfish MCP服务器,提供日志检索、硬件健康监控、固件清单及电源使用等核心功能,适用于服务器运维与故障排查场景。

  • by TrevorSquillario
  • Python
  • 混合部署
  • 更新于
在 GitHub 查看 TrevorSquillario/dell-idrac-redfish-mcp

使用说明

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