Loki MCP 服务器是一个用于通过 logcli 查询 Grafana Loki 日志的 模型上下文协议 (MCP) 接口。该服务器使AI助手能够直接访问和分析来自 Loki 的日志数据。
logcli 时,自动回退到 HTTP APIlogcli 不可用,服务器将自动使用 Loki HTTP API要通过 Smithery 自动安装 Simple Loki MCP 服务器:
npx -y @smithery/cli install @ghrud92/simple-loki-mcp --client claude
{
"mcpServers": {
"simple-loki": {
"command": "npx",
"args": ["-y", "simple-loki-mcp"],
"env": {
"LOKI_ADDR": "https://loki.sup.band"
}
}
}
}
git clone https://github.com/ghrud92/loki-mcp.git
cd loki-mcp
npm install
npm run build
使用过滤选项从 Loki 查询日志。
参数:
query(必需):Loki 查询字符串(LogQL)from:起始时间戳(例如 "2023-01-01T12:00:00Z")to:结束时间戳(例如 "2023-01-01T13:00:00Z")limit:返回的日志最大数量batch:查询结果的批处理大小output:输出格式("默认"、"原始" 或 "jsonl")quiet:抑制查询元数据forward:按时间顺序显示结果检索特定标签的所有值。
参数:
label(必需):获取值的标签名称检索所有可用标签。
无需参数。
您可以使用以下方式配置 Loki 访问:
LOKI_ADDR:Loki 服务器地址(URL)LOKI_USERNAME:基本认证用户名LOKI_PASSWORD:基本认证密码LOKI_TENANT_ID:多租户 Loki 的租户IDLOKI_BEARER_TOKEN:认证的承载令牌LOKI_BEARER_TOKEN_FILE:包含承载令牌的文件LOKI_CA_FILE:自定义 CA 文件用于 TLSLOKI_CERT_FILE:客户端证书文件用于 TLSLOKI_KEY_FILE:客户端密钥文件用于 TLSLOKI_ORG_ID:多组织设置中的组织IDLOKI_TLS_SKIP_VERIFY:跳过 TLS 验证("true" 或 "false")LOKI_CONFIG_PATH:自定义配置文件路径DEBUG:启用调试日志注意:当客户端使用 HTTP API 模式(当
logcli不可用时),相同的配置参数用于认证和连接到 Loki 服务器。
或者,在以下位置之一创建一个 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
服务器会自动检查 logcli 是否已安装并在环境中可用:
logcli 可用,它将用于所有查询,提供 CLI 工具的全部功能。logcli 不可用,服务器将自动回退到使用 Loki HTTP API:
这种自动检测确保了服务器在不同的环境中无缝运行,无需手动配置。
# 运行 linter
npm run lint
# 修复 linter 错误
npm run lint:fix
# 运行测试
npm run test
本项目根据 MIT 许可证发布 - 查看 LICENSE.md 文件以获取详细信息。