
A high-performance MCP (Model Context Protocol) server implementation in Go for interacting with Redfish-enabled infrastructure.
概览
A high-performance MCP (Model Context Protocol) server implementation in Go for interacting with Redfish-enabled infrastructure. This server provides AI agents and applications with natural language access to Redfish API endpoints, enabling intelligent management and monitoring of data center infrastructure. The Redfish MCP Server enables AI-driven workflows to interact with Redfish-compliant servers through natural language queries. It provides a standardized interface for accessing hardware information, sensor data, and management capabilities of modern infrastructure components. - 🚀 : Native Go implementation with compiled binaries and low memory footprint - 🔍 : Full support for Redfish v1.
README
以下为原文 README 节选,完整内容请查看原文。
Redfish MCP Server (Go)
A high-performance MCP (Model Context Protocol) server implementation in Go for interacting with Redfish-enabled infrastructure. This server provides AI agents and applications with natural language access to Redfish API endpoints, enabling intelligent management and monitoring of data center infrastructure.
Overview
The Redfish MCP Server enables AI-driven workflows to interact with Redfish-compliant servers through natural language queries. It provides a standardized interface for accessing hardware information, sensor data, and management capabilities of modern infrastructure components.
Key Features
- 🚀 High Performance: Native Go implementation with compiled binaries and low memory footprint
- 🔍 Redfish API Integration: Full support for Redfish v1.x API specifications
- 🤖 MCP Compatible: Seamless integration with MCP clients and AI assistants
- 🔐 Secure Authentication: Support for Basic and Session-based authentication
- 🌐 Multiple Transports: stdio, SSE, and streamable-http transport options
- 🔄 Concurrent Operations: Goroutine-based concurrent discovery and requests
- 📊 Structured Data Access: JSON-based resource data retrieval with headers
- 🛠️ Extensible Architecture: Modular design for easy customization
Quick Start
# Clone the repository
git clone https://github.com/theoriginalaiexplorer/mcp-redfish-go.git
cd mcp-redfish-go
# Build the server
go build -o bin/redfish-mcp ./cmd/redfish-mcp
# Configure environment
export REDFISH_HOSTS='[{"address": "192.168.1.100", "username": "admin", "password": "secret"}]'
# Run the server
./bin/redfish-mcp
Installation
Prerequisites
- Go 1.21 or later
- Access to Redfish-enabled infrastructure
Building from Source
# Clone the repository
git clone https://github.com/theoriginalaiexplorer/mcp-redfish-go.git
cd mcp-redfish-go
# Initialize Go module
go mod tidy
# Build for your platform
go build -o bin/redfish-mcp ./cmd/redfish-mcp
# Or build for multiple platforms
make go-build-all
Pre-built Binaries
Download the latest release binaries from the Releases page for:
- Linux (amd64)
- macOS (amd64)
- Windows (amd64)
MCP Tools
The server provides two primary MCP tools for interacting with Redfish infrastructure:
list_servers
Lists all configured Redfish servers that can be accessed.
Example usage:
List all available Redfish servers
Response:
{
"servers": ["192.168.1.100", "192.168.1.101"]
}
get_resource_data
安装
npx @modelcontextprotocol/inspector /path/to/bin/redfish-mcp配置
{
"mcpServers": {
"redfish": {
"command": "/path/to/bin/redfish-mcp",
"env": {
"REDFISH_HOSTS": "[{\"address\": \"192.168.1.100\", \"username\": \"admin\", \"password\": \"secret123\"}]",
"MCP_TRANSPORT": "stdio"
}
}
}
}