Uyuni MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UYUNI_PASS | No | Uyuni password for local deployments (not required for OAuth setups) | |
| UYUNI_USER | No | Uyuni credentials for local deployments (not required for OAuth setups) | |
| UYUNI_SERVER | Yes | Basic API parameters: Uyuni server address and port (e.g., 192.168.1.124:8443) | |
| UYUNI_MCP_HOST | No | Host to bind when using HTTP transport | 127.0.0.1 |
| UYUNI_MCP_PORT | No | Port to bind when using HTTP transport | 8080 |
| UYUNI_AUTH_SERVER | No | OAuth 2.0 authorization server URL | |
| UYUNI_SSH_PRIV_KEY | No | Required to bootstrap new systems via the add_system tool. SSH private key as a single-line string with \n for newlines. | |
| UYUNI_MCP_LOG_LEVEL | No | Logging level: DEBUG, INFO, WARNING, ERROR, CRITICAL. Defaults to 'INFO'. | INFO |
| UYUNI_MCP_TRANSPORT | No | Set the transport protocol. Can be 'stdio' (default) or 'http'. | stdio |
| UYUNI_MCP_PUBLIC_URL | No | Final public URL to advertise (e.g., http://127.0.0.1:8080) | |
| UYUNI_MCP_SSL_VERIFY | No | Set to 'false' to disable SSL certificate verification. Defaults to 'true'. | true |
| UYUNI_MCP_LOG_FILE_PATH | No | Path for the server log file. Defaults to logging to the console. | |
| UYUNI_SSH_PRIV_KEY_PASS | No | Passphrase for the SSH private key (if any). | |
| UYUNI_MCP_WRITE_TOOLS_ENABLED | No | Set to 'true' to enable tools that perform write actions (e.g., POST requests). Defaults to 'false'. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_systemsA | |
| get_system_detailsA | Get details for one system. Inputs: |
| get_system_event_historyA | List events for one system. Inputs: |
| get_system_event_detailsA | Get one event detail. Inputs: |
| find_systems_by_nameA | Find systems by hostname. Inputs: |
| find_systems_by_ipA | Find systems by IP address. Inputs: |
| get_system_updatesA | Get pending updates for one system. Inputs: |
| summarize_system_updatesA | Summarize pending updates for one system. Inputs: |
| query_system_updatesA | Query pending updates for one system. Inputs: |
| check_all_systems_for_updatesA | Check all active systems for pending updates. Inputs: optional |
| summarize_fleet_updatesA | Summarize fleet update status. Inputs: optional |
| list_systems_needing_update_for_cveA | List systems affected by a CVE. Inputs: |
| list_systems_needing_rebootA | List systems that require reboot. Inputs: optional |
| list_all_scheduled_actionsA | Query scheduled actions. Inputs: optional |
| list_activation_keysA | List activation keys available to the current user. Inputs: none.
Returns: list of objects with |
| get_unscheduled_errataA | List unscheduled errata for one system. Inputs: |
| list_system_groupsA | List system groups. Inputs: none.
Returns: list with |
| list_group_systemsA | List systems in one group. Inputs: |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
The tools have overlapping purposes, especially around updates (multiple tools for checking updates on individual systems and fleet), but descriptions clearly differentiate them by context (compact vs paginated, fleet vs individual). Some ambiguity remains for agents unfamiliar with the specific use cases.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., find_systems_by_name, get_system_details, list_systems, summarize_fleet_updates). No deviations or mixed conventions.
18 tools is well-scoped for the domain of system management (systems, groups, updates, events, actions, activation keys). Each tool serves a clear purpose without unnecessary duplication.
The tool set covers reading and querying (systems, updates, events, groups, activation keys) comprehensively, but lacks tools for performing actions (e.g., applying updates, rebooting, modifying groups). This may be intentional for a read-only server, but it leaves gaps for full lifecycle management.