Skip to main content

MCP server for Dell OpenManage Enterprise server management

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clr_openmanage_mcp-1.0.0.tar.gz (84.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clr_openmanage_mcp-1.0.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file clr_openmanage_mcp-1.0.0.tar.gz.

File metadata

  • Download URL: clr_openmanage_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 84.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for clr_openmanage_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 308e06cf5c8bfc51c262f56a4df20ed49c8b78eb089d319348e290f505771be8
MD5 4e299b0794faa04e720cb5ac14e6d729
BLAKE2b-256 cdb06db4d46ca3177ef6efa852794e90e4c0c2fcf779ff164118aef5fa9aa5b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for clr_openmanage_mcp-1.0.0.tar.gz:

Publisher: publish.yml on clearminds/clr-openmanage-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clr_openmanage_mcp-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for clr_openmanage_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 57e6760b518c6a4ed4fb92b482b74ceffb10d90e1f09936988069809ccfb0b3a
MD5 025a1038ffee43f314cd9c6199e0b22e
BLAKE2b-256 79f5d3506eef03d09615fd0f8e44493036ea0c15108fa1a7ba1d77971bb97120

See more details on using hashes here.

Provenance

The following attestation bundles were made for clr_openmanage_mcp-1.0.0-py3-none-any.whl:

Publisher: publish.yml on clearminds/clr-openmanage-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page