OME MCP Server
Provides tools for managing Dell PowerEdge servers through Dell OpenManage Enterprise, including device listing, inventory, health, power actions, firmware updates, configuration compliance, and alert management.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OME MCP Serverlist all devices with pending firmware updates"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OME MCP — Dell OpenManage Enterprise MCP Server
A Model Context Protocol (MCP) server that exposes Dell OpenManage Enterprise (OME) management capabilities to AI agents via a Streaming HTTP transport. No direct iDRAC connections are made — all data flows through OME's REST API.
Features
Tool | Description |
| List all managed devices with OData filter + pagination |
| Full detail for one device by ID |
| Hardware inventory (CPU/RAM/NIC/HDD/PSU) |
| Per-subsystem health status |
| NIC/port details |
| PowerOn/Off/Restart/Cycle via OME |
| List device groups |
| Devices in a specific group |
| Alerts with severity/status filter |
| Acknowledge one or more alerts |
| List jobs with filter |
| Job detail and status |
| Trigger an existing job immediately |
| Job run history |
| Discovery configuration groups |
| Create & start a discovery scan |
| Firmware update catalogs |
| Firmware compliance baselines |
| Per-component compliance report |
| Configuration/deployment templates |
| Template details |
| Configuration compliance baselines |
| Per-device config compliance |
| OME version, license, health |
| Active OME API sessions |
| OME audit trail |
| Device warranty records |
| Trigger OME inventory refresh |
Related MCP server: Redfish MCP Server
Architecture
AI Agent / MCP Client
│
│ HTTP POST /mcp (Streaming HTTP transport)
▼
┌─────────────────────┐
│ ome_mcp_v5 │ Docker container (Ubuntu/Python 3.11)
│ FastMCP server │
│ port 8000 │
└────────┬────────────┘
│ HTTPS REST API calls
▼
┌─────────────────────┐
│ OME Appliance │ https://192.168.1.145/api
│ (192.168.1.145) │
└────────┬────────────┘
│ OME manages iDRAC internally
▼
Dell PowerEdge ServersNo connections are made directly to iDRAC — OME handles that internally.
Prerequisites
Docker Engine 24+ and Docker Compose v2 on an Ubuntu host
Network access from the host to
https://192.168.1.145(OME appliance)OME admin credentials
Quick Start
1. Clone / copy project files
2. Configure credentials
cd ome-mcp
cp .env.example .env
nano .env # Set OME_USER, OME_PASSWORDNever commit .env to version control.
3. Start container
docker compose up -dThe MCP endpoint will be available at http://<host>:8000/mcp.
Service Based Install
Build the image
./service_control.sh buildStart the server
./service_control.sh startThe MCP endpoint will be available at http://<host>:8000/mcp.
Check status
./service_control.sh status
./service_control.sh logs 50Auto-start with systemd (optional)
# Install systemd unit (auto-updates WorkingDirectory to current path)
sudo ./service_control.sh install-systemd
# Start now
sudo systemctl start ome_mcp_v5
# View logs
sudo journalctl -u ome_mcp_v5 -fTo remove the systemd unit:
sudo ./service_control.sh uninstall-systemdTLS / SSL Toggle
Scenario | Setting in |
Lab / self-signed cert |
|
Production (trusted CA) |
|
Production (custom CA bundle) |
|
No rebuild is required — just change the env var and restart.
Connecting an MCP Client
Point any MCP-compatible client at:
http://<host_ip>:8000/mcpExample with mcp CLI:
mcp call --url http://192.168.1.200:8000/mcp ome_list_devices '{"top":10}'Example with Python SDK:
from mcp.client.streamable_http import streamablehttp_client
from mcp import ClientSession
async with streamablehttp_client("http://192.168.1.200:8000/mcp") as (r, w, _):
async with ClientSession(r, w) as session:
await session.initialize()
result = await session.call_tool("ome_list_devices", {"top": 5})
print(result.content)Pagination
All list tools accept top (page size, default 50) and skip (offset) parameters.
Use the returned next_skip value to fetch subsequent pages:
{"top": 25, "skip": 0} // first page
{"top": 25, "skip": 25} // second pageOData Filtering
Pass standard OData $filter expressions via the filter parameter:
"Model eq 'PowerEdge R640'"
"Severity eq 'Critical'"
"LastRunStatus/Name eq 'Failed'"
"StatusType eq 'New'"Security Notes
Credentials are stored in
.env(owner-read-only, not version-controlled).The server runs as a non-root user (
mcpuser, UID 1000) inside the container.Credentials are never logged.
For production, set
OME_VERIFY_SSL=trueand use a valid TLS certificate on OME.The MCP endpoint itself is plain HTTP on port 8000; place a reverse proxy (nginx/caddy) with TLS in front of it if external exposure is required.
Troubleshooting
Container won't start:
./service_control.sh logsAuthentication errors:
Verify
OME_USER/OME_PASSWORDin.envConfirm OME is reachable:
curl -k https://192.168.1.145/api/SessionService/Sessions
SSL errors:
Set
OME_VERIFY_SSL=falsefor self-signed certsRestart after changing:
./service_control.sh restart
Tools return empty results:
Devices may not be discovered yet — use
ome_create_discovery_jobCheck OME permissions for the API account
Adding New Tools
Add a Pydantic
Inputmodel inome_mcp_server.pyAdd a function decorated with
@mcp.tool(name="ome_your_tool")Call
_ome_get/_ome_postas appropriateRebuild:
./service_control.sh rebuild && ./service_control.sh restart
License
MIT License — see LICENSE file.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TrevorSquillario/ome-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server