Prometheus MCP 服务器是一个专为 Prometheus 打造的 Model Context Protocol (MCP) 服务器。它借助标准化的 MCP 接口,为您提供对 Prometheus 指标和查询的访问能力,允许 AI 助手执行 PromQL 查询并深入分析指标数据。
.env 文件还是系统环境变量:# 必须:Prometheus 配置
PROMETHEUS_URL=http://your-prometheus-server:9090
# 可选:身份验证凭证(如果需要)
# 根据需要选择以下一种身份验证方法:
# 对于基本认证
BASIC_AUTH_USERNAME=your_username
BASIC_AUTH_PASSWORD=your_password
# 对于bearer token 认证
BEARER_TOKEN=your_bearer_token
# 其他可选配置
ScrapeInterval=60 # 间隔(以秒为单位)
ScrapeTimeout=10 # scrape超时时间(以秒为单位)
uv install
uv run
配置环境变量以获取 Prometheus 服务器信息,可通过 .env 文件或系统环境变量进行配置:
# 必须:Prometheus 配置
PROMETHEUS_URL=http://your-prometheus-server:9090
# 可选:身份验证凭证(如果需要)
# 根据需要选择以下一种身份验证方法:
# 对于基本认证
BASIC_AUTH_USERNAME=your_username
BASIC_AUTH_PASSWORD=your_password
# 对于bearer token 认证
BEARER_TOKEN=your_bearer_token
# 其他可选配置
ScrapeInterval=60 # 间隔(以秒为单位)
ScrapeTimeout=10 # scrape超时时间(以秒为单位)
uv install
uv run
按照上述安装指南完成配置和安装后,即可使用 MCP 服务器提供的工具进行操作。例如,若要列出 Prometheus 中的所有可用指标,可使用 list_metrics 工具。
可以根据实际需求配置不同的身份验证方式和其他可选配置,以满足更复杂的使用场景。例如,使用 bearer token 认证:
# 必须:Prometheus 配置
PROMETHEUS_URL=http://your-prometheus-server:9090
# 对于bearer token 认证
BEARER_TOKEN=your_bearer_token
# 其他可选配置
ScrapeInterval=60 # 间隔(以秒为单位)
ScrapeTimeout=10 # scrape超时时间(以秒为单位)
该项目已经组织了一个 src 目录结构:
prometheus-mcp-server/
├── src/
│ └── prometheus_mcp_server/
│ ├── __init__.py # 包初始化文件
│ ├── server.py # MCP 服务器实现
│ └── main.py # 主应用逻辑
├── Dockerfile # Docker 配置文件
├── docker-compose.yml # Docker Compose 配置文件
├── .dockerignore # Docker 忽略文件
└── README.md # 本文件
项目包含全面的测试套件,确保功能并帮助防止回归。运行测试步骤如下:
# 安装开发依赖项
uv pip install -e ".[dev]"
# 运行测试
pytest
# 生成覆盖率报告
pytest --cov=src --cov-report=term-missing
| 属性 | 详情 |
|---|---|
| 工具列表 | |
execute_query |
执行一个 PromQL 即时查询到 Prometheus |
execute_range_query |
执行一个带有开始时间、结束时间和步长间隔的 PromQL 范围查询 |
list_metrics |
列出 Prometheus 中的所有可用指标 |
get_metric_metadata |
获取特定指标的元数据 |
get_targets |
获取所有抓取目标的信息 |
本项目采用 MIT 许可证。