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