Loki MCP Server

让 MCP 客户端通过 LogQL 查询 Grafana Loki 日志。

Star 数
★ 170
最近更新
8 天前
主语言
Go

30 秒速览

可在哪里用
通用 · 跨平台Claude.ai
开始前需要
Go 1.16 or higherGrafana LokiDocker for container-based deploymentShell / 命令行网络访问MCP Server
典型场景
运维工程师在 Claude Desktop 中用自然语言指定 LogQL,检查某个服务最近一小时的错误日志。
主要局限
功能范围集中在单个 loki_query 工具;材料未记录标签发现、规则管理、告警管理或写入生产日志等能力。

这个 Agent 能做什么,适合哪些场景?

Loki MCP Server 是一个用 Go 编写、面向 Grafana Loki 的 Model Context Protocol 服务。它提供 `loki_query` 工具,接收 LogQL、时间范围、结果数量和组织 ID,并返回 Loki 查询结果。服务既可通过标准输入/输出运行,也可启用带 `/sse` 和 `/mcp` 端点的 HTTP/SSE 模式。仓库还包含测试客户端、工具处理器、数据模型,以及用于本地启动 Loki、Grafana、示例日志生成器和 MCP 服务的 Docker Compose 环境。它适合希望让 Claude Desktop、Cursor、n8n 或其他 MCP 兼容客户端访问自托管 Loki 的团队,但并不是通用日志后端,也不提供 Loki 本身。

客户端调用 loki_query 并提交必需的 query LogQL 字符串;还可提交 urlstartendlimitorg。处理器向指定的 Grafana Loki 服务发出查询,其中 org 作为 X-Scope-OrgID 请求头发送,并把查询到的日志条目返回给 MCP 客户端。未显式提供参数时,服务可从 LOKI_URLLOKI_ORG_IDLOKI_USERNAMELOKI_PASSWORDLOKI_TOKEN 读取连接、租户及认证信息;默认 Loki 地址为 http://localhost:3100,默认时间范围为最近一小时,默认上限为 100 条。它可以作为 stdin/stdout MCP 进程运行,也能在 HTTP 模式下通过默认 8080 端口的 /sse/mcp 提供服务。仓库中的 cmd/client 可直接测试查询,Docker Compose 环境则可生成示例日志并通过 Grafana 界面检查数据。

  1. 运维工程师在 Claude Desktop 中用自然语言指定 LogQL,检查某个服务最近一小时的错误日志。
  2. 使用多租户 Loki 的平台团队通过 org 参数选择租户,并让服务发送对应的 X-Scope-OrgID
  3. n8n 工作流维护者通过 /sse 连接 MCP Client Tools 节点,让 AI Agent 在自动化流程中查询日志。
  4. 开发者在本机用 Docker Compose 启动 Loki、Grafana、日志生成器和 MCP 服务,验证查询或集成配置。
  5. Cursor 用户通过 Docker 配置把 Loki 查询能力接入编辑器,在排查应用问题时检索日志。

如何安装或部署这个 Agent?

需要 Go 1.16 或更高版本,以及可访问的 Grafana Loki。源码构建:

go build -o loki-mcp-server ./cmd/server

运行:

./loki-mcp-server

也可以直接运行:

go run ./cmd/server

如使用容器:

docker build -t loki-mcp-server .
docker run --rm -i loki-mcp-server

HTTP/SSE 模式需要映射默认端口:

docker run -p 8080:8080 --rm -i loki-mcp-server

通过 LOKI_URL 配置 Loki 地址;多租户环境可设置 LOKI_ORG_ID,认证可使用 LOKI_USERNAMELOKI_PASSWORD,或设置 LOKI_TOKENSSE_PORT 可修改 HTTP 服务端口。

如何使用这个 Agent?

先配置并执行一次查询:

export LOKI_URL="http://localhost:3100"
go build -o loki-mcp-client ./cmd/client
./loki-mcp-client loki_query "{job=\"varlogs\"}"

指定时间范围和数量时可运行:

./loki-mcp-client loki_query "{job=\"varlogs\"}" "-1h" "now" 100

本地完整测试环境可用 docker-compose up -d 启动,然后运行 ./test-loki-query.sh '{job="varlogs"} |= "ERROR"'。在 Claude Desktop 中,将构建后的二进制配置为 MCP server,设置所需的 LOKI_URL 和认证环境变量,重启客户端后即可调用 loki_query。HTTP 集成可连接 http://你的服务器地址:8080/sse,协议消息端点为 http://你的服务器地址:8080/mcp

这个 Agent 有哪些优点和局限?

优点
  • 同时支持 stdin/stdout 和 HTTP/SSE,可覆盖桌面 MCP 客户端与 n8n 一类网络工作流。
  • loki_query 暴露时间范围、结果上限和组织 ID,并明确支持通过 X-Scope-OrgID 查询多租户 Loki。
  • 支持基本认证和 bearer token,连接及认证默认值均可通过环境变量集中配置。
  • 附带测试客户端、查询脚本、日志注入脚本及包含 Loki、Grafana和示例日志的 Docker Compose 测试环境。
局限
  • 功能范围集中在单个 loki_query 工具;材料未记录标签发现、规则管理、告警管理或写入生产日志等能力。
  • 必须运行或访问 Grafana Loki,HTTP/SSE 场景还需要网络连通性和端口配置。
  • 环境变量可能包含用户名、密码或 token,部署者需要自行防止凭据进入日志和配置文件。
  • 仓库元数据显示许可证未知,而 README 声称使用 MIT License;采用前应核对实际 LICENSE 文件。
  • Claude Desktop 使用 go run 时可能需要额外设置 HOMEGOPATHGOMODCACHEGOCACHE,因此文档将 Docker 描述为更可靠的方式。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 Star 最近更新 主语言 完整支持的平台
Loki MCP Server 当前 56 · 缺口较多 ★ 170 8 天前 Go Claude.ai
Agency Orchestrator:一句话组队 AI 专家团队 61 · 存在缺口 ★ 2.3k 1 天前 TypeScript Codex · Claude Code · OpenAI API · Claude API
Dokploy MCP 服务器 65 · 存在缺口 ★ 383 5 天前 TypeScript Claude Code · Claude.ai
Stakpak 57 · 缺口较多 ★ 1.8k 2 个月前 Rust OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
56/ 100 五分制 2.8 / 5
信任安全 13/29
可靠稳定 6/14
适用触发 14/18
规范维护 10/18
有效结果 9/13
证据核验 4/8
查看各维度的扣分理由
信任安全13 / 29 · 2.2/5

该产品只公开一个以读取为主的 Loki 查询工具,并明确说明查询参数、目标 URL、租户头、认证环境变量以及 stdio/SSE 数据路径,因此最小权限、数据流透明度和外部影响有一定依据。扣分点是调用方可提供 URL、HTTP/SSE 暴露面未说明服务端访问控制,示例还将 loki_query 放入 autoApprove,未提供逐次用户确认。敏感凭据仅有避免泄露的笼统提醒,没有密钥存储、日志脱敏或传输安全措施。依赖版本固定且 CI 执行 go mod verify 和 govulncheck,但扫描工具使用 latest,且没有锁定 CI Action 提交。查询通常没有需要回滚的持久变更,但项目也没有明确的撤销或恢复说明。模块路径指向 scottlepp/loki-mcp,而对象标称 grafana/loki-mcp,维护者与归属关系未被解释,故来源归属仅得薄弱分。

可靠稳定6 / 14 · 2.1/5

README、go.mod 和 CI 对基本构建及测试流程形成部分一致证据,依赖也采用 Go 模块固定版本并在 CI 下载验证。明显扣分来自 README 要求 Go 1.16,而 go.mod 与 CI 要求 Go 1.24.4;工作流说明声称存在真实 Loki 集成测试,但 ci.yml 中该任务整体被注释;“综合单元测试和 CI/CD”之类表述也无法由所给测试源码验证。材料几乎没有展示运行时错误分类、面向用户的失败消息或重试/超时行为。

适用触发14 / 18 · 3.9/5

文档充分覆盖 Claude Desktop、Cursor、n8n、Docker、本地 Loki 和多租户场景,并提供多种自然语言与命令示例,受众和场景说明较强。工具边界和参数模式得到说明,但没有代码来确认参数验证、时间语法、限制范围或自然语言映射行为。环境变量与多平台配置较完整,不过 Go 版本矛盾、SSE 模式启动方式不够明确,且 HTTP 部署认证只以“选择适当认证”带过。

规范维护10 / 18 · 2.8/5

README 的结构、架构概览、安装方式、环境变量、Docker 及大量示例组织清楚,信息架构和示例质量较好。命名大致稳定,但 lokiserver、loki-mcp-server 和仓库/模块归属存在差异。已知限制几乎没有集中说明;README 声称 MIT,但给定材料没有 LICENSE 正文且许可证元数据未知,因此不能充分核验。没有版本、发布或变更日志证据。CI 更新路径可见,但维护责任人、支持渠道和归属关系不明确。

有效结果9 / 13 · 3.5/5

该工具把 Loki LogQL 查询、时间范围、结果上限、租户与认证接入 MCP,对已有 Loki 用户具有清晰的增量价值;文档中的客户端、容器和提示示例有助于产出可用结果。扣分是未提供实际响应样例、输出模式或大结果处理说明,也没有证据说明分页、截断、性能和资源成本;部署仍需 Go 或 Docker、Loki 连接和凭据配置,因此成本收益只能评为普通使用下适当。

证据核验4 / 8 · 2.5/5

部分声明可在 go.mod 与 ci.yml 间交叉核对,例如 Go 版本、依赖固定、测试/构建/漏洞扫描命令;README 的工具、环境和项目结构也提供了可追踪入口。扣分是未提供处理器、模型、测试和 LICENSE 内容,无法核实实际参数处理、认证优先级、输出格式、错误行为及测试覆盖。工作流说明把已注释的集成测试描述为现行流程,README 也将“综合测试”“自动理解自然语言”等推断或宣传性陈述呈现为事实,事实与推断分离不足。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • README 的 Go 1.16 前置条件与 go.mod/CI 的 Go 1.24.4 冲突;部署前应按实际工具链重新确认。
  • HTTP/SSE 端点的服务端认证、网络绑定和 TLS 策略没有说明,不应未经额外隔离直接暴露到不可信网络。
  • 可调用方提供 Loki URL,部署时应限制允许的目标地址,以降低访问内部服务或意外外传日志查询的风险。
  • 示例启用 autoApprove,且 Loki 日志可能包含敏感数据;生产环境宜保留人工授权或施加严格的工具与租户策略。
  • LOKI_PASSWORD 和 LOKI_TOKEN 的存储、脱敏及轮换机制未展示;不要把真实凭据提交到配置文件或日志。
  • ci.yml 中的真实 Loki 集成测试已被注释,不能把工作流说明中的集成测试声明视为当前执行证据。
  • MIT 许可仅由 README 声称,给定材料没有 LICENSE 正文;采用或再分发前应核验许可证文件及仓库归属。
证据充分度: 评估于 2026年9月21日 审查版本 c8148563dd26
查看完整评分方法 →

常见问题

它会托管或采集日志吗?
不会。它查询现有的 Grafana Loki;本地 Docker Compose 示例另行启动 Loki、Grafana 和日志生成器用于测试。
是否支持多租户 Loki?
支持。可通过请求中的 orgLOKI_ORG_ID 指定组织 ID,服务会把它作为 X-Scope-OrgID 请求头发送。
可以怎样认证到 Loki?
可通过 LOKI_USERNAMELOKI_PASSWORD 使用基本认证,也可通过 LOKI_TOKEN 使用 bearer token;材料建议尽可能选择 token,并避免泄露凭据。
必须使用 Docker 吗?
不必须。可以使用 Go 1.16 或更高版本构建二进制或通过 go run ./cmd/server 运行;Docker 和 Docker Compose 是额外的部署及测试路径。
出现查询失败时应先检查什么?
先检查 LOKI_URL 是否可达、LogQL 是否有效、时间范围是否包含数据,以及租户 ID和认证变量是否与目标 Loki 配置一致。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents