项目简介

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进行查询,无需额外配置。

安装步骤

  1. 安装Node.js: 确保您的系统安装了Node.js v16或更高版本。
  2. 安装依赖: 克隆仓库后,进入项目目录并运行以下命令安装依赖:
    git clone https://github.com/ghrud92/simple-loki-mcp.git
    cd simple-loki-mcp
    npm install
  3. 构建项目:
    npm run build
  4. (可选)安装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' 等。

基本使用方法

  1. 启动服务器: 在项目目录下运行:
    npm start
    服务器将通过Stdio协议启动并等待MCP客户端连接。
  2. 通过LLM客户端使用: 配置好MCP客户端后,启动LLM客户端。LLM客户端会发现并连接到Simple Loki MCP服务器。LLM现在可以通过调用暴露的工具来与Loki交互,例如:
    • 调用 'query_loki' 工具执行LogQL查询。
    • 调用 'get_label_values' 工具获取特定标签的所有可能值。
    • 调用 'get_labels' 工具获取所有可用的日志标签列表。 您可以通过与LLM对话,指示其使用这些工具来获取和分析日志信息。

信息

分类

AI与计算