Redfish

Provides a natural language interface to manage Redfish-based infrastructure via MCP clients.
  • typescript

4

GitHub Stars

typescript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "nokia-mcp-redfish": {
      "command": "uv",
      "args": [
        "run",
        "mcp-redfish"
      ],
      "env": {
        "REDFISH_PORT": "443",
        "MCP_TRANSPORT": "stdio",
        "REDFISH_HOSTS": "[{\"address\": \"192.168.1.100\", \"username\": \"admin\", \"password\": \"secret\"}]",
        "REDFISH_PASSWORD": "password",
        "REDFISH_USERNAME": "admin",
        "REDFISH_AUTH_METHOD": "session",
        "MCP_REDFISH_LOG_LEVEL": "INFO"
      }
    }
  }
}

You can run a Redfish MCP Server to interact with Redfish-based infrastructure through natural language queries via MCP clients. This server wraps the Redfish API and lets AI-driven workflows read data from and manage infrastructure components using simple, human-friendly prompts.

How to use

You access the Redfish MCP Server using an MCP client and issue natural language questions or commands. Common tasks include listing available infrastructure components and retrieving data about specific resources such as Ethernet interfaces. The server processes your natural language input, translates it into Redfish API calls, and returns structured results that you can use in your automation, dashboards, or AI workflows.

Typical usage patterns include:

  • Asking for a list of endpoints exposed by the server
  • Requesting data for a particular resource (for example, a System or EthernetInterface)
  • Querying configurations or statuses across multiple Redfish endpoints These actions are performed through your MCP client, which communicates with the server over the selected MCP transport.

How to install

Prerequisites: Python 3.9+ is recommended, and you need an environment to run the MCP Redfish Server (e.g., a Unix-like system). You also need an MCP client to interact with the server.

Step 1: Clone the project repository to your working directory.

Step 2: Install development dependencies (or install for production as needed). If you are setting up for development, install dependencies with the development workflow.

Step 3: Start the server using the console script. This is the recommended approach for end users and production deployments.

uv run mcp-redfish
# or with a Makefile target (if you have Makefile available)
make run-stdio

# If you prefer module execution (development/CI)
uv run python -m src.main

Configuration and environment variables

The server uses environment variables to configure Redfish endpoints, authentication, and transport. A validation step runs at startup to ensure all settings are correct.

Key environment variables you will configure include: REDFISH_HOSTS, REDFISH_PORT, REDFISH_AUTH_METHOD, REDFISH_USERNAME, REDFISH_PASSWORD, REDFISH_SERVER_CA_CERT, REDFISH_DISCOVERY_ENABLED, REDFISH_DISCOVERY_INTERVAL, MCP_TRANSPORT, and MCP_REDFISH_LOG_LEVEL.

REDFISH_HOSTS is a JSON array with per-host configurations. Each host must include at least the address field, with optional port, username, password, auth_method, and TLS CA certificate path.

REDFISH_HOSTS='[{"address": "192.168.1.100", "port": 443, "username": "admin", "password": "secret", "auth_method": "session", "tls_server_ca_cert": "/path/to/ca.pem"}]'
REDFISH_AUTH_METHOD=session
MCP_TRANSPORT=stdio
MCP_REDFISH_LOG_LEVEL=INFO

Transports

The server supports multiple MCP transports to fit different deployment scenarios. The default is stdio, which uses standard input and output for communication.

If you need remote access via HTTP-based MCP clients, you can switch to server-sent events (SSE) or other supported transports as documented in the configuration sections.

Testing and usage notes

You can validate connectivity and behavior by running interactive tests or using an MCP inspector in development. Ensure your Redfish endpoints are reachable and that credentials are correct.

For end-to-end testing, you can exercise the Redfish API against a local emulator to simulate real endpoints without affecting production systems.

Available tools

get_resource_data

Read data of a specific Redfish resource such as System or EthernetInterface.

list_endpoints

Query the Redfish API endpoints configured for the MCP Server.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational