Skip to main content

clr-openmanage-mcp

PyPI License: MIT Python 3.11+

MCP server for Dell OpenManage Enterprise (OME) — monitor and manage Dell servers through AI assistants like Claude.

Features

  • Device management — list devices, view details, health summary
  • Alert management — list, filter, acknowledge alerts (single or bulk)
  • Warranty tracking — list warranties, find expired ones
  • Firmware compliance — check firmware baselines
  • Job monitoring — view OME jobs and their status
  • Group & policy management — list device groups and alert policies
  • OData pagination — automatic multi-page result fetching
  • Session-based auth — secure X-Auth-Token sessions, auto-created and cleaned up

Installation

pip install clr-openmanage-mcp
# or
uvx clr-openmanage-mcp

Configuration

Preferred: Configuration file at ~/.config/openmanage/credentials.json (chmod 600):

{
  "host": "ome.example.com",
  "username": "admin",
  "password": "your-password"
}

Alternative: Environment variables are also supported:

Variable Description Example
OME_HOST OME server hostname or IP ome.example.com
OME_USERNAME OME admin username admin
OME_PASSWORD OME admin password secretpass

Optional:

Variable Description Default
OME_TRANSPORT Transport protocol (stdio or http) stdio
OME_LOG_LEVEL Log level INFO

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "openmanage": {
      "command": "uvx",
      "args": ["clr-openmanage-mcp"]
    }
  }
}

Claude Code

Add via CLI:

claude mcp add openmanage -- uvx clr-openmanage-mcp

Or add to your .mcp.json:

{
  "openmanage": {
    "command": "uvx",
    "args": ["clr-openmanage-mcp"]
  }
}

VS Code

Add to your VS Code settings or .vscode/mcp.json:

{
  "mcp": {
    "servers": {
      "openmanage": {
        "command": "uvx",
        "args": ["clr-openmanage-mcp"]
      }
    }
  }
}

Note: Configuration is read from ~/.config/openmanage/credentials.json or environment variables. No need to specify credentials in MCP config files.

HTTP Transport

To run as a standalone HTTP server:

clr-openmanage-mcp --transport http --host 0.0.0.0 --port 8000

Tools

System

Tool Description
ome_version Get OME version, build info, and operation status

Devices

Tool Description Parameters
ome_list_devices List all managed devices top?
ome_get_device Get full detail for a single device device_id
ome_device_health Aggregate device health summary (count by status) —

Alerts

Tool Description Parameters
ome_list_alerts List alerts with optional filters severity?, category?, status?, top?
ome_get_alert Get full detail for a single alert alert_id
ome_alert_count Alert count aggregated by severity —
ome_alert_ack Acknowledge one or more alerts by ID alert_ids
ome_alert_ack_all Acknowledge all unacknowledged alerts matching filters severity?, category?

Alert filter values:

Parameter Accepted values
severity critical, warning, info, normal
status unack, ack
category e.g. Warranty, System Health

Warranties

Tool Description Parameters
ome_list_warranties List all warranty records top?
ome_warranties_expired List warranties past their end date —

Groups, Jobs, Policies & Firmware

Tool Description Parameters
ome_list_groups List device groups top?
ome_list_jobs List jobs (sorted by most recent) top?
ome_list_policies List alert policies top?
ome_list_firmware List firmware compliance baselines top?

Example Usage

Once connected, you can ask your AI assistant things like:

  • "Show me all devices in OpenManage"
  • "Are there any critical alerts?"
  • "Which server warranties have expired?"
  • "Acknowledge all warranty alerts"
  • "Show me recent jobs"
  • "What's the firmware compliance status?"

Safety

All tools are read-only except ome_alert_ack and ome_alert_ack_all, which are non-destructive write operations — they mark alerts as acknowledged but do not modify device configuration.

Technical Notes

  • SSL: Self-signed certificate verification is disabled (common for OME appliances)
  • Auth: Session-based with X-Auth-Token, auto-created on startup and cleaned up on shutdown
  • Pagination: Automatically follows OData @odata.nextLink to fetch all pages (unless top is set)
  • Jobs API: OME Jobs API doesn't support $orderby, so results are sorted client-side by LastRun
  • Warranty dates: OME doesn't support date comparison in OData $filter for warranty endpoints, so expired warranty filtering is done client-side

Development

git clone https://github.com/clearminds/clr-openmanage-mcp.git
cd clr-openmanage-mcp
uv sync
uv run clr-openmanage-mcp

License

MIT — see LICENSE for details.

Metadata

Release files for clr-openmanage-mcp 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clr-openmanage-mcp 1.0.0
File Size Uploaded
clr_openmanage_mcp-1.0.0.tar.gz 84.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for clr-openmanage-mcp 1.0.0
File Interpreter ABI Platform
clr_openmanage_mcp-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 96.6 kB

Release files / clr_openmanage_mcp-1.0.0.tar.gz

Download URL clr_openmanage_mcp-1.0.0.tar.gz
Size 84.4 kB
Tags Source
SHA-256 checksum
How to use checksums
308e06cf5c8bfc51c262f56a4df20ed49c8b78eb089d319348e290f505771be8
BLAKE2b-256 checksum
How to use checksums
cdb06db4d46ca3177ef6efa852794e90e4c0c2fcf779ff164118aef5fa9aa5b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 18, 2026.

Transparency log

Release files / clr_openmanage_mcp-1.0.0-py3-none-any.whl

Download URL clr_openmanage_mcp-1.0.0-py3-none-any.whl
Size 12.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
57e6760b518c6a4ed4fb92b482b74ceffb10d90e1f09936988069809ccfb0b3a
BLAKE2b-256 checksum
How to use checksums
79f5d3506eef03d09615fd0f8e44493036ea0c15108fa1a7ba1d77971bb97120
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page