Get the FREE Ultimate OpenClaw Setup Guide →

mcp -uyuni

Enabling LLMs to interact with Uyuni

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio uyuni-project-mcp-server-uyuni docker run -i --rm ghcr.io/uyuni-project/uyuni-mcp-server:latest \
  --env UYUNI_PASS="<Uyuni password>" \
  --env UYUNI_USER="<Uyuni username>" \
  --env UYUNI_SERVER="<Uyuni server address, e.g., 192.168.1.124:8443>" \
  --env UYUNI_MCP_HOST="<host for HTTP transport, if used>" \
  --env UYUNI_MCP_PORT="<port for HTTP transport, if used>" \
  --env UYUNI_AUTH_SERVER="<OAuth2 authorization server URL>" \
  --env UYUNI_SSH_PRIV_KEY="<SSH private key in single-line escaped format>" \
  --env UYUNI_MCP_LOG_LEVEL="<DEBUG|INFO|WARNING|ERROR|CRITICAL>" \
  --env UYUNI_MCP_TRANSPORT="<stdio|http>" \
  --env UYUNI_MCP_SSL_VERIFY="<true|false>" \
  --env UYUNI_MCP_LOG_FILE_PATH="<path to log file>" \
  --env UYUNI_MCP_WRITE_TOOLS_ENABLED="<true|false>"

How to use

The Uyuni MCP Server provides a bridge between large language models and your Uyuni infrastructure. It exposes a set of tools that let an AI assistant query system inventory, view details, check for updates, and schedule actions like patches or reboots. Typical usage involves connecting an MCP-compatible client (such as Gemini CLI or Claude Desktop) to the server via the chosen transport (stdio for local use or HTTP for remote access). Once connected, you can ask the agent to list systems, fetch system details, verify pending updates, and schedule maintenance tasks without manual Uyuni UI navigation. The tool list includes capabilities to inspect infrastructure, manage updates (including CVEs), and execute actions like scheduling patches and reboots. The server is designed to run either in a container (recommended for remote access) or locally via stdio for development or testing.

To use it, configure your Uyuni connection details in the provided environment variables, start the container or local process, and point your MCP client at the server endpoint. The client can then issue commands that map to tools such as list_systems, get_system_details, get_system_updates, schedule_pending_updates_to_system, add_system, remove_system, and more. Be mindful of write-enabled modes and transport security, as enabling write tools over HTTP can expose destructive operations to anyone with network access.

How to install

Prerequisites:

  • Docker installed on the host (for container method) or a local runtime for the chosen transport (stdio-based or HTTP server).
  • Access credentials for Uyuni (API endpoint, user, password).
  • Optional: OAuth 2.0 server configuration if you enable OAuth-based authentication.

Option 1: Run via Docker (recommended for remote access)

  1. Ensure Docker is running and you have access to the Uyuni MCP server image.
  2. Create a configuration file or environment variables as needed. The README example uses an environment- and container-based approach.
  3. Start the container using the provided command (adjust image name if needed):
# Example: run the Uyuni MCP Server container
docker run -i --rm \
  ghcr.io/uyuni-project/uyuni-mcp-server:latest
  1. Set up environment variables as needed for Uyuni connection (UYUNI_SERVER, UYUNI_USER, UYUNI_PASS, etc.).

Option 2: Run via local stdio or HTTP transport (non-container)

  1. Ensure you have Node/Python/etc. depending on the server build (as per project packaging).
  2. Install dependencies and run the server using the recommended command from the MCP docs.
  3. Configure transport to stdio or http and supply Uyuni credentials via environment variables or a config file.

Prerequisites summary:

  • Docker or local runtime compatible with the server packaging
  • Uyuni server details (URL, credentials, TLS settings)
  • Optional: OAuth 2.0 server details if you enable OAuth authentication

Note: If you enable HTTP transport, ensure authentication is correctly configured to avoid unauthenticated access.

Additional notes

Security notes:

  • Enabling write tools (e.g., schedule updates, add/remove systems) over HTTP can expose destructive actions to anyone with network access. Restrict HTTP access to trusted networks or prefer stdio/container deployments in secure environments.
  • When using OAuth 2.0, ensure the Uyuni instance supports the /manager/api/oauthLogin endpoint; otherwise, authentication may fail.
  • The SSH private key used for bootstrapping new systems must be provided as a single-line string with newline characters escaped (\n). Use the provided formatting guidance in the README to generate this value.
  • Validate TLS settings (UYUNI_MCP_SSL_VERIFY) to avoid man-in-the-middle risks in production deployments.

Related MCP Servers

Sponsor this space

Reach thousands of developers