Prometheus Mcp Server

Prometheus Mcp Server

🚀 Prometheus MCP 服务器

Prometheus MCP 服务器是一个专为 Prometheus 打造的 Model Context Protocol (MCP) 服务器。它借助标准化的 MCP 接口,为您提供对 Prometheus 指标和查询的访问能力,允许 AI 助手执行 PromQL 查询并深入分析指标数据。

🚀 快速开始

  1. 确保您的 Prometheus 服务器可以从运行此 MCP 服务器的环境中访问。
  2. 配置环境变量以获取 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超时时间(以秒为单位)
  1. 安装并运行服务器:
uv install
uv run

✨ 主要特性

  • 执行 PromQL 查询:可将 PromQL 查询发送至 Prometheus。
  • 指标发现与探索
    • 列出可用指标。
    • 获取特定指标的元数据。
    • 查看即时查询结果。
    • 查看范围查询结果以及不同的步长间隔。
  • 身份验证支持
    • 支持从环境变量使用基本认证。
    • 支持从环境变量使用 bearer token 认证。
  • Docker 容器化:支持以 Docker 容器的形式运行。
  • 交互式工具:为 AI 助手提供交互式工具,且工具列表可配置,您能按需选择提供给 MCP 客户端的工具,在不使用某些功能或不想占用过多上下文窗口时十分实用。

📦 安装指南

配置环境变量

配置环境变量以获取 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 许可证。

  • 0 关注
  • 0 收藏,23 浏览
  • system 提出于 2025-10-06 10:51

相似服务问题

相关AI产品