Skip to content

Register with an MCP client

Spawned per session, no daemon to manage:

Terminal window
claude mcp add idrac --scope user \
--env R740_LAB_PASS="$R740_LAB_PASS" \
-- uvx mcidrac --transport stdio

Pass one --env per password_env your registry references. The server reads ~/.config/mcidrac/idracs.toml (or $MCIDRAC_CONFIG).

For multiple clients or a server that outlives sessions:

Terminal window
mcidrac --transport http --host 127.0.0.1 --port 7903
claude mcp add idrac --transport http http://127.0.0.1:7903/mcp

Bind beyond localhost only on a network you trust — the server holds BMC credentials and its tools control hardware. There is no auth layer on the HTTP transport; treat network reachability as authorization.

To run from a git clone so local edits apply immediately:

Terminal window
claude mcp add idrac --scope user \
-- uv run --directory /path/to/mcidrac mcidrac --transport stdio

Anything speaking MCP works: point it at the uvx mcidrac --transport stdio command line, or the streamable-HTTP endpoint /mcp. The server also exposes resources (idrac://... URIs, useful for cheap polling) and six workflow prompts — see Resources & prompts.

Destructive tools (idrac_power, idrac_bios_set, idrac_scp_import, idrac_boot_to_iso, idrac_sel_clear, idrac_attributes_set) carry the MCP destructiveHint annotation. In Claude Code, leave those on ask-every-time; read-only tools are safe to allowlist wholesale. See the safety model for what the server does and doesn’t protect against.