Red Hat Lightspeed MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LIGHTSPEED_BASE_URL | No | Override base URL for Lightspeed API | |
| LIGHTSPEED_CLIENT_ID | Yes | Your Red Hat Lightspeed service account client ID | |
| LIGHTSPEED_PROXY_URL | No | Override proxy URL | |
| LIGHTSPEED_SSO_BASE_URL | No | Override SSO base URL | |
| LIGHTSPEED_CLIENT_SECRET | Yes | Your Red Hat Lightspeed service account client secret |
Capabilities
Features and capabilities supported by this server
| 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 |
|---|---|
| get_mcp_versionA | Get the version of the Red Hat Insights MCP server. Always call this if the user asks for the version of the Red Hat Insights MCP server. or when there is an API or authentication issue. Present the comparison URL to the user. |
| image-builder__get_openapiA | Get OpenAPI spec. Use this to get details e.g for a new blueprint 🟢 CALL IMMEDIATELY - No information gathering required. Optional parameters:
Returns: OpenAPI specification JSON (possibly reduced when 'endpoints' is provided) Raises: Exception: If the image-builder connection fails. |
| image-builder__get_blueprintsA | Show user's image blueprints (saved image templates/configurations for Linux distributions, packages, users). 🟢 CALL IMMEDIATELY - No information gathering required. |
| image-builder__get_blueprint_detailsB | Get blueprint details. 🟢 CALL IMMEDIATELY - No information gathering required. Returns: Blueprint details Raises: Exception: If the image-builder connection fails. |
| image-builder__get_composesA | Get a list of all image builds (composes) with their UUIDs and basic status. ALWAYS USE THIS FIRST when checking image build status or finding builds. This returns the UUID needed for get_compose_details. 🟢 CALL IMMEDIATELY - No information gathering required. Common uses:
You can also provide this link so the user can check directly in the UI: https://console.redhat.com/insights/image-builder Returns: List of composes with: - uuid: The unique identifier (REQUIRED for get_compose_details) - name: Blueprint name used - status: Current build status - created_at: When the build started Example response: [ { "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "my-rhel-image", "status": "RUNNING", "created_at": "2025-01-18T10:30:00Z" } ] |
| image-builder__get_compose_detailsA | Get detailed information about a specific image build. ⚠️ REQUIRES: You MUST have the compose UUID from get_composes() first. ⚠️ NEVER call this with generic terms like "latest", "recent", or "my build" 🟢 CALL IMMEDIATELY - No information gathering required. Process:
Returns: Detailed compose information including: - Full status and progress - Error messages if failed - Download URLs if completed - Build logs - Artifact details |
| image-builder__get_distributionsA | Get the list of distributions available to build images with. 🟢 CALL IMMEDIATELY - No information gathering required. Emphasize that there is support only for Red Hat Enterprise Linux (RHEL) images and there only for the latest minor version of each major version. Emphasize that Fedora images are "similar" to the upstream but no official versions! Emphasize that CentOS Stream is not supported by Red Hat. Returns: List of distributions |
| image-builder__get_org_idA | Get the organization ID for RHEL image registration/subscription. Purpose: Fetch the organization ID for RHEL image registration. When to Use: Always use this tool when enabling registration for Red Hat services in a blueprint. CRITICAL NOTE: Never assume or use placeholder organization IDs. Always fetch the actual organization ID using this tool. Returns: The organization ID |
| rhsm__get_activation_keysA | Get the list of activation keys available to the authenticated user. 🟢 CALL IMMEDIATELY - No information gathering required. This endpoint returns activation keys that can be used for RHEL system registration. Activation keys contain subscription and configuration information needed to register systems with Red Hat Subscription Management. If the user has more questions about the activation keys, ask the user to go to https://console.redhat.com/insights/connector/activation-keys Returns: List of activation keys with their details including names, descriptions, and associated subscriptions. |
| rhsm__get_activation_keyA | Get a specific activation key by name. 🟢 CALL IMMEDIATELY - No information gathering required. This endpoint returns details for a specific activation key including its name, description, service level, role, usage, release version, and additional repositories. Returns: Activation key details including configuration and subscription information. |
| vulnerability__get_openapiA | Get Red Hat Insights Vulnerability OpenAPI specification in JSON format. |
| vulnerability__get_cvesA | Get list of CVEs affecting the account. This provides an overview of vulnerabilities across your entire system inventory. Use this endpoint to get an overview of which CVEs are affecting your account, including some CVE metadata, how many systems are affected by each CVE, and more. For more info refer to OpenAPI spec |
| vulnerability__get_cveA | Get details about specific CVE. This endpoint returns the CVE identification number, description, scores and other metadata. The metadata includes the description, CVSS 2/3 Score, CVSS 2/3 attack vector, severity, public date, modified date, business risk, status, a URL to Red Hat web pages, a list of advisories remediating the CVE, and information regarding known exploits for the CVE. For more info refer to OpenAPI spec |
| vulnerability__get_cve_systemsA | Get list of systems affected by a given CVE. This is a report of affected systems for a given CVE. Use this tool to obtain list of all affected systems for a given CVE. For more info refer to OpenAPI spec |
| vulnerability__get_system_cvesA | Get list of CVEs affecting a given system. IMPORTANT: Prefer This is a report of CVEs affecting a given system. Use this tool to obtain list of all CVEs affecting a given system. For more info refer to OpenAPI spec |
| vulnerability__get_systemsA | Get list of systems in Red Hat Insights Vulnerability inventory. List all systems registered in Red Hat Insights Vulnerability service, including information about their last check-in, system name, workspace name, RHEL version, and number of CVEs affecting them. This tool shows both affected and not affected systems. For more info refer to OpenAPI spec |
| vulnerability__explain_cvesA | Explain why CVEs are affecting my environment. This endpoint returns a detailed explanation of why CVEs are affecting my environment. It uses VMAAS to explain the CVEs, what packages are affected and why. Alongside with the information how this CVE can be fixed. To get the explanation, we need to get the system UUID from the inventory and list of CVEs. 'affected_packages' in 'vmaas' response is a list of packages that are affected by the CVE. To update affected packages, suggest to use Ansible Remediation Playbook via Remediations MCP tool. |
| advisor__get_active_rulesA | Get active Advisor Recommendations for your account that help identify issues affecting system availability, stability, performance, or security. Use filters to find recommendations by impact level, likelihood, systems affected, workspace, tags, and automatic remediation availability. Higher impact/likelihood values indicate more critical issues. Call examples: Standard call: {"impacting": true, "offset": 0, "limit": 20} High risk only: {"impacting": true, "impact": "3,4", "likelihood": "3,4"} Pagination: {"offset": 20, "limit": 20} With automatic remediation: {"has_automatic_remediation": true} Security and Performance categories: {"category": "2,4"} Reboot required: {"reboot": true} Sorted by total risk: {"sort": "-total_risk"} For workspaces 'workspace1': {"impacting": true, "groups": "workspace1"} For systems tagged 'database-servers': { "impacting": true, "tags": ["insights-client/group=database-servers"] } |
| advisor__get_rule_from_node_idA | Find Advisor Recommendations related to a specific Knowledge Base article or solution. Use this when you have a Knowledge Base article or solution ID and want to find corresponding Advisor Recommendations that provide system-specific remediation steps. Call examples: Standard call: {"node_id": 123456} |
| advisor__get_rule_detailsA | Get detailed information about a specific Advisor Recommendation, including impact level, likelihood, remediation steps, and related knowledge base articles. Call Examples: Standard call: {"rule_id": "xfs_with_md_raid_hang|XFS_WITH_MD_RAID_HANG_ISSUE_DEFAULT_KERNEL"} |
| advisor__get_hosts_hitting_a_ruleA | Get all RHEL systems affected by a specific Advisor Recommendation. Shows which systems in your infrastructure have the issue identified by this recommendation. Use this to understand the scope of impact. Call Examples: Standard call: {"rule_id": "xfs_with_md_raid_hang|XFS_WITH_MD_RAID_HANG_ISSUE_DEFAULT_KERNEL"} |
| advisor__get_hosts_details_for_ruleA | Get detailed information about RHEL systems affected by a specific Advisor Recommendation. Returns paginated system details with comprehensive information about each affected system, including system identification, impact metrics, RHEL version, and last seen timestamps. Each system entry contains hit counts categorized by severity level and incident status. Call examples: Standard call: {"rule_id": "xfs_with_md_raid_hang|XFS_WITH_MD_RAID_HANG_ISSUE_DEFAULT_KERNEL"} With pagination: {"rule_id": "rule_id", "limit": 20, "offset": 0} Filter by RHEL version: {"rule_id": "rule_id", "rhel_version": "9.4"} Combined filters: {"rule_id": "rule_id", "limit": 50, "offset": 20, "rhel_version": "8.9"} |
| advisor__get_rule_by_text_searchA | Finds Advisor Recommendations that contain an exact text substring. Call examples: Standard call: {"text": "xfs"} |
| advisor__get_recommendations_statsA | Show statistics of recommendations across categories and risks. Call examples: Standard call showing all recommendations: {} Statistics for the workspace 'workspace1': {"groups": "workspace1"} Statistics for systems tagged 'insights-client/security=strict': {"tags": "insights-client/security=strict"} |
| inventory__list_hostsA | List hosts with filtering and sorting options. CRITICAL: For the 'per_page' parameter, you MUST use a value of 10 on the first call to avoid performance degradation and context overflow. Only use a larger value if the user explicitly requests to see more systems at once. |
| inventory__get_host_detailsA | Get detailed information for specific hosts by their IDs. Returns comprehensive host data including identifiers (insights_id, satellite_id, bios_uuid), display names, network info (IP/MAC addresses), cloud provider details, account/org metadata, timestamps (created, updated, stale_timestamp), reporter info, groups, facts, and basic system_profile data. |
| inventory__get_host_system_profileA | Get detailed system profile information for specific hosts. Returns comprehensive hardware and software configuration data including CPU details (model, count, cores per socket), memory info (system_memory_bytes), infrastructure details (type, vendor), network interfaces, disk devices, BIOS information, and various system state data. For RHEL hosts, also includes software information such as enabled repositories, installed packages, and enabled services. This provides the most detailed technical specifications for each host. |
| inventory__get_host_tagsA | Get tags for specific hosts. |
| inventory__find_host_by_nameA | Find a host by its hostname/display name. |
| content-sources__list_repositoriesA | List repositories with filtering and pagination options. 🟢 CALL IMMEDIATELY - No information gathering required. |
| rbac__get_all_accessA | Get access information for all Red Hat insights applications. This endpoint returns access information across all Red Hat insights applications. The API returns gzipped responses for this endpoint, which are handled by the client. Use this when you need to see access permissions across all applications. |
| planning__get_upcoming_changesA | List upcoming package changes, deprecations, additions and enhancements. 🟢 CALL IMMEDIATELY - No information gathering required. Use this tool to answer questions about upcoming package changes, deprecations, additions, or enhancements in the roadmap when a full list of upcoming items is acceptable. When the user asks about a specific RHEL version (for example, "What is coming in RHEL 9.4?"), call this tool without parameters and then filter and summarize the entries relevant to that version in your response. Returns: dict: A response object containing: - meta: Metadata including 'count' and 'total'. - data: A list of package records. Each record contains: - name (str): The package name. - type (str): The change type (e.g., 'addition'). - release (str): The target release version. - details (dict): Detailed info including 'summary' and 'dateAdded'. |
| planning__get_appstreams_lifecycleA | Get Application Streams lifecycle information. 🟢 CALL IMMEDIATELY - No information gathering required. Use this tool when the user asks about Application Streams lifecycle (modules or packages) or wants to understand what streams exist for specific RHEL versions. Guidance:
Returns: str: A JSON-encoded response object containing: - meta: Metadata including: - count (int): Number of records returned in this page. - total (int): Total number of matching records. - data: A list of Application Stream lifecycle records. Each record typically contains: - name (str): Technical package or module name (e.g. 'aspnetcore-runtime-8.0'). - display_name (str): Human-friendly display name (e.g. '.NET 8'). - application_stream_name (str): Application Stream name (e.g. '.NET 8', 'PostgreSQL 16', 'container-tools'). - application_stream_type (str | null): Stream type label (e.g. 'Application Stream', 'Full Life Application Stream', 'Rolling Application Stream'). - stream (str): Stream identifier or version (e.g. '8.0.13', '1.24', '1.14.0'). - start_date (str | null): Planned start date for the stream, in ISO format (YYYY-MM-DD). - end_date (str | null): Planned end-of-life date for the stream, in ISO format (YYYY-MM-DD). - impl (str): Implementation kind (e.g. 'package' or 'dnf_module'). - initial_product_version (str | null): First RHEL product version where this stream is available (e.g. '9.4', '10.0'). - support_status (str): Calculated support status (e.g. 'Supported', 'Near retirement', 'Retired'). - os_major (int | null): RHEL major version (e.g. 8, 9, 10). - os_minor (int | null): RHEL minor version where the stream first appears (e.g. 0, 4). - lifecycle (dict | null): Reserved for additional lifecycle metadata (may be null). - rolling (bool): Indicates whether this is a rolling Application Stream (True) or a fixed-lifecycle stream (False). |
| planning__get_rhel_lifecycleA | Returns life cycle dates for all RHEL majors and minors. 🟢 CALL IMMEDIATELY - No information gathering required. Use this tool when the user asks for RHEL versions and lifecycle timelines, including major versions, minor versions, or extended support types (EUS/E4S/ELS). For "major-only" versions and timelines (for example, "RHEL 8 lifecycle overview"), call this tool and then focus on rows where minor is null. Filtering is performed by you, not the MCP tool. For a specific minor (for example, "RHEL 9.2 EUS lifecycle"), call this tool and then focus on entries matching the requested major and minor. Interpretation of date windows or version selection is done by you. When the user mentions dates or "expiring within N days", call this tool and interpret the start_date / end_date values to identify relevant versions. Interpretation of date windows or version selection is done by you. Returns: dict: A response object containing: - data: A list of RHEL lifecycle records - name (str): System name - start_date (str): Start date of support - end_date (str): End date of standard support - support_status (str): Status of support, e.g. retired, upcoming_release, supported - display_name (str): How the system should be presented to the customer - major (int): Major system version - minor (int): Minor system version - end_date_e4s (str | null): End date of Update Services for SAP Solutions support - end_date_els (str | null): End date of Extended Life-cycle Support - end_date_eus (str | null): End date of Extended Update Support |
| planning__get_relevant_upcomingA | List relevant upcoming package changes, deprecations, additions and enhancements to user's systems. 🟢 CALL IMMEDIATELY - No information gathering required. Use this tool to answer questions about upcoming package changes, deprecations, additions, or enhancements in the roadmap filtered by relevance to the user's systems. Also to plan for future upgrades and mitigate risk. Use this tool over get_upcoming_changes when the user asks about upcoming changes for their systems. Returns: dict: A response object containing: - meta: Metadata including 'count' and 'total'. A count of 0 means no packages matches for the user's systems. - data: A list of package records. Each record contains: - name (str): The package name. - type (str): The change type (e.g., 'addition'). - release (str): The target release version. - details (dict): Detailed info including 'summary' and 'dateAdded'. - potentiallyAffectedSystemsDetail (list): Systems that might be affected by this change, including system IDs, display names, and OS versions. |
| planning__get_relevant_appstreamsA | Get Application Streams relevant to the requester's inventory (includes lifecycle/support dates). 🟢 CALL IMMEDIATELY - No information gathering required. Use this tool when the user asks about Application Streams in their environment (inventory, hosts, systems...), such as: "Which app streams are we running on RHEL 9?" "What successor app streams could we move to from our current streams?" Use this tool over get_appstreams_lifecycle when the user asks about their inventory, hosts, systems... If the question is scoped to a specific RHEL major or minor, set major (and optionally minor) so that relevance is computed only from systems on that version. If the user wants only streams currently running (what is installed/in use in inventory), set include_related=false. If the user asks whether newer versions exist, wants upgrade recommendations, or wants successor streams to consider, set include_related=true and review entries where related=true as potential candidates. If the user needs an exhaustive catalog view of all streams available for a given component (e.g., "list all Node.js streams across RHEL 8/9/10"), use get_appstreams_lifecycle. The backend computes relevance based on actual host data in the user's inventory. This tool does not perform any client-side filtering; all evaluation is performed by the backend. Returns: str: A JSON-encoded response object containing: - meta: Metadata including: - count (int): Number of records returned. - total (int): Total number of matching records. - data: A list of Application Stream records relevant to the user's inventory. Each record contains: - name (str): Technical package or module name. - display_name (str): Human-friendly display name. - application_stream_name (str): Application Stream name. - stream (str): Stream identifier or version. - start_date (str | null): Planned start date (ISO format). - end_date (str | null): Planned end-of-life date (ISO format). - support_status (str): Support status (e.g. 'Supported', 'Retired'). - os_major (int | null): RHEL major version. - os_minor (int | null): RHEL minor version. - related (bool): Indicates if this is a related/successor stream (true) or currently in use (false). |
| planning__get_relevant_rhel_lifecycleA | Returns RHEL lifecycle information for systems in the requester's inventory. 🟢 CALL IMMEDIATELY - No information gathering required. Use this tool when the user asks about RHEL lifecycle in their own environment, for example:
When the question is scoped to a specific RHEL major (or major/minor), set major (and optionally minor) so relevance is calculated only from systems on that version. If the user wants only what is currently running, set include_related=False (default, not needed to be specified). If the user wants upgrade options or newer streams related to what they run today, set include_related=True and look at items where related=true as potential targets. Response guidance:
Returns: str: A JSON-encoded response object containing: - meta: Metadata including: - count (int): Number of records returned. - total (int): Total number of matching records. - data: A list of RHEL lifecycle records relevant to the user's inventory. Each record contains: - name (str): RHEL version name. - display_name (str): Human-friendly display name. - os_major (int | null): RHEL major version. - os_minor (int | null): RHEL minor version. - start_date (str | null): Planned start date (ISO format). - end_date (str | null): Planned end-of-life date (ISO format). - support_status (str): Support status (e.g. 'Supported', 'Retired'). - count (int): Number of systems running this RHEL version. - lifecycle_type (str): Type of RHEL version (e.g. 'mainline', 'extended update support (EUS)', 'extended life-cycle support (ELS)', 'update services for SAP solutions (E4S)'). - related (bool): True when include_related=true and the version is a suggested upgrade target. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/RedHatInsights/insights-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server