返回市场
简单洛基MCP服务器

简单洛基MCP服务器

作者:ghrud925 星标更新:2025-05-09

项目介绍

简单 Loki MCP 服务器

smithery 徽章

Loki MCP 服务器是一个用于通过 logcli 查询 Grafana Loki 日志的 模型上下文协议 (MCP) 接口。该服务器使 AI 助手能够直接访问和分析来自 Loki 的日志数据。

<a href="https://glama.ai/mcp/servers/@ghrud92/loki-mcp"> <img width="380" height="200" src="https://gips3.baidu.com/it/u=1730121677,1919276493&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Loki 服务器 MCP 服务器" /> </a>

特性

  • 使用完整的 LogQL 支持查询 Loki 日志
  • 获取标签值和元数据
  • 通过环境变量或配置文件支持身份验证和配置
  • 提供不同输出格式的格式化结果(默认、原始、JSON 行)
  • 当环境中没有 logcli 时,自动回退到 HTTP API

预备条件

  • Node.js v16 或更高版本
  • TypeScript
  • (可选)安装并可在 PATH 中访问的 Grafana Loki logcli。如果 logcli 不可用,服务器将自动使用 Loki HTTP API
  • 访问 Loki 服务器实例

安装

通过 Smithery 安装

要通过 Smithery 自动安装 Simple Loki MCP 服务器:

npx -y @smithery/cli install @ghrud92/simple-loki-mcp --client claude

对于 MCP

{
  "mcpServers": {
    "simple-loki": {
      "command": "npx",
      "args": ["-y", "simple-loki-mcp"],
      "env": {
        "LOKI_ADDR": "https://loki.sup.band"
      }
    }
  }
}

npm

  1. 克隆仓库:
git clone https://github.com/ghrud92/loki-mcp.git
cd loki-mcp
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build

可用的 MCP 工具

query-loki

从 Loki 查询日志,并带有过滤选项。

参数:

  • query(必需):Loki 查询字符串(LogQL)
  • from:开始时间戳(例如 "2023-01-01T12:00:00Z")
  • to:结束时间戳(例如 "2023-01-01T13:00:00Z")
  • limit:返回的日志最大数量
  • batch:查询结果的批处理大小
  • output:输出格式("default"、"raw" 或 "jsonl")
  • quiet:抑制查询元数据
  • forward:按时间顺序显示结果

get-label-values

获取特定标签的所有值。

参数:

  • label(必需):要获取值的标签名称

get-labels

获取所有可用标签。

无需参数。

配置

您可以使用以下方式配置 Loki 访问:

环境变量

  • LOKI_ADDR:Loki 服务器地址(URL)
  • LOKI_USERNAME:基本认证用户名
  • LOKI_PASSWORD:基本认证密码
  • LOKI_TENANT_ID:多租户 Loki 的租户 ID
  • LOKI_BEARER_TOKEN:用于认证的承载令牌
  • LOKI_BEARER_TOKEN_FILE:包含承载令牌的文件
  • LOKI_CA_FILE:自定义 CA 文件用于 TLS
  • LOKI_CERT_FILE:客户端证书文件用于 TLS
  • LOKI_KEY_FILE:客户端密钥文件用于 TLS
  • LOKI_ORG_ID:多组织设置中的组织 ID
  • LOKI_TLS_SKIP_VERIFY:跳过 TLS 验证("true" 或 "false")
  • LOKI_CONFIG_PATH:自定义配置文件路径
  • DEBUG:启用调试日志

注意:当客户端使用 HTTP API 模式(当 logcli 不可用时),相同的配置参数用于认证和连接到 Loki 服务器。

配置文件

或者,在以下位置之一创建一个 logcli-config.yaml 文件:

  • LOKI_CONFIG_PATH 指定的自定义路径
  • 当前工作目录
  • 您的主目录(~/.logcli-config.yaml

示例配置文件:

addr: https://loki.example.com
username: user
password: pass
tenant_id: mytenant

使用方法

启动服务器:

npm start

对于开发:

npm run dev

实现细节

自动回退到 HTTP API

服务器会自动检查 logcli 是否已安装且在环境中可用:

  1. 如果 logcli 可用,则用于所有查询,提供 CLI 工具的全部功能
  2. 如果 logcli 不可用,服务器将自动回退到使用 Loki HTTP API:
    • 不需要额外配置
    • 使用相同的认证参数进行 HTTP API
    • 响应格式与 CLI 输出一致
    • 在两种模式下,每个查询的默认限制为 1000 条日志

这种自动检测确保了服务器在不同的环境中无缝运行,无需手动配置。

开发

# 运行 linter
npm run lint

# 修复 linter 错误
npm run lint:fix

# 运行测试
npm run test

许可证

本项目根据 MIT 许可证发布 - 查看 LICENSE.md 文件以获取详细信息。