README
🚀 喧闹管理器 MCP 服务器
该项目实现了一个 模型上下文协议 (MCP) 服务器,此服务器与 Prometheus Alertmanager 集成。它在 Claude AI 和 Alertmanager 之间架起桥梁,让 Claude 能通过标准化接口交互并管理警报。
🚀 快速开始
本项目实现的 MCP 服务器,能让 Claude AI 与 Prometheus Alertmanager 进行交互,实现警报的管理。你可以通过如下步骤快速使用。
✨ 主要特性
- 警报检索:从 Alertmanager 获取并格式化当前警报,还带有可选的过滤功能。
- 警报详细信息:当引用特定警报的指纹时,可提供该警报的详细信息。
- 静默管理:提供工具用于创建、列出和删除抑制特定警报的通知。
- 警报分组:可获取 Alertmanager 组织的警报组。
📦 安装指南
先决条件
- 能够访问正在运行的 Prometheus Alertmanager 实例。
- 若使用 Claude Desktop,需在系统上安装 Node.js(v18 或更高版本)。
设置
该包在 npm 上可用,你可以直接使用 npx:
npx alertmanager-mcp
也可以进行全局安装:
npm install -g alertmanager-mcp
alertmanager-mcp
💻 使用示例
与 Claude Desktop 结合使用
- 配置 Claude Desktop 使用 MCP 服务器,通过编辑配置文件:
{
"mcpServers": {
"alertmanager": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--network=host",
"-e", "ALERTMANAGER_URL=http://your-alertmanager-url:9093",
"ghcr.io/kaznak/alertmanager-mcp:latest"
],
"env": {}
}
}
}
- 重启 Claude Desktop 以加载新配置。
- 现在,你可以让 Claude 使用自然语言与 Alertmanager 交互,例如:
- “显示当前警报”
- “筛选与 CPU 相关的警报”
- “获取此警报的详细信息”
- “为接下来的 2 小时为此警报创建静默”
可用工具
get-alerts
检索带有可选过滤功能的警报列表。 参数:
filter:(可选)过滤查询(例如,alertname=~'.*CPU.*')silenced:(可选)包含静默警报inhibited:(可选)包含受抑制的警报active:(可选)包含活动警报
get-alert-details
通过警报 ID 获取详细信息。 参数:
alert-id:要获取详细信息的警报 ID
create-silence
为特定匹配条件创建静默。 参数:
conditions:静默应匹配的条件startsAt:静默开始的时间(ISO 日期时间)endsAt:静默结束的时间(ISO 日期时间)comment:(可选)静默的评论
list-silences
列出所有当前静默。 无参数。
delete-silence
通过静默 ID 删除静默。 参数:
silence-id:要删除的静默 ID
🔧 技术细节
- 使用 TypeScript 和 MCP SDK 构建。
- 与 Alertmanager 的 HTTP API (v2) 通信。
- 作为基于标准输入输出的进程运行,适用于 Claude Desktop。
- 实现了适当的错误处理和超时管理。
- 提供强类型的接口来表示警报和静默数据。
Scan to contact