项目简介

该项目是一个基于 Model Context Protocol (MCP) 实现的服务器,旨在让支持MCP协议的AI助手或应用能够与 Prometheus Alertmanager 进行交互。通过该服务器,AI可以直接查询Alertmanager的状态、告警、静默等信息,并执行创建/删除静默等操作。

主要功能点

  • 查询 Alertmanager 的状态、告警、静默、接收器和告警组信息。
  • 创建、更新和删除告警静默。
  • 创建新的告警。
  • 支持基础认证连接 Alertmanager。
  • 提供 Docker 镜像,方便部署。

安装步骤

  1. 确保你的系统安装了 Python 3.12+。
  2. 从 GitHub 克隆仓库到本地:
    git clone https://github.com/ntk148v/alertmanager-mcp-server.git
  3. 进入项目目录:
    cd alertmanager-mcp-server
  4. 安装依赖:推荐使用 'uv' 工具。在项目根目录运行 'uv venv' 创建虚拟环境,然后根据你的操作系统激活虚拟环境(Linux/macOS: 'source .venv/bin/activate';Windows: '.venv\Scripts\activate'),最后运行 'uv pip install -e .' 安装项目及其依赖。

服务器配置

这个MCP服务器需要被支持MCP协议的客户端(如某些AI应用)启动和连接。客户端通常通过一个JSON配置文件来定义如何启动MCP服务器。以下是根据该仓库信息生成的配置示例(请根据你的环境修改尖括号 '<>' 中的内容):

{
  "mcpServers": {
    "alertmanager": { // 服务器名称,供客户端内部识别
      "command": "uv", // 或 Python, Docker 等,启动服务器的可执行命令
      "args": [ // 启动命令的参数
        "--directory", // uv run 的参数,指定工作目录
        "<full path to alertmanager-mcp-server directory>", // 项目克隆到本地的完整路径,例如:/home/user/alertmanager-mcp-server
        "run", // uv 的命令
        "src/alertmanager_mcp_server/server.py" // 要执行的服务器脚本
      ],
      "env": { // 传递给服务器进程的环境变量
        "ALERTMANAGER_URL": "http://your-alertmanager:9093", // 你的 Alertmanager 服务器地址,必须设置
        "ALERTMANAGER_USERNAME": "your_username", // (可选) 如果 Alertmanager 需要基础认证,请填写用户名
        "ALERTMANAGER_PASSWORD": "your_password" // (可选) 对应密码
      }
    }
  }
}

如果你使用 Docker 运行,'command' 可以设置为 'docker','args' 中包含 'run --rm -i' 以及 Docker 镜像名称 'ghcr.io/ntk148v/alertmanager-mcp-server:latest','env' 则传递环境变量。具体请参考仓库的 README 文档。

配置完成后,重启你的 MCP 客户端,客户端就会按照配置启动并连接该服务器。

基本使用方法

启动 MCP 客户端(如 Claude Desktop 或其他支持 MCP 的 AI 应用)并完成上述配置后,AI 助手就可以通过自然语言与 Alertmanager 交互了。AI 将能够识别并调用该 MCP 服务器提供的工具。例如,你可以尝试询问AI:

  • "Show me current alerts" (展示当前告警)
  • "Filter alerts related to CPU issues" (过滤与 CPU 问题相关的告警)
  • "Create a silence for high CPU alerts for the next 2 hours" (为高 CPU 告警创建一个持续2小时的静默)
  • "List all receivers" (列出所有接收器)

信息

分类

AI与计算