# MIRASTACK Redfish MCP Server (pypi · mirastack-redfish-mcp)

Governed MCP server for DMTF Redfish BMCs. Read-only by default; writes are opt-in and dry-run.

- Trust score: 83/100 (high trust)
- Change this week: +1
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-08

## Components

- oci · `docker.io/mirastack/mirastack-redfish-mcp:0.1.1`: 52/100, [markdown](https://verifymcp.io/servers/ai-mirastacklabs-mirastack-redfish-mcp/docker-io-mirastack-mirastack-redfish-mcp-0-1-1.md), [page](https://verifymcp.io/servers/ai-mirastacklabs-mirastack-redfish-mcp/docker-io-mirastack-mirastack-redfish-mcp-0-1-1)
- pypi · `mirastack-redfish-mcp`: 83/100 (this document), [markdown](https://verifymcp.io/servers/ai-mirastacklabs-mirastack-redfish-mcp/mirastack-redfish-mcp.md), [page](https://verifymcp.io/servers/ai-mirastacklabs-mirastack-redfish-mcp/mirastack-redfish-mcp)

## Channel facts

- Registry: `pypi`
- Package: `mirastack-redfish-mcp`
- Version: `0.1.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-08.

- **Supply Chain Security**: 50/100
  - Malware scan not yet available for this package.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs hatchling.build at install time, a recognised build step with no custom scripting around it.
  - 1 of 29 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to mirastacklabs-ai/mirastack-redfish-mcp).
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 56 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 88/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3311 tokens (~103/item across 32 items; 25 tools + 7 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 100/100
  - No destabilizing schema changes in the last 30 days.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 25 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 27 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the MIRASTACK Redfish MCP Server server?

MIRASTACK Redfish MCP Server runs locally as a PyPI package, launched with uvx mirastack-redfish-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add ai-mirastacklabs-mirastack-redfish-mcp -- uvx mirastack-redfish-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "ai-mirastacklabs-mirastack-redfish-mcp": {
      "command": "uvx",
      "args": [
        "mirastack-redfish-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "ai-mirastacklabs-mirastack-redfish-mcp": {
      "command": "uvx",
      "args": [
        "mirastack-redfish-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add ai-mirastacklabs-mirastack-redfish-mcp -- uvx mirastack-redfish-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-mirastacklabs-mirastack-redfish-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "mirastack-redfish-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ai-mirastacklabs-mirastack-redfish-mcp --command uvx --arg mirastack-redfish-mcp
```

### Hermes

```yaml
mcp_servers:
  ai-mirastacklabs-mirastack-redfish-mcp:
    command: "uvx"
    args: ["mirastack-redfish-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "ai-mirastacklabs-mirastack-redfish-mcp": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "mirastack-redfish-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add ai-mirastacklabs-mirastack-redfish-mcp -t stdio -c uvx -a mirastack-redfish-mcp
```

### Other

```json
{
  "mcpServers": {
    "ai-mirastacklabs-mirastack-redfish-mcp": {
      "command": "uvx",
      "args": [
        "mirastack-redfish-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-08 (score 83, +2)

- [security] Stability: 0.87 → pass

### 2026-10-04 (score 81, +1)

No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-03 (score 80, −3)

- [functional] Stability: pass → 0.83

### 2026-10-02 (score 83, +1)

- [security] Stability: 0.97 → pass

### 2026-09-30 (score 82, +1)

No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-28 (score 81, +11)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-26 (score 70, −2)

- [functional] Stability: pass → 0.80

### 2026-09-25 (score 72, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

## MCP tools (25)

### `list_endpoints` (~56 tokens)

List configured Redfish endpoints

List all configured endpoints and their auth/read-only settings so callers can choose a valid endpoint value. Returns: Object containing an `endpoints` list with endpoint names, URLs, and default/read-only flags. Example: list_endpoints()

### `service_info` (~76 tokens)

Get Redfish ServiceRoot capabilities

Fetch ServiceRoot and protocol feature flags to understand what query options and links the endpoint supports. Returns: Object with `service_root`, `redfish_version`, `capabilities`, `links`, and resolved endpoint name. Example: service_info(endpoint='default')

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.

### `list_systems` (~111 tokens)

List computer systems

List ComputerSystem members from /Systems; enable include_details for full resource payloads and health snapshots. Returns: Object containing `collection_uri` and `systems` items with URIs and optional details. Lists are wrapped as {items, total, truncated}. Example: list_systems(endpoint='default', include_details=true)

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `include_details` (boolean): True fetches each member resource; false returns only member URIs.

### `get_system` (~112 tokens)

Get one computer system

Fetch a single ComputerSystem resource by URI or ID; if omitted, the first system member is auto-selected. Returns: Object with resolved `uri` and full `resource` payload for one ComputerSystem. Example: get_system(uri='/redfish/v1/Systems/1')

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `system_id`: System identifier appended to /redfish/v1/Systems/{system_id}.
- `uri`: Explicit system resource URI to fetch.

### `list_chassis` (~103 tokens)

List chassis resources

List Chassis members and optionally include full details and status for each chassis. Returns: Object containing `collection_uri` and `chassis` items with URIs and optional details. Lists are wrapped as {items, total, truncated}. Example: list_chassis(include_details=false)

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `include_details` (boolean): True fetches each member resource; false returns only member URIs.

### `get_chassis` (~118 tokens)

Get one chassis resource

Fetch a single Chassis resource by URI or ID; if omitted, the first chassis member is auto-selected. Returns: Object with resolved `uri` and full `resource` payload for one Chassis. Example: get_chassis(uri='/redfish/v1/Chassis/1')

Input parameters:

- `chassis_id`: Chassis identifier appended to /redfish/v1/Chassis/{chassis_id}.
- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `uri`: Explicit chassis resource URI to fetch.

### `list_managers` (~115 tokens)

List manager resources

List Manager members (BMC controllers such as iDRAC/iLO/XCC) and optionally include full payloads and status fields. Returns: Object containing `collection_uri` and `managers` items with URIs and optional details. Lists are wrapped as {items, total, truncated}. Example: list_managers(include_details=true)

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `include_details` (boolean): True fetches each member resource; false returns only member URIs.

### `get_manager` (~120 tokens)

Get one manager resource

Fetch one Manager (BMC/iDRAC/iLO/XCC) by URI or ID; if omitted, the first manager member is auto-selected. Returns: Object with resolved `uri` and full `resource` payload for one Manager controller. Example: get_manager(uri='/redfish/v1/Managers/1')

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `manager_id`: Manager identifier appended to /redfish/v1/Managers/{manager_id}.
- `uri`: Explicit manager resource URI to fetch.

### `get_health_summary` (~81 tokens)

Summarize system health

Collect health/state rollups for Systems, Chassis, and Managers to provide a quick fleet health summary. Returns: Object with `groups` keyed by Systems/Chassis/Managers, each a list of per-member health and state rollups. Example: get_health_summary()

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.

### `get_thermal` (~105 tokens)

Get chassis thermal data

Fetch ThermalSubsystem/Thermal for temperature, fan, and cooling telemetry. Prefer this tool for inlet/exhaust temperature and fan speed requests. Returns: Object with `thermal_uri` plus full thermal resource payload. Example: get_thermal(chassis_uri='/redfish/v1/Chassis/1')

Input parameters:

- `chassis_uri`: Target chassis URI. Omit to auto-select the first chassis.
- `endpoint`: Configured endpoint name. Omit to use the default endpoint.

### `get_power` (~104 tokens)

Get chassis power data

Fetch PowerSubsystem/Power for watts, PSU, power-control, and power-cap telemetry. Prefer this tool for PSU or power-draw requests. Returns: Object with `power_uri` plus full power resource payload. Example: get_power(chassis_uri='/redfish/v1/Chassis/1')

Input parameters:

- `chassis_uri`: Target chassis URI. Omit to auto-select the first chassis.
- `endpoint`: Configured endpoint name. Omit to use the default endpoint.

### `get_sensors` (~165 tokens)

Get sensor readings

Fetch broad cross-domain sensor data from Sensors collection; if absent, fall back to deprecated Thermal inline arrays. Use get_thermal for cooling details and get_power for PSU/power metrics. Returns: Object with `sensors_uri` and `sensors`, or `fallback` plus inline `temperatures`/`fans` arrays on services without a Sensors collection. Lists are wrapped as {items, total, truncated}. Example: get_sensors(chassis_uri='/redfish/v1/Chassis/1', limit=100)

Input parameters:

- `chassis_uri`: Target chassis URI. Omit to auto-select the first chassis.
- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `limit` (integer): Maximum number of sensor members to fetch.

### `get_component_inventory` (~205 tokens)

Get system component inventory

Walk the Processors, Memory, Storage, EthernetInterfaces, and PCIeDevices collections of one system. With include_details true each member is fetched, returning model, manufacturer, serial number, part number, capacity, core count, and MAC address where the vendor reports them. Returns: Object with `components` keyed by collection name, each carrying `uri`, `count`, `members` (descriptor fields when include_details is true, otherwise URI stubs), and `details_truncated`. Example: get_component_inventory(system_uri='/redfish/v1/Systems/1', include_details=true)

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `include_details` (boolean): True fetches each component resource (up to 64 per collection) and returns its model/serial/capacity fields; false returns only member URIs and counts.
- `system_uri`: Target ComputerSystem URI. Omit to auto-select the first system.

### `get_log_entries` (~247 tokens)

Get log service entries

Collect entries from a selected LogService with optional severity and timestamp filtering for troubleshooting workflows. Returns: Object with filtered `entries` and the endpoint plus chosen manager/log-service context. Lists are wrapped as {items, total, truncated}. Example: get_log_entries(log_service_uri='/redfish/v1/Managers/1/LogServices/SEL', severity='Critical', limit=50)

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `limit` (integer): Maximum number of log entries to return.
- `log_service_uri`: Optional explicit LogService URI. Omit to auto-select the first manager log service.
- `manager_uri`: Optional manager URI used to resolve a LogServices collection when log_service_uri is omitted.
- `severity`: Optional case-insensitive filter applied to LogEntry.Severity. Allowed values: - OK: Informational or operating normally. - Warning: A condition that requires attention. - Critical: A critical condit…
- `since`: Optional ISO-8601 timestamp (example: 2026-08-11T12:00:00+00:00). Older entries are skipped.

### `get_firmware_inventory` (~93 tokens)

Get firmware inventory

Retrieve UpdateService firmware inventory members and return each firmware resource payload. Returns: Object with `firmware_inventory_uri` and firmware resources under `items`. Lists are wrapped as {items, total, truncated}. Example: get_firmware_inventory(limit=200)

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `limit` (integer): Maximum number of firmware inventory members to fetch.

### `get_boot_config` (~100 tokens)

Get boot override configuration

Return the Boot section for a system so callers can inspect current override target, mode, and enablement. Returns: Object with `system_uri` and current `boot` override configuration block. Example: get_boot_config(system_uri='/redfish/v1/Systems/1')

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `system_uri`: Target ComputerSystem URI. Omit to auto-select the first system.

### `get_bios_attributes` (~94 tokens)

Get BIOS attributes

Fetch BIOS attributes and the full BIOS resource for one system. Returns: Object with BIOS `attributes`, `bios_uri`, and full BIOS resource payload. Example: get_bios_attributes(system_uri='/redfish/v1/Systems/1')

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `system_uri`: Target ComputerSystem URI. Omit to auto-select the first system.

### `list_tasks` (~99 tokens)

List Redfish tasks

List TaskService task members and optionally include full task resource payloads. Returns: Object with TaskService entries under `tasks` (URIs only or full task resources). Lists are wrapped as {items, total, truncated}. Example: list_tasks(include_details=true)

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `include_details` (boolean): True fetches each task resource; false returns only task URIs.

### `get_task` (~106 tokens)

Get one task resource

Fetch a task by URI or task_id; if omitted, the first task member is returned. Returns: Object with a single task payload under `task` and the resolved task URI. Example: get_task(task_id='Task42')

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `task_id`: Task identifier appended to /redfish/v1/TaskService/Tasks/{task_id}.
- `uri`: Explicit task resource URI to fetch.

### `list_accounts` (~98 tokens)

List account resources

List AccountService account members and optionally include full account payloads. Returns: Object with AccountService entries under `accounts` (URIs only or full account resources). Lists are wrapped as {items, total, truncated}. Example: list_accounts(include_details=false)

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `include_details` (boolean): True fetches each account resource; false returns only account URIs.

### `list_virtual_media` (~104 tokens)

List virtual media devices

List VirtualMedia resources for a manager to inspect mounted images and media state. Returns: Object with `manager_uri` and VirtualMedia resources under `virtual_media`. Lists are wrapped as {items, total, truncated}. Example: list_virtual_media(manager_uri='/redfish/v1/Managers/1')

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `manager_uri`: Target manager URI. Omit to auto-select the first manager.

### `redfish_get` (~191 tokens)

Raw Redfish GET

Escape hatch: use when no typed tool fits. Fetch any Redfish URI directly and apply query options only when the endpoint advertises support. Returns: Object with requested `resource`, resolved request URI, and query options that were actually applied. Example: redfish_get(uri='/redfish/v1/Systems/1', select='Id,PowerState')

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `excerpt`: Optional $excerpt expression. Ignored if service does not support excerpt.
- `expand`: Optional $expand expression. Ignored if service does not support expand.
- `only`: Optional $only expression. Ignored if service does not support only.
- `select`: Optional $select expression. Ignored if service does not support select.
- `uri` (string, required): Resource URI to fetch. Relative values are normalized under /redfish/v1.

### `redfish_walk` (~155 tokens)

Walk Redfish graph

Escape hatch: use for topology exploration when typed list/get tools are insufficient. Perform a breadth-first walk over linked @odata.id resources. Returns: Object with `nodes` (each `uri`, `depth`, and `type` from @odata.type) and `visited_count`. Example: redfish_walk(start_uri='/redfish/v1', max_depth=2, max_nodes=120)

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `max_depth` (integer): Maximum traversal depth from start_uri.
- `max_nodes` (integer): Maximum number of nodes to visit before stopping.
- `start_uri` (string): Root URI for traversal. Defaults to /redfish/v1.

### `redfish_describe_schema` (~148 tokens)

Describe Redfish schema type

Return distilled schema metadata for one Redfish resource type from the bundled index artifact. Full summaries are large, so pass property_name or action_name to retrieve just one definition. Returns: Full summary with URIs, properties, actions, versions, and enum metadata; or one narrowed property/action definition. Example: redfish_describe_schema(resource_type='ComputerSystem', property_name='PowerState')

Input parameters:

- `action_name`: Optional single action to describe instead of the full summary, with or without the leading '#'.
- `property_name`: Optional single property to describe instead of the full summary.
- `resource_type` (string, required): Redfish schema type name such as ComputerSystem or Chassis.

### `redfish_list_available_actions` (~114 tokens)

List available actions for resource

Prefer this before any unfamiliar write/action call. Combine schema actions with live action metadata (ActionInfo and AllowableValues) for a resource URI. Returns: Object with `schema_actions` plus `live_actions` (target URIs, required params, allowable values). Example: redfish_list_available_actions(uri='/redfish/v1/Systems/1')

Input parameters:

- `endpoint`: Configured endpoint name. Omit to use the default endpoint.
- `uri` (string, required): Target resource URI to inspect for supported actions.

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/ai-mirastacklabs-mirastack-redfish-mcp/mirastack-redfish-mcp#diagnostics

## Score history

- 2026-10-08: 83
- 2026-10-04: 81
- 2026-10-03: 80
- 2026-10-02: 83
- 2026-10-01: 82
- 2026-09-30: 82
- 2026-09-29: 81
- 2026-09-28: 81
- 2026-09-27: 70
- 2026-09-26: 70
- 2026-09-25: 72
- 2026-09-24: 72
- 2026-09-23: 71
- 2026-09-22: 71
- 2026-09-21: 71
- 2026-09-20: 70
- 2026-09-19: 70
- 2026-09-18: 72
- 2026-09-17: 72
- 2026-09-16: 86
- 2026-09-15: 71
- 2026-09-14: 71
- 2026-09-13: 85
- 2026-09-12: 85
- 2026-09-11: 69
- 2026-09-10: 87
- 2026-09-09: 87
- 2026-09-08: 86
- 2026-09-07: 86
- 2026-09-06: 86

## Common questions

### What is the MIRASTACK Redfish MCP Server server?

MIRASTACK Redfish MCP Server is listed in the public MCP registry as ai.mirastacklabs/mirastack-redfish-mcp. Governed MCP server for DMTF Redfish BMCs. Read-only by default; writes are opt-in and dry-run. This page covers its PyPI package (mirastack-redfish-mcp).

### Is the MIRASTACK Redfish MCP Server server safe to use?

MIRASTACK Redfish MCP Server scores 83 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 8 October 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the MIRASTACK Redfish MCP Server server expose?

MIRASTACK Redfish MCP Server exposes 25 tools: list_endpoints, service_info, list_systems, get_system, list_chassis, and 20 more. Their descriptions and schemas cost roughly 3,020 tokens of context every time the server is loaded.

### Is the MIRASTACK Redfish MCP Server server still maintained?

MIRASTACK Redfish MCP Server is still listed as active in the MCP registry. We last reached this channel on 8 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the MIRASTACK Redfish MCP Server server under?

MIRASTACK Redfish MCP Server declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- PyPI project: https://pypi.org/project/mirastack-redfish-mcp/
- Socket report: https://socket.dev/pypi/package/mirastack-redfish-mcp
- Repository: https://github.com/mirastacklabs-ai/mirastack-redfish-mcp
- Website: https://mirastacklabs.ai/
- Changelog RSS feed: https://verifymcp.io/servers/ai-mirastacklabs-mirastack-redfish-mcp/mirastack-redfish-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/ai-mirastacklabs-mirastack-redfish-mcp/mirastack-redfish-mcp.json
- HTML version of this page: https://verifymcp.io/servers/ai-mirastacklabs-mirastack-redfish-mcp/mirastack-redfish-mcp
