grafana-loki-mcp 是一个 FastMCP 服务器,旨在通过 Grafana API 查询 Loki 日志。它提供了一系列工具,使用户能够方便地检索和分析 Loki 日志数据。
用途
该服务器主要用于从 Grafana 中查询 Loki 日志,适用于需要集成日志查询功能的开发或运维场景。
主要能力
- 通过 Grafana API 查询 Loki 日志
- 获取 Loki 标签和标签值
- 以不同格式(文本、JSON、Markdown)格式化查询结果
- 支持 stdio 和 SSE 传输协议
使用方式
环境变量
需要设置以下环境变量:
GRAFANA_URL:Grafana 实例的 URLGRAFANA_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 能力。
- 具体性能、价格、平台支持等信息暂未提供。