Redfish MCP Server
Uses Pydantic models for type-safe, structured responses and automatic JSON schema generation from type hints when interacting with Redfish endpoints.
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., "@Redfish MCP Server check the system health and show me any critical alerts"
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.
Redfish MCP Server
A Model Context Protocol (MCP) server that enables AI agents and LLMs to control Redfish-enabled hardware and simulators through a secure API. Built with FastMCP for enhanced development experience and structured output.
Features
This MCP server provides tools for:
Power Operations: Control system power states (On, Off, Restart, etc.)
System Inventory: Get detailed hardware information and specifications
Event Logs: Retrieve and manage system event logs (System, Security, Manager)
Health Monitoring: Monitor system health, status, and sensor readings
User Account Management: Manage BMC user accounts and permissions
Sensor Monitoring: Read temperature, fan, power, and voltage sensors
Configuration Management: Check connection status and auto-configure from environment
Related MCP server: Redfish MCP Server
Architecture
FastMCP Framework: Built with FastMCP for better development experience
Structured Output: Uses Pydantic models for type-safe, structured responses
Environment Configuration: Auto-configures from environment variables
Secure Authentication: Username/password authentication with configurable SSL
Development Tools: Compatible with
mcp devmode and MCP inspector
Security
All communications with Redfish endpoints are authenticated using username/password credentials. SSL verification can be configured (disabled by default for self-signed certificates common in BMCs).
Installation
This project uses uv for dependency management:
# Install development dependencies
uv syncUsage
Environment Variable Configuration (Recommended)
The simplest way to configure the Redfish MCP server is using environment variables. The server will automatically connect on startup if these are provided:
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 secondsMCP Client Configuration
Configure the server in your MCP client with environment variables:
Claude Desktop
Add to ~/.config/claude-desktop/claude_desktop_config.json:
{
"mcpServers": {
"redfish": {
"command": "uv",
"args": ["run", "redfish-mcp-server"],
"cwd": "/path/to/your/redfish-mcp-server",
"env": {
"REDFISH_HOST": "https://192.168.1.100",
"REDFISH_USERNAME": "admin",
"REDFISH_PASSWORD": "password123",
"REDFISH_VERIFY_SSL": "false"
}
}
}
}LM Studio
Add to your LM Studio configuration (mcp.json):
{
"mcpServers": {
"redfish": {
"command": "uv",
"args": [
"--directory",
"C:\\Users\\MyUser\\repos\\redfish-mcp-server",
"run",
"mcp",
"run",
"main.py"
],
"env": {
"REDFISH_HOST": "http://localhost:8000",
"REDFISH_USERNAME": "admin",
"REDFISH_PASSWORD": "password123"
}
}
}
}If developing under Windows with WSL2 where the server is running in WSL, you may need to set the REDFISH_HOST to the WSL IP address or use localhost if accessing from Windows:
{
"mcpServers": {
"redfish": {
"command": "bash",
"args": [
"-c",
"REDFISH_HOST=http://localhost:8000 REDFISH_USERNAME=admin REDFISH_PASSWORD=password123 /home/carlosedp/.local/bin/uv --directory /home/carlosedp/repos/redfish-mcp-server run mcp run main.py"
]
}
}
}Manual Configuration
If you prefer not to use environment variables, you can use the tools to configure the connection:
Use the
redfish_get_config_statustool to check current configuration statusUse the
redfish_configuretool to set up connection parameters manually:Host URL (e.g.,
https://192.168.1.100)Username and password for BMC authentication
SSL verification settings
Use the available tools to interact with your Redfish-enabled hardware:
Available Tools
redfish_get_config_status- Check current configuration status and connectionredfish_configure- Configure connection to Redfish endpoint (if not using env vars)redfish_get_system_info- Get system information and inventoryredfish_power_control- Control system power stateredfish_get_event_logs- Retrieve system event logsredfish_get_health_status- Get system health and statusredfish_manage_users- Manage user accountsredfish_get_sensors- Get sensor readingsredfish_clear_logs- Clear system event logs
Example Usage
# Check current configuration status
await redfish_get_config_status({})
# If not configured via environment variables, configure manually
await redfish_configure({
"host": "https://192.168.1.100",
"username": "admin",
"password": "password123",
"verify_ssl": false
})
# Get system information
await redfish_get_system_info({})
# Power on the system
await redfish_power_control({
"action": "On"
})
# Check system health
await redfish_get_health_status({})Development
FastMCP Development Features
This server is built with FastMCP, providing enhanced development experience:
Development Mode: Use
mcp devfor hot reloading during developmentMCP Inspector: Compatible with MCP inspector for debugging and testing
Structured Output: All responses use Pydantic models for type safety
Auto-generated Schemas: Tools automatically generate JSON schemas from type hints
Running the Server for Development
# Set environment variables for automatic configuration
export REDFISH_HOST="https://192.168.1.100"
export REDFISH_USERNAME="admin"
export REDFISH_PASSWORD="password123"
export REDFISH_VERIFY_SSL="false"
# Run in development mode with the inspector
uv run mcp dev main.pyThe server requires a Redfish hardware or simulator to connect to. Ensure the Redfish endpoint is accessible and the credentials are correct.
You can use Redfish-Mockup-Server for testing with simulated Redfish endpoints. Get the mockup data from the DMTF Redfish Mockup bundle.
Unpack them, install dependencies and run the mockup server:
# Create a venv and install dependencies
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
pip install -r requirements.txt
# Run the mockup server
python redfishMockupServer.py --short-form -D public-rackmount1`Available Tools
15 toolsredfish_clear_logsC
Clear system event logs
Inputs: log_type.
redfish_configureC
Configure Redfish connection parameters and test the connection
Inputs: host (required), password (required), username (required), verify_ssl.
redfish_get_audit_logsC
Get comprehensive audit logs for security and compliance monitoring
Inputs: limit, log_type.
redfish_get_chassis_infoB
Get chassis information and inventory
Inputs: no named parameters.
redfish_get_config_statusB
Get current Redfish configuration status
Inputs: no named parameters.
redfish_get_firmware_inventoryC
Get firmware inventory information for systems
Inputs: system_id.
redfish_get_health_statusA
Get system health and status information for a specific system or all systems
Inputs: system_id.
redfish_get_manager_infoB
Get manager information and inventory
Inputs: no named parameters.
redfish_get_manager_logsC
Retrieve manager event logs
Inputs: manager_id (required), limit.
redfish_get_power_consumptionC
Get power consumption and efficiency metrics for systems
Inputs: system_id.
redfish_get_security_statusB
Get security status and compliance information
Inputs: no named parameters.
redfish_get_sensorsC
Get sensor readings for a specific system
Inputs: system_id (required), sensor_type.
redfish_get_system_infoB
Get system information and inventory
Inputs: no named parameters.
redfish_manage_usersD
Manage user accounts on the Redfish system
Inputs: action (required).
redfish_power_controlD
Control system power state
Inputs: action (required), system_id (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 15 tools
Most tools target distinct Redfish resources (manager, system, chassis, sensors, firmware, power, logs, security, configuration). Minor overlap exists between health status and sensor readings, and between manager/audit logs, but descriptions clarify the intent.
Tools share a redfish_ prefix, and most read operations use get_*. However, action tools vary: power_control (noun-verb), manage_users, clear_logs, and configure (bare verb), creating an inconsistent verb-noun pattern.
15 tools is a well-scoped set for a Redfish management server, covering inventory, health, power, logs, security, and configuration without feeling excessive.
The tool set covers the core Redfish lifecycle: inventory retrieval, power control, health/sensor monitoring, logs, user management, and configuration. Some gaps exist (e.g., firmware updates, network/storage inventory, BIOS settings), but these are not critical for basic monitoring and control.
Maintenance
Related MCP Connectors
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
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.
Run, build, and validate firmware on virtual hardware from your AI agent. Hardware knowledge corpus.
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
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.-
- 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
- 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-