Back to MCP directory
publicPublicdnsLocal runtime

loki-mcp

一个基于Go语言的MCP协议服务器实现,集成了Grafana Loki日志查询功能,支持通过标准输入输出与客户端通信,并提供Docker部署方式。

article

README

🚀 Loki MCP 服务器

Loki MCP 服务器是一款用于与 Grafana Loki 集成的工具,支持通过命令行或配置进行交互,为用户提供便捷的操作体验。

🚀 快速开始

要使用 Loki MCP 服务器,请按照以下步骤操作:

  1. 克隆仓库
    git clone https://github.com/your-repository.git
    cd loki-mcp-server
    
  2. 构建二进制文件(可选):
    go build -o loki-mcp-server ./cmd/server
    
  3. 运行服务器
    ./loki-mcp-server
    

✨ 主要特性

  • 支持与 Grafana Loki 集成,可通过命令行或配置进行交互。
  • 提供丰富的命令行参数,方便用户灵活配置。
  • 支持 Docker 部署,便于快速搭建和使用。
  • 可与 Claude Desktop 和 Cursor 等工具集成。

📦 安装指南

本地安装

  1. 克隆仓库
    git clone https://github.com/your-repository.git
    cd loki-mcp-server
    
  2. 构建二进制文件(可选):
    go build -o loki-mcp-server ./cmd/server
    
  3. 运行服务器
    ./loki-mcp-server
    

Docker 安装

构建镜像

# Dockerfile
FROM golang:1.20 AS builder

WORKDIR /app
COPY go.mod .
COPY go.sum .
RUN go mod tidy

COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -o loki-mcp-server ./cmd/server

FROM alpine:3.18
WORKDIR /app
COPY --from=builder /app/loki-mcp-server .

CMD ["./loki-mcp-server"]

运行容器

docker build -t loki-mcp-server .
docker run -it loki-mcp-server

💻 使用示例

命令行参数

Loki MCP 服务器支持以下命令行参数:

  • -config: 指定配置文件路径(默认为 config.json)。
  • -log.level: 设置日志级别(可选值:debug, info, warning, error)。

示例用法

基础用法

# 查询 Loki 数据
./loki-mcp-server query --expr "{job=\"varlogs\"}"

高级用法

# 获取 Loki 日志
./loki-mcp-server logs -selector "job=varlogs"

📚 详细文档

项目结构

  • cmd/server: 包含 MCP 服务器的主程序。
  • internal/handlers/loki.go: Grafana Loki 查询功能实现。
  • internal/handlers/types.go: 定义了处理程序的通用类型和接口。

与其他工具集成

与 Claude Desktop 集成

要在 Claude Desktop 中使用 Loki MCP 服务器,请按照以下步骤操作:

  1. 构建二进制文件
    go build -o loki-mcp-server ./cmd/server
    
  2. 配置文件示例claude_desktop_config.json):
    {
      "mcpServers": {
        "lokiserver": {
          "command": "path/to/loki-mcp-server",
          "args": [],
          "env": {
            "LOKI_URL": "http://localhost:3100"
          },
          "disabled": false,
          "autoApprove": ["loki_query"]
        }
      }
    }
    
  3. 配置位置
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json

与 Cursor 集成

要在 Cursor 中使用 Loki MCP 服务器,请在配置文件中添加以下内容:

{
  "mcpServers": {
    "loki-mcp-server": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "-e", "LOKI_URL=http://host.docker.internal:3100", "loki-mcp-server:latest"]
    }
  }
}

📄 许可证

本项目使用 MIT 许可证,详情请查看 LICENSE 文件。

如果有任何问题,请随时提交 Issue 或 Pull Request。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client