返回 MCP 目录
public公开dns本地运行

insights-mcp

Red Hat Lightspeed MCP服务器是一个轻量级自托管解决方案,可将Claude Desktop等LLM智能体连接到Red Hat Lightspeed服务,支持只读操作和自然语言查询,涵盖顾问、库存、漏洞、修复等多个服务模块。

article

README

🚀 Red Hat Lightspeed MCP

(前身为 Insights MCP)

Red Hat Lightspeed 模型上下文协议(MCP)服务器是一个轻量级的自托管解决方案,它将基于大语言模型(LLM)的代理(如 Claude Desktop 和其他兼容 MCP 的工具)连接到 Red Hat Lightspeed 服务。

✨ 主要特性

  • 支持只读操作:服务器默认以只读模式运行。使用 --all-tools 可启用写工具(例如创建蓝图、运行组合)。基于角色的访问控制(RBAC)权限也可限制访问。
  • 提供自然语言提示:支持使用自然语言查询 Red Hat Lightspeed 服务。

📦 支持的 Lightspeed 服务

🚀 快速开始

认证

注意:访问 Red Hat Lightspeed API 才需要进行认证,MCP 服务器本身不需要认证。

有两种认证方式:

  1. 服务账户(客户端 ID + 客户端密钥):创建一个服务账户,并通过环境变量或 HTTP 头提供凭证。
  2. JWT 承载令牌:通过 Authorization: Bearer <token> HTTP 头提供现有的 JWT 令牌(仅适用于 SSE/HTTP 传输)。

服务账户设置

  1. 访问 https://console.redhat.com → 点击设置(⚙️ 齿轮图标)→ “服务账户”。
  2. 创建一个服务账户,并记住 客户端 ID客户端密钥 以备后续使用。在下面的集成说明中,它们分别被称为 LIGHTSPEED_CLIENT_IDLIGHTSPEED_CLIENT_SECRET

工具集所需权限

不同的工具集需要服务账户具备特定的角色:

  • 顾问工具RHEL 顾问查看器
  • 库存工具库存主机查看器
  • 漏洞工具漏洞查看器库存主机查看器
  • 修复工具修复用户

为服务账户授予权限

默认情况下,服务账户没有访问权限。组织管理员必须分配权限。MCP 服务器只能执行其被授权的任务。例如,如果用户希望允许只读操作并拒绝写操作,可以通过权限系统来实现。

有关详细的分步说明,请查看此视频教程:服务账户权限设置

  1. 以组织管理员身份登录,需具备用户访问管理员角色。
  2. 导航到用户访问设置:点击设置(⚙️ 齿轮图标)→ “用户访问” → “组”。
  3. 分配权限(选择一个选项):
    • 选项 A - 创建新组
      • 创建新组(例如 mcp-service-accounts)。
      • 添加所需角色(例如 RHEL 顾问查看器、库存主机查看器等)。
      • 将您的服务账户添加到该组。
    • 选项 B - 使用现有组
      • 打开具有必要角色的现有组。
      • 转到 “服务账户” 选项卡。
      • 将您的服务账户添加到该组。

您的服务账户将继承分配组中的所有角色。

⚠️ 安全注意事项 ⚠️

如果您在本地(使用 podmandocker)启动此 MCP 服务器,请确保容器不暴露在互联网上。在这种情况下,使用 LIGHTSPEED_CLIENT_IDLIGHTSPEED_CLIENT_SECRET 可能没问题,尽管您的 MCP 客户端(如 VSCode、Cursor 等)可以获取您的 LIGHTSPEED_CLIENT_IDLIGHTSPEED_CLIENT_SECRET

如果您从不同的机器连接到此 MCP 服务器,您应该考虑到 LIGHTSPEED_CLIENT_IDLIGHTSPEED_CLIENT_SECRET(或您的 JWT 承载令牌)会传输到 MCP 服务器,并且您需要信任远程 MCP 服务器不会泄露这些信息。

在这两种情况下,如果您有疑虑,请在使用完 MCP 服务器后,从您的账户中禁用/删除 LIGHTSPEED_CLIENT_IDLIGHTSPEED_CLIENT_SECRET

安全与事件响应(紧急撤销)

为确保人工智能操作的安全并符合安全标准,在出现异常的人工智能行为、意外的数据暴露或疑似令牌泄露的情况下,操作员必须能够迅速切断连接的大语言模型对 Red Hat Lightspeed 的访问。

紧急 “终止开关” 程序: 如果您需要立即撤销人工智能对工具集的访问,请执行以下步骤:

  1. 终止服务器:立即停止 MCP 容器或本地进程(例如,运行 podman ps 查找容器,然后执行 podman stop <容器 ID>)。
  2. 撤销凭证:使 MCP 服务器用于向 Red Hat 服务进行认证的 Red Hat 客户端 ID 无效。访问 “服务账户” 页面,然后 删除重置 凭证。

此外,您可以从本地大语言模型客户端的配置中删除 MCP 服务器条目(例如客户端 mcp.json 中的 lightspeed-mcp),以防止客户端尝试重新启动或重新连接到服务器。

🔧 技术细节

工具集

有关 MCP 服务器中可用的工具集,请参阅 toolsets.md

📚 详细文档

前提条件

确保您已安装 podman。(使用 Docker 也可以,但需要相应调整以下命令)

您可以在 Fedora/RHEL/CentOS 上使用 sudo dnf install podman 进行安装,或者在 macOS 上使用 Podman Desktopbrew install podman 进行安装。

⚠️ 注意:如果您在 macOS 上使用 Podman,有时需要显式设置 podman 的路径。例如,将 podman 替换为完整路径,可能是以下路径之一:

  • /usr/local/bin/podman
  • /opt/homebrew/bin/podman

您可以在终端中运行 which podman 来查找路径。

VSCode

首先查看前提条件部分。

选项 1:一键安装(最简单)

在 VS Code 中使用 Podman 安装 (注意:此方法使用 quay.io 容器镜像)

选项 2:手动 STDIO 安装

要在您的项目中使用,请创建一个名为 .vscode/mcp.json 的文件,并包含以下内容:

{
    "inputs": [
        {
            "id": "lightspeed_client_id",
            "type": "promptString",
            "description": "输入 Red Hat Lightspeed 客户端 ID",
            "default": "",
            "password": true
        },
        {
            "id": "lightspeed_client_secret",
            "type": "promptString",
            "description": "输入 Red Hat Lightspeed 客户端密钥",
            "default": "",
            "password": true
        }
    ],
    "servers": {
        "lightspeed-mcp": {
            "type": "stdio",
            "command": "podman",
            "args": [
                "run",
                "--env",
                "LIGHTSPEED_CLIENT_ID",
                "--env",
                "LIGHTSPEED_CLIENT_SECRET",
                "--interactive",
                "--rm",
                "ghcr.io/redhatinsights/red-hat-lightspeed-mcp:latest"
            ],
            "env": {
                "LIGHTSPEED_CLIENT_ID": "${input:lightspeed_client_id}",
                "LIGHTSPEED_CLIENT_SECRET": "${input:lightspeed_client_secret}"
            }
        }
    }
}

Cursor

首先查看前提条件部分。

选项 1:一键安装(最简单)

⚠️ 使用 Ctrl/Cmd 点击新标签页 中打开。否则,安装完成后标签页将关闭,您将无法再看到文档。 在 Cursor 中使用 Podman 安装 (注意:此方法使用 quay.io 容器镜像)

选项 2:手动 STDIO 安装

Cursor 似乎不支持 inputs,您需要在配置文件中添加凭证。要开始集成,请创建一个 ~/.cursor/mcp.json 文件,并包含以下内容:

{
  "mcpServers": {
    "lightspeed-mcp": {
        "type": "stdio",
        "command": "podman",
        "args": [
            "run",
            "--env",
            "LIGHTSPEED_CLIENT_ID",
            "--env",
            "LIGHTSPEED_CLIENT_SECRET",
            "--interactive",
            "--rm",
            "ghcr.io/redhatinsights/red-hat-lightspeed-mcp:latest"
        ],
        "env": {
            "LIGHTSPEED_CLIENT_ID": "",
            "LIGHTSPEED_CLIENT_SECRET": ""
        }
    }
  }
}

如果您看到错误 Some tools have naming issues and may be filtered out.,请参阅已知问题

选项 3:手动可流式 HTTP 安装(高级)

启动服务器:

podman run --net host --rm ghcr.io/redhatinsights/red-hat-lightspeed-mcp:latest http

然后使用 服务账户凭证 进行集成:

{
    "mcpServers": {
        "lightspeed-mcp": {
            "type": "http",
            "url": "http://localhost:8000/mcp",
            "headers": {
                "lightspeed-client-id": "",
                "lightspeed-client-secret": ""
            }
        }
    }
}

或者使用 JWT 承载令牌 进行集成:

{
    "mcpServers": {
        "lightspeed-mcp": {
            "type": "http",
            "url": "http://localhost:8000/mcp",
            "headers": {
                "Authorization": "Bearer <YOUR_JWT_TOKEN>"
            }
        }
    }
}

Gemini CLI

首先查看前提条件部分。

选项 1:手动 STDIO 安装

要开始集成,请创建一个 ~/.gemini/settings.json 文件,并包含以下内容:

{
    ...
    "mcpServers": {
        "lightspeed-mcp": {
            "type": "stdio",
            "command": "podman",
            "args": [
                "run",
                "--env",
                "LIGHTSPEED_CLIENT_ID=<YOUR_CLIENT_ID>",
                "--env",
                "LIGHTSPEED_CLIENT_SECRET=<YOUR_CLIENT_SECRET>",
                "--interactive",
                "--rm",
                "ghcr.io/redhatinsights/red-hat-lightspeed-mcp:latest"
            ]
        }
    }
}

选项 2:手动可流式 HTTP 安装(高级)

启动服务器:

podman run --net host --rm ghcr.io/redhatinsights/red-hat-lightspeed-mcp:latest http

[!NOTE] 对于 macOS 上的 podman 机器,您需要显式设置主机并暴露端口。

  podman run -p 8000:8000 --rm ghcr.io/redhatinsights/red-hat-lightspeed-mcp:latest http --host 0.0.0.0

然后使用 服务账户凭证 进行集成:

{
    ...
    "mcpServers": {
        "lightspeed-mcp": {
            "httpUrl": "http://localhost:8000/mcp",
            "headers": {
                "lightspeed-client-id": "<YOUR_CLIENT_ID>",
                "lightspeed-client-secret": "<YOUR_CLIENT_SECRET>"
            }
        }
    }
}

或者使用 JWT 承载令牌 进行集成:

{
    ...
    "mcpServers": {
        "lightspeed-mcp": {
            "httpUrl": "http://localhost:8000/mcp",
            "headers": {
                "Authorization": "Bearer <YOUR_JWT_TOKEN>"
            }
        }
    }
}

Claude Desktop

首先查看前提条件部分。

对于 Claude Desktop,项目的发布部分中有一个扩展文件。只需下载 red-hat-lightspeed-mcp*.mcpb 文件(或旧格式的 red-hat-lightspeed-mcp*.dxt),并在 Claude Desktop 中通过以下路径添加:设置 -> 扩展 -> 高级扩展设置 -> 安装扩展…

CLine 与 VSCode

首先查看前提条件部分。

首先,使用 sse 参数启动 SSE 服务器:

export LIGHTSPEED_CLIENT_ID=<YOUR_CLIENT_ID>
export LIGHTSPEED_CLIENT_SECRET=<YOUR_CLIENT_SECRET>
podman run --env LIGHTSPEED_CLIENT_ID --env LIGHTSPEED_CLIENT_SECRET --net host --rm ghcr.io/redhatinsights/red-hat-lightspeed-mcp:latest sse

CLine -> 管理 MCP 服务器 界面中,添加一个新的服务器名称和 URL:http://localhost:9000/sse。它将创建以下配置:

{
  "mcpServers": {
    "lightspeed-mcp": {
      "disabled": false,
      "type": "sse",
      "url": "http://localhost:9000/sse"
    }
  }
}

确保 typesse,因为 CLine 目前不支持 HTTP 传输。

通用 STDIO

首先查看前提条件部分。

要通过 STDIO 将其集成到其他工具中,您应该设置环境变量 LIGHTSPEED_CLIENT_IDLIGHTSPEED_CLIENT_SECRET,并使用以下命令进行集成:

export LIGHTSPEED_CLIENT_ID=<YOUR_CLIENT_ID>
export LIGHTSPEED_CLIENT_SECRET=<YOUR_CLIENT_SECRET>
podman run --env LIGHTSPEED_CLIENT_ID --env LIGHTSPEED_CLIENT_SECRET --interactive --rm ghcr.io/redhatinsights/red-hat-lightspeed-mcp:latest

通过标准输入暴露的是 MCP API,而不是聊天界面。您需要一个具有 “代理功能” 的 MCP 客户端来连接到 red-hat-lightspeed-mcp 服务器并实际使用它。

Claude Code

首先查看前提条件部分。

Claude Code 需要对 podman 命令进行一些修改,因为它运行时无法访问主机环境。必须将凭证复制到配置中,在设置 LIGHTSPEED_CLIENT_IDLIGHTSPEED_CLIENT_SECRET 环境变量后,可以使用以下命令完成:

export LIGHTSPEED_CLIENT_ID=<YOUR_CLIENT_ID>
export LIGHTSPEED_CLIENT_SECRET=<YOUR_CLIENT_SECRET>
claude mcp add red-hat-lightspeed-mcp -- podman run --env LIGHTSPEED_CLIENT_ID=$LIGHTSPEED_CLIENT_ID --env LIGHTSPEED_CLIENT_SECRET=$LIGHTSPEED_CLIENT_SECRET --interactive --rm ghcr.io/redhatinsights/red-hat-lightspeed-mcp:latest

或者直接在命令中设置变量:

claude mcp add red-hat-lightspeed-mcp -- podman run --env LIGHTSPEED_CLIENT_ID=<YOUR_CLIENT_ID> --env LIGHTSPEED_CLIENT_SECRET=<YOUR_CLIENT_SECRET> --interactive --rm ghcr.io/redhatinsights/red-hat-lightspeed-mcp:latest

要验证设置是否成功,在 Claude 终端中执行以下命令:

/mcp

如果成功,您应该在 “管理 MCP 服务器” 中看到 red-hat-lightspeed-mcp 并带有绿色的勾号,表示已连接。

URL 覆盖

如果您使用的是非标准的 RH Lightspeed URL,请相应地设置以下环境变量:

  • LIGHTSPEED_BASE_URL
  • LIGHTSPEED_SSO_BASE_URL
  • LIGHTSPEED_PROXY_URL

💻 使用示例

这篇博客文章提供了一些如何使用 RH Lightspeed MCP 服务器的示例。

您也可以向刚刚连接到 MCP 服务器的大语言模型提问,例如:

请解释 red-hat-lightspeed-mcp 以及我可以用它做什么?

有关每个工具集的具体示例问题,请查看测试文件:

CLI

对于某些用例,可能需要直接从命令行使用 MCP 服务器。有关 MCP 服务器的使用方法,请参阅 usage.md

📦 版本发布

此 MCP 服务器发布了两个容器镜像:

  • ghcr.io/redhatinsights/red-hat-lightspeed-mcp:latest
  • quay.io/redhat-services-prod/insights-management-tenant/insights-mcp/red-hat-lightspeed-mcp:latest

它们都基于 main 分支,您可以使用其中任意一个。

带有 Insights 品牌的镜像已被弃用,但仍会保留一段时间,未来可能会被移除。

  • ghcr.io/redhatinsights/insights-mcp:latest
  • quay.io/redhat-services-prod/insights-management-tenant/insights-mcp/insights-mcp:latest

🐞 已知问题

Cursor

使用 Cursor 与 MCP 服务器时,您可能会遇到以下错误:

Some tools have naming issues and may be filtered out.
… exceeds 60 characters…

请将 MCP 配置文件(mcp.json)中的 MCP 服务器名称重命名为更短的名称。

{
  "mcpServers": {
    "red-hat-lightspeed-mcp-this-will-be-too-long": { # <--- 重命名此名称
…

📄 许可证

本软件按 “原样” 提供,不提供任何形式的明示或暗示保证。使用风险自负。作者和贡献者对因使用本软件而可能产生的任何损害或问题不承担责任。

🤝 贡献

请参考 hacking guide 以了解更多信息。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端