返回 MCP 目录
public公开dns本地运行

gigapipe-mcp

Gigapipe MCP服务器是一个统一接口服务,用于查询Prometheus指标、Loki日志和Tempo追踪数据。

article

README

🚀 Gigapipe MCP 服务器

Gigapipe 的机器控制协议(MCP)服务器,提供统一接口来查询 Prometheus 指标、Loki 日志和 Tempo 追踪数据。

✨ 主要特性

Prometheus 集成

  • 使用 PromQL 查询指标
  • 列出所有可用标签
  • 获取特定标签的值
  • 支持时间范围查询

Loki 集成

  • 使用 LogQL 查询日志
  • 列出所有可用标签
  • 获取特定标签的值
  • 支持时间范围查询

Tempo 集成

  • 按追踪 ID 查询追踪数据
  • 列出所有可用的追踪标签
  • 获取特定追踪标签的值
  • 支持 JSON 追踪格式

📦 安装指南

# 克隆仓库
git clone https://github.com/lmangani/gigapipe-mcp.git
cd gigapipe-mcp

# 构建服务器
go build -o gigapipe-mcp

📚 详细文档

配置

服务器可以使用环境变量进行配置:

# 必需:Gigapipe 服务器地址(默认:http://localhost:3100)
# 必须包含协议(http:// 或 https://)
export GIGAPIPE_HOST="https://your-host:3100"

# 可选:HTTP 基本认证
export GIGAPIPE_USERNAME="your-username"
export GIGAPIPE_PASSWORD="your-password"

注意:如果 GIGAPIPE_HOST 中未指定协议,将默认使用 http://

使用方法

Prometheus 工具

  • 查询指标
# 使用 PromQL 查询指标
prometheus_query --query="rate(http_requests_total[5m])" --start="2024-01-01T00:00:00Z" --end="2024-01-01T01:00:00Z" --step="1m"
  • 列出标签
# 列出所有可用标签
prometheus_labels --start="2024-01-01T00:00:00Z" --end="2024-01-01T01:00:00Z"
  • 获取标签值
# 获取特定标签的值
prometheus_label_values --label="instance" --start="2024-01-01T00:00:00Z" --end="2024-01-01T01:00:00Z"

Loki 工具

  • 查询日志
# 使用 LogQL 查询日志
loki_query --query='{job="varlogs"}' --start="2024-01-01T00:00:00Z" --end="2024-01-01T01:00:00Z" --limit="100"
  • 列出标签
# 列出所有可用标签
loki_labels --start="2024-01-01T00:00:00Z" --end="2024-01-01T01:00:00Z"
  • 获取标签值
# 获取特定标签的值
loki_label_values --label="job" --start="2024-01-01T00:00:00Z" --end="2024-01-01T01:00:00Z"

Tempo 工具

  • 查询追踪数据
# 按 ID 查询追踪数据
tempo_query --trace_id="1234567890abcdef"
  • 列出标签
# 列出所有可用的追踪标签
tempo_tags
  • 获取标签值
# 获取特定追踪标签的值
tempo_tag_values --tag="service.name"

API 端点

服务器通过以下端点与 Gigapipe 进行通信:

Prometheus

  • 范围查询:/api/v1/query_range
  • 查询:/api/v1/query
  • 标签:/api/v1/labels
  • 标签值:/api/v1/label/:name/values

Loki

  • 范围查询:/loki/api/v1/query_range
  • 查询:/loki/api/v1/query
  • 标签:/loki/api/v1/label
  • 标签值:/loki/api/v1/label/:name/values

Tempo

  • 查询追踪数据:/api/traces/:traceId
  • 查询追踪数据(JSON):/api/traces/:traceId/json
  • 标签:/api/search/tags
  • 标签值:/api/search/tag/{name}/values

开发

前提条件

  • Go 1.16 或更高版本
  • Git

从源代码构建

# 克隆仓库
git clone https://github.com/lmangani/gigapipe-mcp.git
cd gigapipe-mcp

# 安装依赖
go mod download

# 构建服务器
go build -o gigapipe-mcp

# 运行测试
go test ./...

📄 许可证

本项目采用 MIT 许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端