Skip to main content
Glama
ntk148v

alertmanager-mcp-server

目录

Related MCP server: mcp-server-pacman

1. 简介

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

2. 特点

  • [x] 查询 Alertmanager 状态、警报、静默、接收器和警报组

  • [x] 创建、更新和删除静默

  • [x] 创建新警报

  • [x] 身份验证支持(通过环境变量进行基本身份验证)

  • [x] Docker 容器化支持

3. 快速入门

3.1. 先决条件

  • Python 3.12+

  • uv (用于快速依赖管理)。

  • Docker(可选,用于容器化部署)。

  • 确保您的 Prometheus Alertmanager 服务器可从运行此 MCP 服务器的环境访问。

3.2. 通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 Prometheus Alertmanager MCP 服务器:

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
  • 将服务器配置添加到客户端配置文件中。例如,对于 Claude Desktop:

{ "mcpServers": { "alertmanager": { "command": "uv", "args": [ "--directory", "<full path to alertmanager-mcp-server 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 小时内将此警报设置为静默”

3.4. Docker 运行

  • 使用预先构建的图像运行它(或者您可以自己构建它):

$ docker run -e ALERTMANAGER_URL=http://your-alertmanager:9093 \ -e ALERTMANAGER_USERNAME=your_username \ -e ALERTMANAGER_PASSWORD=your_password \ -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" } } } }

此配置通过使用仅带有变量名的-e标志,并在env对象中提供实际值,将环境变量从 Claude Desktop 传递到 Docker 容器。

4.工具

MCP 服务器公开了用于查询和管理 Alertmanager 的工具,遵循其 API v2

  • 获取状态: get_status()

  • 列出警报: get_alerts()

  • 列出沉默: get_silences()

  • 创建静默: post_silence(silence_dict)

  • 删除静默: delete_silence(silence_id)

  • 列出接收器: get_receivers()

  • 列出警报组: get_alert_groups()

有关完整的 API 详细信息,请参阅src/alertmanager_mcp_server/server.py

5.开发

欢迎贡献代码!如果您有任何建议或改进,请提交 issue 或 pull request。

本项目使用uv来管理依赖项。请按照您平台的说明安装 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 $ TRANSPORT_MODE=sse mcp dev # Install in Claude Desktop $ make install

6. 许可证

Apache 2.0


Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ntk148v/alertmanager-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server