clr-openmanage-mcp
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.nextLinkto fetch all pages (unlesstopis set) - Jobs API: OME Jobs API doesn't support
$orderby, so results are sorted client-side byLastRun - Warranty dates: OME doesn't support date comparison in OData
$filterfor 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)
| File | Size | Uploaded | |
|---|---|---|---|
| clr_openmanage_mcp-1.0.0.tar.gz | 84.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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