CIMC MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
git clone https://github.com/schwarztim/cimc-mcp.git
cd cimc-mcp
npm install
npm run build
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "CIMC_PASSWORD=${CIMC_PASSWORD}" cimc-mcp -- node "<FULL_PATH_TO_CIMC_MCP>/dist/index.js"

Replace <FULL_PATH_TO_CIMC_MCP>/dist/index.js with the actual folder you prepared in step 1.

Required:CIMC_PASSWORD+ 4 optional
README.md

Manage standalone Cisco C-Series rack servers through the CIMC XML API.

cimc-mcp

MCP server for Cisco CIMC (Integrated Management Controller) — manage standalone C-Series rack servers through the XML API.

Features

16 tools covering full server lifecycle management:

Tool Description
get_server_summary Power state, model, serial, CPU/memory counts, operability
get_server_health Composite health: DIMMs, PSUs, fans, storage, temps, faults
get_sensors Fan speeds, PSU readings, temperature data
get_inventory CPUs, DIMMs, PCI cards, NICs, storage controllers
get_faults Active faults with severity filtering
power_control Power on/off/cycle/reset/shutdown (confirmation required)
get_storage_summary RAID controllers, virtual drives, physical disks
get_bios_settings All BIOS token values
set_bios_setting Modify BIOS tokens (confirmation required, reboot to apply)
get_network_adapters NICs, MAC addresses, port details
get_firmware_versions CIMC, BIOS, storage controller, NIC firmware
get_power_stats Input voltage, current, consumed power
get_thermal_stats CPU/memory/ambient temps, fan speeds
get_event_log System event log entries
set_locator_led Chassis locator LED on/off
sol_configure Serial over LAN enable/disable/baud rate

Requirements

  • Node.js 22+
  • macOS with /usr/bin/curl (uses system curl for network routing to BMC interfaces)
  • Network access to CIMC management interface

Setup

git clone https://github.com/schwarztim/cimc-mcp.git
cd cimc-mcp
npm install
npm run build

Environment Variables

cp .env.example .env
# Edit .env with your CIMC credentials
Variable Default Description
CIMC_HOST 192.168.88.10 CIMC BMC IP address
CIMC_USERNAME admin Login username
CIMC_PASSWORD (required) Login password
CIMC_VERIFY_TLS false Verify TLS certificates
CIMC_INTERFACE (none) Local network interface to bind

Usage

Claude Code

Add to ~/.claude/user-mcps.json:

{
  "mcpServers": {
    "cimc": {
      "command": "node",
      "args": ["/path/to/cimc-mcp/dist/index.js"],
      "env": {
        "CIMC_HOST": "192.168.88.10",
        "CIMC_USERNAME": "admin",
        "CIMC_PASSWORD": "your-password"
      }
    }
  }
}

Standalone

CIMC_HOST=192.168.88.10 CIMC_USERNAME=admin CIMC_PASSWORD=changeme npm start

How It Works

All communication goes through the CIMC XML API — a single POST endpoint at https://{host}/nuova. The server:

  1. Authenticates via aaaLogin to get a session cookie (600s TTL)
  2. Caches and auto-refreshes the session before expiry
  3. Serializes all requests to avoid overloading the resource-constrained BMC
  4. Parses XML responses and normalizes single-item/array inconsistencies

macOS Network Note

CIMC BMCs are typically on isolated management networks reachable via a dedicated interface. On macOS, only system binaries (/usr/bin/curl) have the network entitlements to route across interfaces. This server uses system curl as its HTTP transport instead of Node.js https for this reason.

Compatibility

Tested on:

  • Cisco UCS C220 M4 (CIMC 2.0(10l))

Should work with any standalone C-Series server running CIMC 2.x or later. UCS Manager-managed servers use a different API and are not supported.

Development

npm run dev          # Run with tsx (hot reload)
npm test             # Run tests
npm run build        # Compile TypeScript

License

MIT

Tools (16)

get_server_summaryGet power state, model, serial, CPU/memory counts, and operability.
get_server_healthGet composite health status for DIMMs, PSUs, fans, storage, temps, and faults.
get_sensorsGet fan speeds, PSU readings, and temperature data.
get_inventoryGet inventory of CPUs, DIMMs, PCI cards, NICs, and storage controllers.
get_faultsGet active faults with severity filtering.
power_controlPerform power on, off, cycle, reset, or shutdown actions.
get_storage_summaryGet RAID controllers, virtual drives, and physical disks information.
get_bios_settingsGet all BIOS token values.
set_bios_settingModify BIOS tokens.
get_network_adaptersGet NICs, MAC addresses, and port details.
get_firmware_versionsGet CIMC, BIOS, storage controller, and NIC firmware versions.
get_power_statsGet input voltage, current, and consumed power.
get_thermal_statsGet CPU, memory, ambient temperatures, and fan speeds.
get_event_logGet system event log entries.
set_locator_ledToggle chassis locator LED on or off.
sol_configureEnable, disable, or set baud rate for Serial over LAN.

Environment Variables

CIMC_HOSTCIMC BMC IP address
CIMC_USERNAMELogin username
CIMC_PASSWORDrequiredLogin password
CIMC_VERIFY_TLSVerify TLS certificates
CIMC_INTERFACELocal network interface to bind

Configuration

claude_desktop_config.json
{"mcpServers": {"cimc": {"command": "node", "args": ["/path/to/cimc-mcp/dist/index.js"], "env": {"CIMC_HOST": "192.168.88.10", "CIMC_USERNAME": "admin", "CIMC_PASSWORD": "your-password"}}}}

Try it

Check the current health status of the server and list any active faults.
What is the current power consumption and thermal status of the server?
List all installed CPUs and memory modules in the server inventory.
Power cycle the server to perform a hard reset.
Get the current firmware versions for the BIOS and storage controllers.

Frequently Asked Questions

What are the key features of CIMC MCP?

Full server lifecycle management via 16 specialized tools. Hardware health monitoring including fans, PSUs, and temperatures. BIOS configuration management and token modification. Power state control including power cycle and shutdown. Comprehensive inventory reporting for CPUs, NICs, and storage.

What can I use CIMC MCP for?

Automating hardware health checks for remote data center rack servers. Streamlining BIOS configuration updates across multiple C-Series servers. Integrating server power management into AI-driven infrastructure workflows. Quickly auditing firmware versions and hardware inventory for compliance.

How do I install CIMC MCP?

Install CIMC MCP by running: git clone https://github.com/schwarztim/cimc-mcp.git && cd cimc-mcp && npm install && npm run build

What MCP clients work with CIMC MCP?

CIMC MCP works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep CIMC MCP docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare