SuperAPI AI 工具集

grafana-loki-mcp

grafana-loki-mcp 是一个基于 FastMCP 的服务器,用于通过 Grafana API 查询 Loki 日志。它允许用户通过 MCP 协议访问 Loki 日志数据,支持获取标签和标签值,并能以文本、JSON 或 Markdown 格式输出结果。该项目支持 stdio 和 SSE 两种传输协议,需要配置 Grafana 实例 URL 和 API 密钥。

访问官网

工具介绍

grafana-loki-mcp 是一个 FastMCP 服务器,旨在通过 Grafana API 查询 Loki 日志。它提供了一系列工具,使用户能够方便地检索和分析 Loki 日志数据。

用途

该服务器主要用于从 Grafana 中查询 Loki 日志,适用于需要集成日志查询功能的开发或运维场景。

主要能力

  • 通过 Grafana API 查询 Loki 日志
  • 获取 Loki 标签和标签值
  • 以不同格式(文本、JSON、Markdown)格式化查询结果
  • 支持 stdio 和 SSE 传输协议

使用方式

环境变量

需要设置以下环境变量:

  • GRAFANA_URL:Grafana 实例的 URL
  • GRAFANA_API_KEY:具有适当权限的 Grafana API 密钥

这些值也可以通过命令行参数提供。

命令行参数

  • --transport:使用的传输协议(stdio 或 sse,默认:stdio)

运行服务器

提供了开发设置说明,包括使用 uv 安装依赖、运行测试套件和覆盖率、以及代码检查与格式化。

可用工具

  • query_loki:通过 Grafana 查询 Loki 日志。参数包括:
    • query:Loki 查询字符串
    • start:开始时间(ISO 格式、Unix 时间戳或 Grafana 风格相对时间如 'now-1h',默认:1 小时前)
    • end:结束时间(ISO 格式、Unix 时间戳或 Grafana 风格相对时间如 'now',默认:现在)
    • limit:返回的最大日志行数(默认:100)
    • direction:查询方向('forward' 或 'backward',默认:'backward')
    • max_per_line:每行日志的最大字符数(0 表示无限制,默认:100)
  • get_loki_labels:获取 Loki 中的所有标签名称。
  • get_loki_label_values:获取 Loki 中特定标签的值。参数:
    • label:标签名称
  • format_loki_results:以更易读的格式格式化 Loki 查询结果。参数:
    • results:来自 query_loki 的 Loki 查询结果
    • format_type:输出格式('text'、'json' 或 'markdown',默认:'text')
    • max_per_line:每行日志的最大字符数(0 表示无限制,默认:0)

适用场景

适用于需要从 Grafana 中查询 Loki 日志的开发者、运维人员或数据分析师,特别是在需要将日志查询集成到自动化流程或 AI 工具中的场景。

限制

  • 需要有效的 Grafana 实例和 API 密钥。
  • 功能受限于 Grafana 和 Loki 的 API 能力。
  • 具体性能、价格、平台支持等信息暂未提供。