home / mcp / redfish mcp server
Provides a secure, structured MCP server to control Redfish-enabled hardware with power, inventory, logs, health, users, and sensor management.
Configuration
View docs{
"mcpServers": {
"carlosedp-redfish-mcp-server": {
"url": "https://mcp.redfish.example/mcp",
"headers": {
"REDFISH_HOST": "https://192.168.1.100",
"REDFISH_PASSWORD": "password123",
"REDFISH_USERNAME": "admin",
"REDFISH_VERIFY_SSL": "false"
}
}
}
}You run a FastMCP-based server that lets AI agents and LLMs securely control Redfish-enabled hardware and simulators. It exposes structured, type-safe responses and convenient tools to monitor power, system inventory, health, sensors, logs, and user accounts, all through a unified MCP API.
Start by launching the MCP server in development or production mode, then connect with an MCP client to issue commands that control power, read health data, fetch system information, and manage logs and users. You can enable automatic configuration from environment variables, and you can verify SSL settings to ensure secure communication with Redfish endpoints.
Prerequisites: ensure you have a runtime for MCP servers and a tool to run MCP configurations. The server is designed to work with the uv runtime for dependency management during development.
Install development dependencies and prepare the environment, then start the server in development mode for hot reloading and debugging.
# Install development dependencies
uv syncConfigure how you connect to your Redfish endpoint using environment variables or manual configuration tools. The server supports both automatic environment-based configuration and explicit manual setup.
Environment-based configuration (recommended): set the host, user, and password, and optionally disable SSL verification for self-signed certificates used by many BMCs.
Example environment setup you can adapt to your environment.
export REDFISH_HOST="https://192.168.1.100"
export REDFISH_USERNAME="admin"
export REDFISH_PASSWORD="password123"
export REDFISH_VERIFY_SSL="false" # Optional, defaults to false
export REDFISH_TIMEOUT="30" # Optional, defaults to 30 secondsAll communications with Redfish endpoints are authenticated with a username and password. SSL verification can be configured, and running in development with relaxed SSL settings is common for testing against mock endpoints.
If you run into connectivity issues, verify the host URL, credentials, and SSL settings, and check health and event logs to identify misconfigurations or endpoint problems.
When developing locally, you can use a Redfish mock server to simulate hardware. Set your host to the mock server URL and verify that your MCP client can fetch system information, power state, health, and logs.
Check current configuration status and connection to the Redfish endpoint.
Configure the connection to the Redfish endpoint, including host, credentials, and SSL settings.
Retrieve system information and inventory from the Redfish-enabled hardware.
Control the system power state, such as On, Off, or Restart.
Retrieve system event logs, including System, Security, and Manager logs.
Get system health status and sensor readings.
Manage BMC user accounts and permissions.
Read temperature, fan, power, and voltage sensor readings.
Clear system event logs.