# MIRASTACK Redfish MCP Server (oci · docker.io/mirastack/mirastack-redfish-mcp:0.1.1)

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

- Trust score: 40/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-16

## Components

- oci · `docker.io/mirastack/mirastack-redfish-mcp:0.1.1`: 40/100 (this document), [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`: 72/100, [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: `oci`
- Package: `docker.io/mirastack/mirastack-redfish-mcp: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-08-16.

- **Supply Chain Security**: 0/100
  - Malware scan not yet available for this package.
  - Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.
  - Install-script risk not yet assessed.
  - Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.
- **Provenance & Transparency**: 35/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: no license is declared.
  - Actively maintained (last published 4 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**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **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.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

**Unverified: 2 categories.** Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add ai-mirastacklabs-mirastack-redfish-mcp -- docker run --rm -i docker.io/mirastack/mirastack-redfish-mcp:0.1.1
```

### Codex

```bash
codex mcp add ai-mirastacklabs-mirastack-redfish-mcp -- docker run --rm -i docker.io/mirastack/mirastack-redfish-mcp:0.1.1
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-mirastacklabs-mirastack-redfish-mcp": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "docker.io/mirastack/mirastack-redfish-mcp:0.1.1"
      ],
      "enabled": true
    }
  }
}
```

### Hermes

```yaml
mcp_servers:
  ai-mirastacklabs-mirastack-redfish-mcp:
    command: "docker"
    args: ["run", "--rm", "-i", "docker.io/mirastack/mirastack-redfish-mcp:0.1.1"]
```

### Other

```json
{
  "mcpServers": {
    "ai-mirastacklabs-mirastack-redfish-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "docker.io/mirastack/mirastack-redfish-mcp:0.1.1"
      ]
    }
  }
}
```

## 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-08-11 (score 40)

First indexed and scored.

## 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. The full working is on the page: https://verifymcp.io/servers/ai-mirastacklabs-mirastack-redfish-mcp/docker-io-mirastack-mirastack-redfish-mcp-0-1-1#diagnostics

## Score history

- 2026-08-16: 40
- 2026-08-15: 40
- 2026-08-14: 40
- 2026-08-13: 40
- 2026-08-12: 40
- 2026-08-11: 40

## Links

- 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/docker-io-mirastack-mirastack-redfish-mcp-0-1-1.xml
- Changelog JSON feed: https://verifymcp.io/servers/ai-mirastacklabs-mirastack-redfish-mcp/docker-io-mirastack-mirastack-redfish-mcp-0-1-1.json
- HTML version of this page: https://verifymcp.io/servers/ai-mirastacklabs-mirastack-redfish-mcp/docker-io-mirastack-mirastack-redfish-mcp-0-1-1
