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.

πŸ”© 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
F
license - not found
-
quality - not tested
B
maintenance

Maintenance

–Maintainers
64dResponse time
–Release cycle
–Releases (12mo)

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

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/Videothek/xo-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server