🚀 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 服務器本身不需要認證。
有兩種認證方式:
- 服務賬戶(客戶端 ID + 客戶端密鑰):創建一個服務賬戶,並通過環境變量或 HTTP 頭提供憑證。
- JWT 承載令牌:通過
Authorization: Bearer <token> HTTP 頭提供現有的 JWT 令牌(僅適用於 SSE/HTTP 傳輸)。
服務賬戶設置
- 訪問 https://console.redhat.com → 點擊設置(⚙️ 齒輪圖標)→ “服務賬戶”。
- 創建一個服務賬戶,並記住
客戶端 ID 和 客戶端密鑰 以備後續使用。在下面的集成說明中,它們分別被稱為 LIGHTSPEED_CLIENT_ID 和 LIGHTSPEED_CLIENT_SECRET。
工具集所需權限
不同的工具集需要服務賬戶具備特定的角色:
- 顧問工具:
RHEL 顧問查看器
- 庫存工具:
庫存主機查看器
- 漏洞工具:
漏洞查看器、庫存主機查看器
- 修復工具:
修復用戶
為服務賬戶授予權限
默認情況下,服務賬戶沒有訪問權限。組織管理員必須分配權限。MCP 服務器只能執行其被授權的任務。例如,如果用戶希望允許只讀操作並拒絕寫操作,可以通過權限系統來實現。
有關詳細的分步說明,請查看此視頻教程:服務賬戶權限設置
- 以組織管理員身份登錄,需具備用戶訪問管理員角色。
- 導航到用戶訪問設置:點擊設置(⚙️ 齒輪圖標)→ “用戶訪問” → “組”。
- 分配權限(選擇一個選項):
- 選項 A - 創建新組:
- 創建新組(例如
mcp-service-accounts)。
- 添加所需角色(例如 RHEL 顧問查看器、庫存主機查看器等)。
- 將您的服務賬戶添加到該組。
- 選項 B - 使用現有組:
- 打開具有必要角色的現有組。
- 轉到 “服務賬戶” 選項卡。
- 將您的服務賬戶添加到該組。
您的服務賬戶將繼承分配組中的所有角色。
⚠️ 安全注意事項 ⚠️
如果您在本地(使用 podman 或 docker)啟動此 MCP 服務器,請確保容器不暴露在互聯網上。在這種情況下,使用 LIGHTSPEED_CLIENT_ID 和 LIGHTSPEED_CLIENT_SECRET 可能沒問題,儘管您的 MCP 客戶端(如 VSCode、Cursor 等)可以獲取您的 LIGHTSPEED_CLIENT_ID 和 LIGHTSPEED_CLIENT_SECRET。
如果您從不同的機器連接到此 MCP 服務器,您應該考慮到 LIGHTSPEED_CLIENT_ID 和 LIGHTSPEED_CLIENT_SECRET(或您的 JWT 承載令牌)會傳輸到 MCP 服務器,並且您需要信任遠程 MCP 服務器不會洩露這些信息。
在這兩種情況下,如果您有疑慮,請在使用完 MCP 服務器後,從您的賬戶中禁用/刪除 LIGHTSPEED_CLIENT_ID 和 LIGHTSPEED_CLIENT_SECRET。
安全與事件響應(緊急撤銷)
為確保人工智能操作的安全並符合安全標準,在出現異常的人工智能行為、意外的數據暴露或疑似令牌洩露的情況下,操作員必須能夠迅速切斷連接的大語言模型對 Red Hat Lightspeed 的訪問。
緊急 “終止開關” 程序:
如果您需要立即撤銷人工智能對工具集的訪問,請執行以下步驟:
- 終止服務器:立即停止 MCP 容器或本地進程(例如,運行
podman ps 查找容器,然後執行 podman stop <容器 ID>)。
- 撤銷憑證:使 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 Desktop 或 brew install podman 進行安裝。
⚠️ 注意:如果您在 macOS 上使用 Podman,有時需要顯式設置 podman 的路徑。例如,將 podman 替換為完整路徑,可能是以下路徑之一:
/usr/local/bin/podman
/opt/homebrew/bin/podman
- …
您可以在終端中運行 which podman 來查找路徑。
VSCode
首先查看前提條件部分。
選項 1:一鍵安裝(最簡單)
(注意:此方法使用 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 點擊 在 新標籤頁 中打開。否則,安裝完成後標籤頁將關閉,您將無法再看到文檔。
(注意:此方法使用 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"
}
}
}
確保 type 為 sse,因為 CLine 目前不支持 HTTP 傳輸。
通用 STDIO
首先查看前提條件部分。
要通過 STDIO 將其集成到其他工具中,您應該設置環境變量 LIGHTSPEED_CLIENT_ID 和 LIGHTSPEED_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_ID 和 LIGHTSPEED_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 以瞭解更多信息。