Skip to main content
Glama
Videothek

Xen Orchestra MCP Server

by Videothek

# Xen Orchestra MCP Server 🛰️

A Model Context Protocol (MCP) server written in 🐍Python to manage 🛰️Xen Orchestra (XOA) via its REST API.

The project is currently under heavy development. Run the Server on your own risk.

🔭 Purpose

This MCP server provides tools to manage and retrieve information from Xen Orchestra using the REST API.

Related MCP server: proxmox-mcp-server

🔩 Features

  • get_docs - Get the swagger docs from the Xen Orchestra API.

  • list_vms - List VMs with their fields based on filters and limit.

  • create_vm (under construction 🏗️) - Create a VM by providing a JSON payload.

  • delete_vm (under construction 🏗️) - Delete a VM given its UUID or href.

  • modify_vm (under construction 🏗️) - Modify VM properties name_label and/or name_description.

  • list_backup_jobs - List backup jobs with their fields based on filters and limit.

  • get_backup_job_details - List backup job details based on the backup job id.

  • list_backup_logs - List backup logs with their fields based on filters and limit.

  • get_backup_log_details - List backup logs details based on the backup log id.

  • list_backup_repositories - List backup repositories with their fields based on filters and limit.

  • get_backup_repository_details - List backup repository details based on the backup repository id.

⛽️ Prerequisites

  • 🐋 Docker Desktop with MCP Toolkit enabled (the docker mcp CLI).

  • 🛰️ Xen Orchestra instance reachable from the host running the container.

  • 🔑 Xen Orchestra authentication token (create it in the XOA UI under your user, check out the offical documentation if you need help).

Checkout the installation instructions for detailed information on how to setup the Docker MCP Server and your MCP client.

🗺️ Environment variables

  • XOA_URL : Base URL of your Xen Orchestra instance (e.g. https://xoa.example.lan) no trailing slash.

  • XOA_TOKEN : The authentication token created in Xen Orchestra UI.

  • CERT_VERIFY (optional, defaults to True): Whether the SSL certificate of your Xen Orchestra webserver should be checked or not. You can also provide a path to your certificate in the containers filesystem: /path/to/your/cert.pem Add the cert as Volume for this to work

📝 Example Prompts

  1. List all running vms

  2. List all stopped VMs with their name and tags

  3. Tell me what backup jobs i have configured

  4. List all of my metadata backups

  5. Provide all details for my full backups

  6. List the 5 last failed backups

  7. List the logs for the 10 last full backups

  8. List log details for the last failed backup --> List more detailed logs for this backup

  9. List all backup repositories --> List details for the <your-repository-name> backup repository

🗼 Architecture

Client → Docker MCP Gateway → Xen Orchestra MCP Server (this project) → Xen Orchestra REST API

Secrets: XOA_TOKEN should be provided through Docker Desktop secrets or an .env file.

🔬 Development / Local testing

Set environment variables locally for testing:

export XOA_URL="https://xoa.example.lan"
export XOA_TOKEN="your-token-here"
python main.py

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables comprehensive management of Proxmox virtualization environments, including VM and container lifecycle, snapshots, backups, monitoring, and OpenAPI integration.
    14
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables management of Proxmox VE environments via the Proxmox API, including node listing, guest management, and VM/LXC creation with Cloud-Init.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables managing VyOS appliances through their HTTP API, providing tools for configuration, operational commands, and interactive troubleshooting.
    MIT
  • A
    license
    C
    quality
    A
    maintenance
    Enables interaction with openQA instances through the REST API, offering read tools for jobs, machines, and test suites, as well as mutating tools like restart and cancel with optional authentication.
    40
    GPL 2.0