Skip to main content
Glama
puhamihai

oVirt MCP Server

by puhamihai

oVirt MCP Server

An MCP (Model Context Protocol) server for managing oVirt / Red Hat Virtualization (RHV) environments via AI assistants such as Claude.

Requirements

  • Python 3.10+

  • Access to an oVirt Engine or RHV Manager instance

  • An account with sufficient permissions (read-only for queries; admin for power operations)

Related MCP server: ProxmoxEmCP

Installation

git clone https://github.com/your-org/ovirt-mcp-server.git
cd ovirt-mcp-server

python -m venv .venv
source .venv/bin/activate

pip install -r requirements.txt

Configuration

Copy the example environment file and fill in your values:

cp env.example .env

Variable

Description

Example

OVIRT_HOST

oVirt Engine hostname or IP

ovirt.domain.local

OVIRT_USER

Username (include domain)

admin@internal

OVIRT_PASSWORD

Password

OVIRT_INSECURE

Skip SSL verification (True/False)

True

Set OVIRT_INSECURE=False in production environments with a valid certificate.

Running the server

python ovirt_mcp_server.py

The server communicates over stdio (standard MCP transport).

Claude Code integration

Add the server to your Claude Code MCP configuration (~/.claude/settings.json):

{
  "mcpServers": {
    "ovirt": {
      "command": "/path/to/ovirt-mcp-server/.venv/bin/python",
      "args": ["/path/to/ovirt-mcp-server/ovirt_mcp_server.py"],
      "env": {
        "OVIRT_HOST": "ovirt.domain.local",
        "OVIRT_USER": "admin@internal",
        "OVIRT_PASSWORD": "your_password",
        "OVIRT_INSECURE": "True"
      }
    }
  }
}

Alternatively, use a .env file in the project directory instead of inlining credentials in the config.

Available tools

VM Management

Tool

Description

list_vms

List VMs with optional oVirt search query

get_vm_details

Full details for a specific VM

get_vm_nics

Network interfaces for a VM

get_vm_disks

Disk information for a VM

get_vm_statistics

CPU, memory, and network stats

get_vm_events

Recent events for a VM

get_vm_by_ip

Find a VM by IP address

search_vms

Search VMs by query string

generate_vm_report

Summary report of all VMs

get_vms_with_high_resource_usage

VMs exceeding CPU/memory thresholds

Power Operations

Tool

Description

power_on_vm

Start a VM

shutdown_vm

Graceful shutdown

power_off_vm

Force power off (requires confirm=true)

reboot_vm

Reboot a VM

suspend_vm

Suspend a VM

bulk_power_operations

Power on/off/reboot multiple VMs

VM Lifecycle

Tool

Description

migrate_vm

Migrate VM to a different host

delete_vm

Delete a VM (requires confirm=true)

modify_vm_resources

Change CPU/memory allocation

Snapshots

Tool

Description

list_vm_snapshots

List snapshots for a VM

create_vm_snapshot

Create a snapshot

delete_vm_snapshot

Delete a snapshot (requires confirm=true)

Infrastructure

Tool

Description

list_hosts

List hypervisor hosts

get_host_details

Details for a specific host

get_host_statistics

CPU, memory, and network stats for a host

list_clusters

List clusters

get_cluster_details

Details for a specific cluster

list_datacenters

List datacenters

list_storage_domains

List storage domains

get_storage_domain_details

Details for a storage domain

list_networks

List networks

list_templates

List VM templates

get_events

Retrieve global oVirt events

Notes

  • Destructive operations (delete_vm, power_off_vm, delete_vm_snapshot, bulk_power_operations) require an explicit confirm=true parameter.

  • All VM and host lookups accept oVirt UUIDs. Use list_vms or search_vms to find IDs.

  • The oVirt REST API must be reachable from the machine running this server.

Related MCP Connectors

Related MCP Servers