关于 mcp-alertmanager
mcp-alertmanager 是用于操作 Prometheus Alertmanager 的 Go 语言 MCP 服务,面向监控和平台团队。它提供告警、静默、状态及排查工具,并支持直接 URL 或 Kubernetes 连接。
主要功能
- 01筛选并分组告警
- 02创建和删除静默
- 03查看状态与接收器
- 04调查并关联告警
适用场景
- 01查看当前触发或严重告警
- 02维护期间为告警创建静默
- 03事件处理中追查相关告警
MCP 相关
向 MCP 客户端提供 12 种 Alertmanager 工具,包括告警查询、静默管理、状态检查和调查。可通过直接 API URL 或 Kubernetes API 服务代理连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Alertmanager MCP 服务(Go)
用于集成 Prometheus Alertmanager 的 Model Context Protocol (MCP) 服务。原生 Go 二进制程序,通过 client-go 内置 Kubernetes 连接功能。
安装
npx
npx -y mcp-alertmanager@latest
MCP 客户端配置
将以下内容添加到 MCP 客户端配置中(VS Code、Cursor、Windsurf 等):
{
"mcpServers": {
"alertmanager": {
"command": "npx",
"args": ["-y", "mcp-alertmanager@latest"],
"env": {
"ALERTMANAGER_URL": "http://localhost:9093"
}
}
}
}
VS Code
code --add-mcp '{"name":"alertmanager","command":"npx","args":["-y","mcp-alertmanager@latest"],"env":{"ALERTMANAGER_URL":"http://localhost:9093"}}'
Kubernetes 自动连接
通过 K8S API 服务代理,自动连接到在 OpenShift/Kubernetes 中运行的 Alertmanager。使用 client-go,通过原生 kubeconfig/集群内配置连接。无需 kubectl 或端口转发。
默认值:openshift-monitoring/alertmanager-operated:9093
{
"mcpServers": {
"alertmanager": {
"command": "npx",
"args": ["-y", "mcp-alertmanager@latest"]
}
}
}
二进制程序
从 GitHub Releases 下载,或从源代码构建:
make build
./mcp-alertmanager
配置
环境变量
| 变量 | 描述 |
|---|---|
ALERTMANAGER_URL | 直接指定 Alertmanager API URL(覆盖 K8S 自动连接) |
CLI 标志
| 标志 | 描述 | 默认值 |
|---|---|---|
--url | 直接指定 Alertmanager URL | - |
--namespace | Kubernetes 命名空间 | openshift-monitoring |
--service | Kubernetes 服务名称 | alertmanager-operated |
--service-port | Kubernetes 服务端口 | 9093 |
--service-scheme | 服务协议(http/https) | https |
--kubeconfig | kubeconfig 文件路径 | 自动检测 |
优先级: --url / ALERTMANAGER_URL > K8S 自动连接
连接策略:
- 直接 URL(如果设置了
--url或ALERTMANAGER_URL) - K8S API 代理(自动检测 kubeconfig 或集群内配置)
工具(12 个)
告警
| 工具 | 描述 |
|---|---|
getAlerts | 获取告警,可选择筛选条件 |
getAlertGroups | 按路由标签分组获取告警 |
getCriticalAlerts | 仅获取严重级别告警 |
getAlertingSummary | 摘要:按严重级别统计数量、列出热门告警和命名空间 |
静默
| 工具 | 描述 |
|---|---|
getSilences | 按状态列出静默 |
createSilence | 为告警创建静默 |
deleteSilence | 按 ID 删除静默 |
状态
| 工具 | 描述 |
|---|---|
getAlertmanagerStatus | 服务状态、版本、集群信息 |
getReceivers | 列出通知接收方 |
故障排查
| 工具 | 描述 |
|---|---|
investigateAlert | 深入调查特定告警 |
getAlertHistory | 告警历史和分析指南 |
correlateAlerts | 根据共享标签查找相关告警 |
提示词示例
"What alerts are currently firing?"
"Are there any critical alerts?"
"Give me a summary of the alerting status"
"Investigate the HighMemoryUsage alert"
"Create a 2-hour silence for PodCrashLooping"
"What receivers are configured?"
"Find correlated alerts to identify the root cause"
"Show me alert history for KubeNodeNotReady"
开发
构建
make build # Build for current platform
make build-all-platforms # Cross-compile for all platforms
容器
podman build -f Containerfile -t mcp-alertmanager .
Kubernetes / OpenShift 部署
容器镜像
容器镜像托管于 GitHub Container Registry:
ghcr.io/jeanlopezxyz/mcp-alertmanager:latest
Helm Chart
使用随附的 Helm Chart 部署:
# Add the chart repository (or use local chart)
helm upgrade --install mcp-alertmanager ./charts/mcp-alertmanager \
--namespace mcp-servers \
--create-namespace \
--set openshift=true
Helm Values
| 参数 | 描述 | 默认值 |
|---|---|---|
image.registry | 容器注册表 | ghcr.io |
image.repository | 镜像仓库 | jeanlopezxyz/mcp-alertmanager |
image.version | 镜像标签 | latest |
openshift | 启用 OpenShift Routes | false |
service.port | 服务端口 | 8080 |
alertmanager.namespace | Alertmanager 命名空间 | openshift-monitoring |
alertmanager.service | Alertmanager 服务名称 | alertmanager-operated |
rbac.useClusterReader | 使用 cluster-reader 角色 | true |
使用自定义 Alertmanager 的示例
helm upgrade --install mcp-alertmanager ./charts/mcp-alertmanager \
--namespace mcp-servers \
--set openshift=true \
--set alertmanager.url=http://alertmanager.monitoring:9093
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。