Alertmanager MCP服务器

一个用于Prometheus Alertmanager集成的Model Context Protocol (MCP)服务器,提供原生Go二进制文件并内置Kubernetes连接功能。

  • by labjp-mcp
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 jeanlopezxyz/mcp-alertmanager

使用说明

警报管理器MCP服务器(Go)

A. 模型上下文协议(MCP) Prometheus警报管理器集成服务器。Native Go二进制文件,通过客户端Go内置Kubernetes连接。

安装

npx

npx -y mcp-alertmanager@latest

MCP客户端配置

添加到您的MCP客户端配置(VS代码、游标、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。通过客户端go在集群配置中使用本机kubeconfig/。不 kubectl 或需要端口转发。

违约: openshift-monitoring/alertmanager-operated:9093

{
  "mcpServers": {
    "alertmanager": {
      "command": "npx",
      "args": ["-y", "mcp-alertmanager@latest"]
    }
  }
}

二进制

下载自 GitHub发布 或从源代码构建:

make build
./mcp-alertmanager

配置

环境变量

变量 描述
ALERTMANAGER_URL 直接警报管理器API URL(覆盖K8S自动连接)

CLI标志

标志 描述 默认值
--url 直接警报管理器URL -
--namespace Kubernetes 命名空间 openshift-monitoring
--service Kubernetes服务名称 alertmanager-operated
--service-port Kubernetes服务端口 9093
--service-scheme 服务方案(http/https) https
--kubeconfig kubeconfig文件路径 自动检测

优先: --url / ALERTMANAGER_URL >K8S自动连接

连接策略:

  1. 直接URL(如果 --url 或 ALERTMANAGER_URL 已设置)
  2. 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容器注册表中找到:

ghcr.io/jeanlopezxyz/mcp-alertmanager:latest

Helm 图表

使用附带的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值

参数 说明 默认值
image.registry 容器注册表 ghcr.io
image.repository 图像存储库 jeanlopezxyz/mcp-alertmanager
image.version 图像标签 latest
openshift 启用OpenShift路由 false
service.port 服务端口 8080
alertmanager.namespace 警报管理器命名空间 openshift-monitoring
alertmanager.service 警报管理器服务名称 alertmanager-operated
rbac.useClusterReader 使用群集读取器角色 true

自定义Alertmanager示例

helm upgrade --install mcp-alertmanager ./charts/mcp-alertmanager \
  --namespace mcp-servers \
  --set openshift=true \
  --set alertmanager.url=http://alertmanager.monitoring:9093

许可证

麻省理工学院