Token导航 LogoToken导航TokenDH.com
Alertmanager MCP Server logo
运维云端stdio官方级别未说明来源级核验

Alertmanager MCP Server

MCP Server

@smithery/cli

Prometheus Alertmanager MCP 是一个用于Prometheus Alertmanager的模型上下文协议服务器,使AI助手和工具能够以编程方式安全地查询和管理Alertmanager资源。

工具数

9

提示词数

0

GitHub Stars

19

资源数

0
PythonClaude云端部署Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ntk148v

提供方

ntk148v

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx -y @smithery/cli install @ntk148v/alertmanager-mcp-server --client claude

详细介绍

Prometheus Alertmanager MCP

目录

- 3.1.先决条件 - 3.2.通过Smithery安装 - 3.3.本地跑 -

1.导言

普罗米修斯警报管理器MCP是 模型上下文协议 普罗米修斯警报管理器的(MCP)服务器。它使AI助手和工具能够以编程方式安全地查询和管理Alertmanager资源。

2.特点

  • \[x\] 查询Alertmanager状态、警报、静音、接收器和警报组
  • \[x\] 智能分页支持 在处理大量警报时防止LLM上下文窗口溢出
  • \[x\] 创建、更新和删除静默
  • \[x\] 创建新警报
  • \[x\] 身份验证支持(通过环境变量进行基本身份验证)
  • \[x\] 多租户支持(通过 X-Scope-OrgId Mimir/CoCortex的头部)
  • \[x\] Docker容器化支持

3.快速入门

3.1.先决条件

  • Python 3.12+
  • 紫外线 (用于快速依赖管理)。
  • Docker(可选,用于容器化部署)。
  • 确保您的Prometheus Alertmanager服务器可以从运行此MCP服务器的环境中访问。

3.2.通过Smithery安装

通过以下方式自动安装Prometheus Alertmanager MCP Server for Claude Desktop 铁匠铺:

npx -y @smithery/cli install @ntk148v/alertmanager-mcp-server --client claude

3.3.本地跑

  • 克隆存储库:
# Clone the repository
$ git clone https://github.com/ntk148v/alertmanager-mcp-server.git
  • 通过.env文件或系统环境变量为Prometheus服务器配置环境变量:
# Set environment variables (see .env.sample)
ALERTMANAGER_URL=http://your-alertmanager:9093
ALERTMANAGER_USERNAME=your_username  # optional
ALERTMANAGER_PASSWORD=your_password  # optional
ALERTMANAGER_TENANT=your_tenant_id   # optional, for multi-tenant setups

多租户支持

对于多租户Alertmanager部署(例如Grafana Mimir、Cortex),您可以通过两种方式指定租户ID:

  1. 静态配置:设置 ALERTMANAGER_TENANT 环境变量
  2. 根据请求:包括 X-Scope-OrgId 发送给MCP服务器的请求中的标头

X-Scope-OrgId header优先于静态配置,允许根据请求动态切换租户。

传输配置

您可以使用传输选项和主机/端口设置来控制MCP服务器如何与客户端通信。这些可以通过命令行标志(优先)或环境变量进行设置。

  • MCP_TRANSPORT:传输模式。其中之一 stdio, http,或 sse默认值: stdio.
  • MCP_HOST:运行时要绑定的主机/接口 httpsse 传输(由嵌入式uvicorn服务器使用)。违约: 0.0.0.0.
  • MCP_PORT:运行时要监听的端口 httpsse 运输。违约: 8000.

示例:

使用环境变量设置默认值(CLI标志仍然覆盖):

MCP_TRANSPORT=sse MCP_HOST=0.0.0.0 MCP_PORT=8080 python3 -m src.alertmanager_mcp_server.server

或者直接传递标志来覆盖env变量:

python3 -m src.alertmanager_mcp_server.server --transport http --host 127.0.0.1 --port 9000

笔记:

  • stdio 传输通过标准输入/输出进行通信,忽略主机/端口。
  • http (可流式传输HTTP)和 sse 传输是通过ASGI应用程序(uvicorn)提供的,因此在使用这些传输时会尊重主机/端口。
  • 将服务器配置添加到客户端配置文件中。例如,对于Claude Desktop:
{
  "mcpServers": {
    "alertmanager": {
      "command": "uv",
      "args": [
        "--directory",
        "",
        "run",
        "src/alertmanager_mcp_server/server.py"
      ],
      "env": {
        "ALERTMANAGER_URL": "http://your-alertmanager:9093s",
        "ALERTMANAGER_USERNAME": "your_username",
        "ALERTMANAGER_PASSWORD": "your_password"
      }
    }
  }
}
  • 或者使用make命令安装它:
$ make install
  • 重新启动Claude Desktop以加载新配置。
  • 现在,您可以让Claude使用自然语言与Alertmanager进行交互:

- “显示当前警报” - “筛选与CPU问题相关的警报” - “获取此警报的详细信息” - “在接下来的2小时内对此警报保持沉默”

![](./images/sample1.jpg)

![](./images/sample2.jpg)

3.4.Docker运行

  • 使用预构建的映像运行它(或者您可以自己构建):
$ docker run -e ALERTMANAGER_URL=http://your-alertmanager:9093 \
    -e ALERTMANAGER_USERNAME=your_username \
    -e ALERTMANAGER_PASSWORD=your_password \
    -e ALERTMANAGER_TENANT=your_tenant_id \
    -p 8000:8000 ghcr.io/ntk148v/alertmanager-mcp-server
  • 在Claude Desktop中使用Docker运行:
{
  "mcpServers": {
    "alertmanager": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "ALERTMANAGER_URL",
        "-e",
        "ALERTMANAGER_USERNAME",
        "-e",
        "ALERTMANAGER_PASSWORD",
        "ghcr.io/ntk148v/alertmanager-mcp-server:latest"
      ],
      "env": {
        "ALERTMANAGER_URL": "http://your-alertmanager:9093s",
        "ALERTMANAGER_USERNAME": "your_username",
        "ALERTMANAGER_PASSWORD": "your_password"
      }
    }
  }
}

此配置通过使用以下命令将环境变量从Claude Desktop传递到Docker容器 -e 仅使用变量名标记,并在 env 对象。

4.工具

MCP服务器公开了用于查询和管理Alertmanager的工具,如下所示 其API v2:

  • 获取状态: get_status()
  • 列出警报: get_alerts(filter, silenced, inhibited, active, count, offset)

- 分页支持:返回分页结果以避免压倒性的LLM上下文 - count:每页警报数(默认值:10,最大值:25) - offset:要跳过的警报数(默认值:0) - 退货: { "data": [...], "pagination": { "total": N, "offset": M, "count": K, "has_more": bool } }

  • 列出沉默: get_silences(filter, count, offset)

- 分页支持:返回分页结果以避免压倒性的LLM上下文 - count:每页沉默次数(默认值:10,最大值:50) - offset:要跳过的静默次数(默认值:0) - 退货: { "data": [...], "pagination": { "total": N, "offset": M, "count": K, "has_more": bool } }

  • 创造沉默: post_silence(silence_dict)
  • 删除静音: delete_silence(silence_id)
  • 列出接收者: get_receivers()
  • 列出警报组: get_alert_groups(silenced, inhibited, active, count, offset)

- 分页支持:返回分页结果以避免压倒性的LLM上下文 - count:每页的警报组数(默认值:3,最大值:5) - offset:要跳过的警报组数(默认值:0) - 退货: { "data": [...], "pagination": { "total": N, "offset": M, "count": K, "has_more": bool } } - 注意:警报组的限制较低,因为它们包含每个组中的所有警报

分页优势

在处理具有许多警报、静音或警报组的环境时,分页功能有助于:

  • 防止上下文溢出:默认情况下,每次请求只返回10个项目
  • 高效浏览:LLM可以使用以下命令迭代结果 offsetcount 参数
  • 智能限制:每页最多50个项目,防止过度使用上下文
  • 清晰导航: has_more 标志指示何时有其他页面可用

示例:如果你有100个警报,LLM可以将它们分为可管理的块(例如,一次10个),只加载分析所需的内容。

src/altermanager_mcpserver/server.py 获取API的完整详细信息。

5.发展

欢迎投稿!如果您有任何建议或改进,请打开问题或提交拉取请求。

此项目使用 紫外线 管理依赖关系。按照您平台的说明安装uv。

# Clone the repository
$ git clone https://github.com/ntk148v/alertmanager-mcp-server.git
$ cd alertmanager-mcp-server
$ make setup
# Run test
$ make test
# Run in development mode
$ mcp dev src/alertmanager_mcp_server/server.py

# Install in Claude Desktop
$ make install

6.许可证

Apache 2.0

______________________________________________________________________

Made with ❤️ by @ntk148v

目录标签

目录标签

PythonClaude云端部署警报管理本地部署PrometheusMCP服务器AI集成多租户支持

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@smithery/cli

工具数量(toolCount,工具数)

9

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP