mcpField
L
Liongard

Liongard

本地服务
github.com云与基础设施02 周前更新

关于 Liongard

Liongard MCP 服务让 AI 助手通过 Liongard API 管理检查器、系统、指标、警报等数据,适用于使用 Liongard 平台的团队。它采用按需展开领域工具的导航式结构,并支持 v1 和 v2 API。

主要功能

  1. 01管理检查器与系统
  2. 02查看指标和警报
  3. 03管理用户、群组与环境
  4. 04支持 v1 和 v2 API
  5. 05按需发现领域工具

适用场景

  1. 01检查系统与检查器状态
  2. 02查询指标和警报
  3. 03管理用户、群组及环境数据

MCP 相关

向 MCP 客户端提供 Liongard 平台工具,覆盖检查器、系统、指标、警报、用户、群组、环境和集成。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"wyre-ai-liongard": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"LIONGARD_API_KEY",
"-e",
"LIONGARD_INSTANCE",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-ai/liongard-mcp:v2.3.10"
],
"env": {
"LIONGARD_API_KEY": "<LIONGARD_API_KEY>",
"LIONGARD_INSTANCE": "<LIONGARD_INSTANCE>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"AUTH_MODE": "<AUTH_MODE>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
启动命令docker run -i --rm -e LIONGARD_API_KEY -e LIONGARD_INSTANCE -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-ai/liongard-mcp:v2.3.10
需要配置的环境变量
LIONGARD_API_KEY密钥Liongard API access key (access key ID and secret combined per Liongard auth scheme)
LIONGARD_INSTANCELiongard instance hostname (e.g. yourorg.app.liongard.com)
MCP_TRANSPORTTransport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.
AUTH_MODE密钥Credential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.
LOG_LEVELLog verbosity: debug, info, warn, error

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/wyre-ai/liongard-mcp:v2.3.10

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Liongard MCP 服务

一个用于与 Liongard 平台交互的 MCP(模型上下文协议)服务。通过 Liongard 的 API,为 AI 助手提供管理检查器、系统、指标、警报、用户等内容的工具。

一键部署

重要

点击之前请注意: 此服务依赖 @wyre-technology/node-liongard, 该包托管在 GitHub Packages npm 注册表中。GitHub Packages 不支持匿名访问—— 即使该包是公开的,每次 npm install 也都需要令牌。云构建器会为你运行 npm install, 因此你必须提供令牌,否则构建会失败,并显示 npm error 401 Unauthorized ... npm.pkg.github.com。

  1. 创建一个具有 read:packages 权限范围的 GitHub Personal Access Token(经典令牌)。 任何 GitHub 账户都可以——要读取其公开包,不需要加入 wyre-technology 组织。
  2. 部署流程提示时,将其添加为构建变量:
    • Cloudflare Workers → 将名为 NODE_AUTH_TOKEN 的构建变量设为你的 PAT (Workers → Settings → Build → Variables and Secrets)。
    • DigitalOcean App Platform → 将名为 GITHUB_TOKEN、作用范围为 Build Time 的加密环境变量设为你的 PAT(Dockerfile 会读取该变量以安装依赖)。

部署到 DO

部署到 Cloudflare Workers

功能

  • 决策树式工具架构——从导航工具开始,随后按需提供特定领域的工具
  • 提供 25 个工具,涵盖检查器、系统、指标、警报、用户、组、环境和集成
  • 通过 MCP Apps 提供交互式检测卡片(SEP-1865):在 MCP Apps 宿主(Claude Desktop/web)中,liongard_detections_get 会渲染为只读卡片,显示严重性/状态徽章,以及由服务解析的系统/环境名称——默认采用中性色;可通过注入 window.__BRAND__ 或设置 MCP_BRAND_* 环境变量(MCP_BRAND_NAME、MCP_BRAND_LOGO_URL、MCP_BRAND_PRIMARY_COLOR、MCP_BRAND_ACCENT_COLOR、MCP_BRAND_BG、MCP_BRAND_TEXT)进行品牌定制,无需重新构建
  • 支持双 API 版本(v1 和 v2)
  • 128 项测试

安装

此项目依赖发布在 GitHub Packages npm 注册表中的 @wyre-technology/node-liongard, 即使是公开包也需要令牌。 完成一次身份验证后即可安装:

# Authenticate npm to GitHub Packages (token needs the read:packages scope)
export NODE_AUTH_TOKEN=$(gh auth token)   # or a PAT with read:packages

npm install

仓库中的 .npmrc 已将 @wyre-technology 作用域指向 GitHub Packages,并 从 NODE_AUTH_TOKEN 读取令牌,因此无需进行其他配置。

配置

复制 .env.example。Stdio 和 AUTH_MODE=env 会读取 Liongard 变量。网关模式不会读取。

变量必填说明
LIONGARD_API_KEYStdio 和 AUTH_MODE=env 必填Liongard API 密钥
LIONGARD_INSTANCEStdio 和 AUTH_MODE=env 必填Liongard 实例主机名(例如 yourorg.app.liongard.com)
MCP_TRANSPORT否stdio(默认)或 http
AUTH_MODE否env(默认)或 gateway。网关模式要求每个 /mcp 请求都携带 X-Liongard-API-Key 和 X-Liongard-Instance,且绝不会回退到 LIONGARD_*。
CONDUIT_S2S_SECRETHTTP 必填服务间密钥。如果该值为空或是已知占位符,HTTP 服务会记录错误并以非零状态码退出。未设置此项时,Compose 不会启动。切勿提交真实值。使用 openssl rand -hex 32 生成。
MCP_ALLOW_INSECURE_DEV否仅在本地开发时设为 1,以便在没有 CONDUIT_S2S_SECRET 的情况下启动 HTTP。进程会记录警告,不会强制要求 X-Gateway-S2S,且仅绑定到 127.0.0.1。如果 MCP_HTTP_HOST 不是环回地址,则拒绝启动。仍会拒绝已知的占位符密钥。
MCP_HTTP_HOST否设置了真实 CONDUIT_S2S_SECRET 时的绑定地址。未设置时使用 0.0.0.0,容器镜像也会设置此值,因此容器部署会在容器内的所有网络接口上监听。没有密钥时,开发绕过模式会改为绑定 127.0.0.1。
MCP_HTTP_PORT否HTTP 端口。默认为 8080。

/health 无需身份验证,也不会读取凭据。Stdio 传输不使用 CONDUIT_S2S_SECRET。

HTTP 身份验证

当设置了 MCP_TRANSPORT=http 和 CONDUIT_S2S_SECRET 时,每个 /mcp 请求都必须包含 X-Gateway-S2S。其值为 t=<unix seconds>,v1=<hex>,其中 v1 是以 CONDUIT_S2S_SECRET 为密钥、对精确字符串 t=<unix seconds> 进行 HMAC-SHA256 计算所得的值(64 个小写十六进制字符)。时间戳与服务器时钟的差值不得超过 300 秒。缺少此标头或标头无效时会返回 401。密钥绝不会写入日志。

import { createHmac } from "node:crypto";

const t = Math.floor(Date.now() / 1000);
const v1 = createHmac("sha256", process.env.CONDUIT_S2S_SECRET)
  .update(`t=${t}`)
  .digest("hex");
const xGatewayS2s = `t=${t},v1=${v1}`;

在 AUTH_MODE=gateway 模式下,/mcp 还要求提供 X-Liongard-API-Key 和 X-Liongard-Instance。这些标头是该请求唯一的凭据来源。请求缺少任一标头时会返回 401,且不会从环境中读取 LIONGARD_API_KEY 或 LIONGARD_INSTANCE。

Docker Compose

仓库中已提交的 Compose 服务采用网关模式。它会发布 127.0.0.1:8080:8080,要求设置 CONDUIT_S2S_SECRET,且不会设置 LIONGARD_API_KEY、LIONGARD_INSTANCE 或 env_file。

CONDUIT_S2S_SECRET=your-s2s-secret docker compose up --build

使用方法

npm start

在 CONDUIT_S2S_SECRET 设置为真实密钥之前,HTTP 不会启动:

MCP_TRANSPORT=http CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" npm start

没有密钥时,仅限开发环境使用本地 HTTP。它会绑定到 127.0.0.1 并记录警告:

MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm start

开发

npm run build       # Build the project
npm run test        # Run tests
npm run lint        # Run linter
npm run typecheck   # Type-check

许可证

Apache-2.0

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。