Loki日志分析接口
一个MCP接口,允许AI助手使用LogQL查询和分析Grafana Loki日志,支持身份验证和各种输出格式。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"simple-loki": {
"args": [
"-y",
"simple-loki-mcp"
],
"command": "npx",
"env": {
"LOKI_ADDR": "https://loki.sup.band"
}
}
}
}
服务介绍
简单的 Loki MCP 服务器
Loki MCP 服务器是一个 Model Context Protocol (MCP) 接口,用于通过 logcli 查询 Grafana Loki 日志。该服务器使 AI 助手能够直接访问和分析来自 Loki 的日志数据。
特性
- 支持完整 LogQL 查询 Loki 日志
- 获取标签值和元数据
- 通过环境变量或配置文件支持身份验证和配置
- 提供不同输出格式的结果(默认、原始、JSON 行)
前提条件
- Node.js v16 或更高版本
- TypeScript
- 安装并可以在 PATH 中访问 Grafana Loki logcli
- 可以访问一个 Loki 服务器实例
安装
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装 Simple Loki MCP 服务器:
npx -y @smithery/cli install @ghrud92/simple-loki-mcp --client claude
对于 MCP
{
"mcpServers": {
"simple-loki": {
"command": "npx",
"args": ["-y", "simple-loki-mcp"],
"env": {
"LOKI_ADDR": "https://loki.sup.band"
}
}
}
}
npm
- 克隆仓库:
git clone https://github.com/ghrud92/loki-mcp.git
cd loki-mcp
- 安装依赖项:
npm install
- 构建项目:
npm run build
可用的 MCP 工具
query-loki
从 Loki 查询带有过滤选项的日志。
参数:
query(必需):Loki 查询字符串(LogQL)from:开始时间戳(例如 "2023-01-01T12:00:00Z")to:结束时间戳(例如 "2023-01-01T13:00:00Z")limit:返回的最大日志数量batch:查询结果的批次大小output:输出格式("default"、"raw" 或 "jsonl")quiet:抑制查询元数据forward:按时间顺序显示结果
get-label-values
检索特定标签的所有值。
参数:
label(必需):要获取值的标签名称
get-labels
检索所有可用标签。
不需要参数。
配置
您可以使用以下方式配置 Loki 访问:
环境变量
LOKI_ADDR:Loki 服务器地址(URL)LOKI_USERNAME:基本身份验证用户名LOKI_PASSWORD:基本身份验证密码LOKI_TENANT_ID:多租户 Loki 的租户 IDLOKI_BEARER_TOKEN:用于身份验证的承载令牌LOKI_BEARER_TOKEN_FILE:包含承载令牌的文件LOKI_CA_FILE:用于 TLS 的自定义 CA 文件LOKI_CERT_FILE:用于 TLS 的客户端证书文件LOKI_KEY_FILE:用于 TLS 的客户端密钥文件LOKI_ORG_ID:多组织设置的组织 IDLOKI_TLS_SKIP_VERIFY:跳过 TLS 验证("true" 或 "false")LOKI_CONFIG_PATH:配置文件的自定义路径DEBUG:启用调试日志
配置文件
或者,在以下位置之一创建一个 logcli-config.yaml 文件:
- 由
LOKI_CONFIG_PATH指定的自定义路径 - 当前工作目录
- 您的主目录 (
~/.logcli-config.yaml)
示例配置文件:
addr: https://loki.example.com
username: user
password: pass
tenant_id: mytenant
使用
启动服务器:
npm start
开发时使用:
npm run dev
开发
# Run linter
npm run lint
# Fix linting issues
npm run lint:fix
# Run tests
npm run test
许可证
本项目采用 MIT 许可证进行授权 - 详情请参阅 LICENSE.md 文件。