
MIRASTACK Redfish MCP Server
ai.mirastacklabsv0.1.1更新於 Sep 29, 2026
Governed MCP server for DMTF Redfish BMCs. Read-only by default; writes are opt-in and dry-run.
安裝
在 SourceWeft 中
- 開啟 儀表板中的 MIRASTACK Redfish MCP Server,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
MIRASTACK Redfish MCP Server
Governed MCP server for DMTF Redfish-compliant BMCs — iDRAC, iLO, XCC, OpenBMC and compatible implementations. Read-only by default: mutating tools are not registered unless you explicitly raise the write mode, and every mutation is a dry-run until confirmed.
Built by MIRASTACK LABS. Apache-2.0.
[mirastack-redfish-mcp MCP server]
[mirastack-redfish-mcp MCP server]
Highlights
- MCP
stdioandstreamable-httptransports via the official Python MCP SDK. - Distilled schema metadata from DMTF Redfish-Publications, pinned to release
2026.1. - Protocol-correct Redfish behavior: session auth, ETag/
If-Match,202task polling, and registry-backed error rendering. - Safe write controls: tiered registration plus dry-run-first confirmations.
Why this exists
A BMC is a pre-OS, out-of-band control plane with authority above normal host-level root access. Giving an autonomous agent BMC access without strong guardrails creates immediate blast-radius risk across power, boot, firmware, and account boundaries. This server forces dangerous actions behind deliberate write-mode elevation, and keeps every mutation dry-run by default so intent can be reviewed before application. The result is a governed operational interface rather than an always-armed remote control. The model can still move fast on diagnostics, but privilege transitions become explicit and auditable.
Installation
Try it in 60 seconds (no hardware)
Run a local DMTF mockup, start the MCP server in read-only mode, and call a read tool:
Example tool call:
Expected output shape:
Discovery mode
The server also starts with zero endpoint credentials and still serves read-only
tool discovery (for MCP scanner validation and metadata indexing). In this mode,
schema/corpus-backed tools continue to work, while BMC-connected tools return a
configuration error that names the required environment variables:
MIRASTACK_REDFISH_HOST, MIRASTACK_REDFISH_USERNAME, and
MIRASTACK_REDFISH_PASSWORD (or MIRASTACK_REDFISH_PASSWORD_FILE), or
MIRASTACK_REDFISH_ENDPOINTS for multi-endpoint setup.
Discovery mode also covers a missing endpoints file. If MIRASTACK_REDFISH_ENDPOINTS
points at a path that does not exist - which is how container platforms and MCP directory
scanners inject a placeholder - the server logs a warning naming that path on stderr and
starts with zero endpoints. A file that does exist but cannot be read or parsed remains a
hard startup failure, and a partially configured single endpoint (for example
MIRASTACK_REDFISH_HOST without MIRASTACK_REDFISH_PASSWORD) still raises, so a typo can
never silently downgrade a configured deployment.
Quick Start (hardware, stdio)
Quick Start (streamable-http)
Warning: binding to
0.0.0.0exposes BMC control to every host that can reach this port. Bind to loopback unless the listener sits behind an authenticating proxy on a trusted management network.
Configuration
Canonical environment variables
Use MIRASTACK_REDFISH_* variables:
MIRASTACK_REDFISH_HOSTMIRASTACK_REDFISH_USERNAMEMIRASTACK_REDFISH_PASSWORDorMIRASTACK_REDFISH_PASSWORD_FILE- optional:
MIRASTACK_REDFISH_VERIFY_SSL(default:true),MIRASTACK_REDFISH_CA_BUNDLE,MIRASTACK_REDFISH_TIMEOUT_SEC,MIRASTACK_REDFISH_AUTH_MODE
Multi-endpoint configuration
Set MIRASTACK_REDFISH_ENDPOINTS to inline JSON or a YAML/JSON file:
Lab-only override (not recommended for production):
Set MIRASTACK_REDFISH_DEFAULT_ENDPOINT to choose the default endpoint.
Compatibility
Legacy bare REDFISH_* environment variables are still read as a fallback, with a one-time deprecation warning per variable.
Tool registration profile
MIRASTACK_REDFISH_TOOL_PROFILE=full(default): all toolsets allowed by write mode.MIRASTACK_REDFISH_TOOL_PROFILE=standard: excludes raw write escape hatches.MIRASTACK_REDFISH_TOOL_PROFILE=core: curated 15-tool small-model surface.MIRASTACK_REDFISH_TOOLSETS(comma-separated) overrides profiles with explicit toolsets.
Measured advertised tool-schema payload at MIRASTACK_REDFISH_WRITE_MODE=full: core 20,795 bytes (15 tools), standard 43,669 bytes (33 tools), full 54,745 bytes (40 tools). Re-measure with python3 scripts/check_tool_metadata.py --sizes.
Write Safety Model
MIRASTACK_REDFISH_WRITE_MODE=off(default): mutating tools are not registered.MIRASTACK_REDFISH_WRITE_MODE=power: power/reset/boot control tools are registered.MIRASTACK_REDFISH_WRITE_MODE=config: config-tier tools are registered.MIRASTACK_REDFISH_WRITE_MODE=full: full-tier tools are registered.
Every mutating tool accepts confirm:
confirm=false: dry-run response (dry_run=true,applied=false) withnext_step.confirm=true: action is applied.
Per-endpoint read_only=true overrides global write mode and blocks all writes on that endpoint.
Tier contract
- Power tier:
set_power_state,set_boot_override,reset_manager,cancel_task - Config tier:
set_bios_attributes,eject_virtual_media,redfish_patch,redfish_post,redfish_delete,redfish_invoke_action - Full tier:
insert_virtual_media,clear_logs,manage_account,simple_update,reset_to_defaults
Development
The schema index is generated from DMTF Redfish-Publications, pinned to one release for reproducibility. See CONTRIBUTING.md for refresh procedure.
Registry Publishing Notes
server.jsonincludes PyPI and OCI package definitions for MCP Registry.- This README carries the required marker:
mcp-name: ai.mirastacklabs/mirastack-redfish-mcp. - Docker image includes the
io.modelcontextprotocol.server.nameOCI label. - Install the official publisher CLI via Homebrew:
brew install mcp-publisher. - Do not use
npx mcp-publisherorpip install mcp-publisherfor registry publishing.
Container and directory deployments
The published image puts the console script on PATH, so docker run ... mirastack-redfish-mcp --transport stdio works unchanged.
Some MCP directories ignore the repository Dockerfile and generate their own image from source. If that generated build installs with uv sync, the project lands in a virtualenv at /app/.venv and the console script is not on PATH, so a launcher that spawns the bare name fails with ENOENT. Point the launcher at the absolute path instead:
A placeholder MIRASTACK_REDFISH_ENDPOINTS path that the platform never creates is safe - the server starts in discovery mode and serves the read-only tool surface.
Contributing
GitHub is a public read-only mirror. Issues are welcome on GitHub, but pull requests opened on GitHub cannot be merged. See CONTRIBUTING.md for accepted contribution paths.
Security
See SECURITY.md.
License
Apache-2.0.
來源:README.md,提交 d2bf2b4
工具
0版本歷史
1- v0.1.1最新Sep 16, 2026


