项目简介
Simple Loki MCP服务器是基于Model Context Protocol (MCP) 构建的应用程序后端,旨在使大型语言模型(LLM)客户端能够方便地访问和处理Grafana Loki中的日志数据。它将复杂的日志查询操作封装为标准的MCP工具,允许LLM通过JSON-RPC协议调用这些工具来检索日志、获取标签信息等。
主要功能点
- 日志查询: 支持使用强大的LogQL查询语言检索Grafana Loki中的日志。
- 标签信息: 提供获取所有可用标签及其值的工具,帮助LLM理解日志数据的结构。
- 多种输出格式: 可选择默认、原始日志行或JSON Lines等多种格式返回查询结果。
- 灵活的配置: 支持通过环境变量或配置文件配置Loki连接信息和认证方式。
- 自动模式切换: 如果环境中未安装 'logcli' 工具,会自动回退使用Loki HTTP API进行查询,无需额外配置。
安装步骤
- 安装Node.js: 确保您的系统安装了Node.js v16或更高版本。
- 安装依赖: 克隆仓库后,进入项目目录并运行以下命令安装依赖:
git clone https://github.com/ghrud92/simple-loki-mcp.git cd simple-loki-mcp npm install - 构建项目:
npm run build - (可选)安装logcli: 如果希望使用 'logcli' 而非HTTP API,请参照Grafana官方文档安装并确保其在系统PATH中可执行。服务器会自动检测 'logcli' 是否存在。
服务器配置 (供MCP客户端使用)
MCP客户端需要知道如何启动此服务器进程并与之通信。典型的MCP客户端(如Claude Desktop)会读取一个配置文件(通常是JSON格式)来获取服务器信息。以下是一个配置示例,您需要根据您的实际环境调整 'command'、'args' 和 'env':
{ "mcpServers": { "simple-loki": { "command": "npx", // 启动命令,这里使用npx直接运行已安装的包 "args": ["-y", "simple-loki-mcp"], // 命令参数,-y用于确认安装,simple-loki-mcp是包名 "env": { "LOKI_ADDR": "YOUR_LOKI_ADDRESS", // **必须配置**:您的Grafana Loki服务器地址 (例如: "https://loki.example.com") "LOKI_USERNAME": "YOUR_USERNAME", // (可选)Loki认证用户名 "LOKI_PASSWORD": "YOUR_PASSWORD", // (可选)Loki认证密码 "LOKI_TENANT_ID": "YOUR_TENANT_ID", // (可选)多租户Loki的租户ID // 其他认证和TLS配置请参考项目README中的环境变量列表 } } } }
将上述配置添加到您的MCP客户端的服务器配置文件中,替换占位符 'YOUR_LOKI_ADDRESS' 等。
基本使用方法
- 启动服务器:
在项目目录下运行:
服务器将通过Stdio协议启动并等待MCP客户端连接。npm start - 通过LLM客户端使用:
配置好MCP客户端后,启动LLM客户端。LLM客户端会发现并连接到Simple Loki MCP服务器。LLM现在可以通过调用暴露的工具来与Loki交互,例如:
- 调用 'query_loki' 工具执行LogQL查询。
- 调用 'get_label_values' 工具获取特定标签的所有可能值。
- 调用 'get_labels' 工具获取所有可用的日志标签列表。 您可以通过与LLM对话,指示其使用这些工具来获取和分析日志信息。
信息
分类
AI与计算