
Prometheus MCP Server

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 通信
使用教程
使用依赖
- 安装
uv
依赖管理器:
curl -LsSf https://astral.sh/uv/install.sh | sh
安装教程
- 创建虚拟环境并安装依赖:
uv venv
source .venv/bin/activate # Unix/macOS
.venv\Scripts\activate # Windows
uv pip install -e .
- 配置环境变量(通过 .env 文件或系统环境变量):
PROMETHEUS_URL=http://your-prometheus-server:9090
PROMETHEUS_USERNAME=your_username # 如果需要基本认证
PROMETHEUS_PASSWORD=your_password
# 或
PROMETHEUS_TOKEN=your_token # 如果需要 Bearer token 认证
Docker 使用
- 构建 Docker 镜像:
docker build -t prometheus-mcp-server .
- 运行 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
调试方式
- 运行测试:
uv pip install -e ".[dev]"
pytest
pytest --cov=src --cov-report=term-missing