返回市场
普罗米修斯-MCP服务器

普罗米修斯-MCP服务器

作者:pab1it0291 星标更新:2025-11-23

项目介绍

Prometheus MCP 服务器

GitHub 容器注册表 GitHub 发布 Codecov Python License

这是一个用于 Prometheus 的 模型上下文协议(MCP)服务器。

它提供了通过标准化的 MCP 接口访问您的 Prometheus 指标和查询的功能,允许 AI 助手执行 PromQL 查询并分析您的指标数据。

特性

  • 对 Prometheus 执行 PromQL 查询

  • 发现和探索指标

    • 列出可用的指标
    • 获取特定指标的元数据
    • 查看即时查询结果
    • 查看具有不同步长间隔的范围查询结果
  • 支持身份验证

    • 来自环境变量的基本认证
    • 来自环境变量的 Bearer Token 认证
  • 支持 Docker 容器化

  • 提供交互式工具给 AI 助手

工具列表是可配置的,您可以选择要提供给 MCP 客户端的工具。如果您不使用某些功能或不想占用太多上下文窗口,这非常有用。

快速开始

先决条件

  • 可以从您的环境中访问的 Prometheus 服务器
  • 兼容 MCP 的客户端(Claude Desktop、VS Code、Cursor、Windsurf 等)

安装方法

<details> <summary><b>Claude Desktop</b></summary>

在您的 Claude Desktop 配置中添加:

{
  "mcpServers": {
    "prometheus": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "PROMETHEUS_URL",
        "ghcr.io/pab1it0/prometheus-mcp-server:latest"
      ],
      "env": {
        "PROMETHEUS_URL": "<your-prometheus-url>"
      }
    }
  }
}
</details> <details> <summary><b>Claude Code</b></summary>

通过 Claude Code CLI 安装:

claude mcp add prometheus --env PROMETHEUS_URL=http://your-prometheus:9090 -- docker run -i --rm -e PROMETHEUS_URL ghcr.io/pab1it0/prometheus-mcp-server:latest
</details> <details> <summary><b>VS Code / Cursor / Windsurf</b></summary>

在相应的 IDE 中添加到您的 MCP 设置:

{
  "prometheus": {
    "command": "docker",
    "args": [
      "run",
      "-i",
      "--rm",
      "-e",
      "PROMETHEUS_URL",
      "ghcr.io/pab1it0/prometheus-mcp-server:latest"
    ],
    "env": {
      "PROMETHEUS_URL": "<your-prometheus-url>"
    }
  }
}
</details> <details> <summary><b>Docker Desktop</b></summary>

运行 Prometheus MCP 服务器最简单的方法是通过 Docker Desktop:

<a href="https://hub.docker.com/open-desktop?url=https://open.docker.com/dashboard/mcp/servers/id/prometheus/config?enable=true"> <img src="https://img.shields.io/badge/+%20添加到-Docker%20Desktop-2496ED?style=for-the-badge&logo=docker&logoColor=white" alt="添加到 Docker Desktop" /> </a>
  1. 通过 MCP 目录:访问 Docker Hub 上的 Prometheus MCP 服务器,然后点击上方的按钮

  2. 通过 MCP 工具包:使用 Docker Desktop 的 MCP 工具包扩展来发现和安装服务器

  3. 使用环境变量配置您的连接(参见配置选项部分)

</details> <details> <summary><b>手动 Docker 设置</b></summary>

直接使用 Docker 运行:

# 使用环境变量
docker run -i --rm \
  -e PROMETHEUS_URL="http://your-prometheus:9090" \
  ghcr.io/pab1it0/prometheus-mcp-server:latest

# 使用身份验证
docker run -i --rm \
  -e PROMETHEUS_URL="http://your-prometheus:9090" \
  -e PROMETHEUS_USERNAME="admin" \
  -e PROMETHEUS_PASSWORD="password" \
  ghcr.io/pab1it0/prometheus-mcp-server:latest
</details>

配置选项

变量描述是否必需
PROMETHEUS_URL您的 Prometheus 服务器的 URL
PROMETHEUS_URL_SSL_VERIFY设置为 False 以禁用 SSL 验证
PROMETHEUS_DISABLE_LINKS设置为 True 以禁用查询结果中的 Prometheus UI 链接(节省上下文令牌)
PROMETHEUS_USERNAME基本认证的用户名
P_OMETHEUS_PASSWORD基本认证的密码
PROMETHEUS_TOKEN身份验证的 Bearer Token
ORG_ID多租户设置的组织 ID
PROMETHEUS_MCP_SERVER_TRANSPORT传输模式(stdio, http, sse)否(默认:stdio)
PROMETHEUS_MCP_BIND_HOSTHTTP 传输的主机否(默认:127.0.0.1)
PROMETHEUS_MCP_BIND_PORTHTTP 传输的端口否(默认:8080)
PROMETHEUS_CUSTOM_HEADERS自定义头信息作为 JSON 字符串

开发

欢迎贡献!请参阅我们的 贡献指南 了解详细信息,包括如何开始、编码标准以及拉取请求流程。

此项目使用了 uv 来管理依赖项。根据您的平台安装 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 .

测试

该项目包含一个全面的测试套件,确保功能并帮助防止回归。

使用 pytest 运行测试:

# 安装开发依赖项
uv pip install -e ".[dev]"

# 运行测试
pytest

# 运行带有覆盖率报告的测试
pytest --cov=src --cov-report=term-missing

当添加新功能时,请也添加相应的测试。

工具

工具类别描述
health_check系统用于容器监控和状态验证的健康检查端点
execute_query查询对 Prometheus 执行 PromQL 即时查询
execute_range_query查询执行具有开始时间、结束时间和步长间隔的 PromQL 范围查询
list_metrics发现列出 Prometheus 中所有可用的指标,支持分页和过滤
get_metric_metadata发现获取特定指标的元数据
get_targets发现获取关于所有抓取目标的信息

许可证

MIT