Prometheus MCP Server

Prometheus MCP Server

site icon
2025.04.14 33
Python监控服务数据查询开发效率
Prometheus MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,专门为 Prometheus 设计。它提供了通过标准化 MCP 接口访问 Prometheus 指标和查询的能力,使 AI 助手能够执行 PromQL 查询并分析指标数据。
View on GitHub

Overview

基本能力

产品定位

Prometheus MCP Server 是一个中间件服务,旨在通过 MCP 协议为 AI 助手提供访问 Prometheus 监控数据的标准化接口。

核心功能

  • 执行 PromQL 查询(即时查询和范围查询)
  • 发现和探索指标(列出可用指标、获取特定指标的元数据)
  • 认证支持(基本认证和 Bearer token 认证)
  • Docker 容器化支持
  • 为 AI 助手提供交互式工具

适用场景

  • AI 助手需要访问和分析 Prometheus 监控数据
  • 需要标准化接口来查询 Prometheus 指标
  • 需要在容器化环境中运行 Prometheus 查询服务

工具列表

工具 类别 描述
execute_query 查询 执行 PromQL 即时查询
execute_range_query 查询 执行带时间范围的 PromQL 查询
list_metrics 发现 列出所有可用指标
get_metric_metadata 发现 获取特定指标的元数据
get_targets 发现 获取所有抓取目标的信息

常见问题解答

  • 如果遇到 Error: spawn uv ENOENT 错误,可能需要指定 uv 的完整路径或在配置中设置 NO_UV=1
  • Docker 实现已更新以匹配 chess-mcp 项目的结构,确保正确处理 MCP 通信

使用教程

使用依赖

  1. 安装 uv 依赖管理器:
curl -LsSf https://astral.sh/uv/install.sh | sh

安装教程

  1. 创建虚拟环境并安装依赖:
uv venv
source .venv/bin/activate  # Unix/macOS
.venv\Scripts\activate     # Windows
uv pip install -e .
  1. 配置环境变量(通过 .env 文件或系统环境变量):
PROMETHEUS_URL=http://your-prometheus-server:9090
PROMETHEUS_USERNAME=your_username  # 如果需要基本认证
PROMETHEUS_PASSWORD=your_password
# 或
PROMETHEUS_TOKEN=your_token        # 如果需要 Bearer token 认证

Docker 使用

  1. 构建 Docker 镜像:
docker build -t prometheus-mcp-server .
  1. 运行 Docker 容器:
docker run -it --rm \
  -e PROMETHEUS_URL=http://your-prometheus-server:9090 \
  -e PROMETHEUS_USERNAME=your_username \
  -e PROMETHEUS_PASSWORD=your_password \
  prometheus-mcp-server

或使用 docker-compose:

docker-compose up

调试方式

  1. 运行测试:
uv pip install -e ".[dev]"
pytest
pytest --cov=src --cov-report=term-missing

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。