schwarztim

cimc-mcp

Community schwarztim
Updated

MCP server for Cisco CIMC — manage standalone C-Series rack servers through the 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

MCP Server · Populars

MCP Server · New

    Blazemeter

    BlazeMeter MCP Server

    Official BlazeMeter MCP Server for AI-driven performance testing

    Community Blazemeter
    nirholas

    Universal Contract AI Interface

    Universal Contract AI Interface (UCAI) 🔗 ABI to MCP | The open standard for connecting AI agents to blockchain. MCP server generator for smart contracts. Claude + Uniswap, Aave, ERC20, NFTs, DeFi. Python CLI, Web3 integration, transaction simulation. Polygon, Arbitrum, Base, Ethereum EVM chains. Claude, GPT, LLM tooling, Solidity, OpenAI.

    Community nirholas
    Dictation354

    Paper Fetch Skill

    Fetch papers as agent-ready markdown — DOI/URL/title in, structured full text out. CLI · MCP · Skill.

    Community Dictation354
    Kaelio

    ktx

    ktx is the context layer for analytics agents

    Community Kaelio
    Goldentrii

    AgentRecall

    Persistent, correction-driven memory for AI agents. Cross-session, cross-platform (Claude Code, Codex, Gemini — any MCP client). Learns from mistakes, compresses context to save tokens, consolidates knowledge overnight. npm: agent-recall-mcp

    Community Goldentrii