📇 ☁️ - A Model Context Protocol server that integrates with Prometheus Alertmanager for alert management and…
Prometheus Alertmanager MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
This project implements a Model Context Protocol (MCP) server that integrates with Prometheus Alertmanager. It serves as a bridge between Claude AI and Alertmanager, allowing Claude to interact with and manage alerts through a standardized interface.
Core Features
1. **Alert Retrieval**: Fetches and formats current alerts from Alertmanager with optional filtering capabilities.
2. **Alert Details**: Provides detailed information about specific alerts when referenced by their fingerprint.
3. **Silence Management**: Offers tools to create, list, and delete silences that suppress notifications for specific alerts.
4. **Alert Grouping**: Retrieves alert groups as organized by Alertmanager.
Technical Implementation
- Built using TypeScript and the MCP SDK
- Communicates with Alertmanager's HTTP API (v2)
- Runs as a stdio-based process compatible with Claude for Desktop
- Implements proper error handling and timeout management
- Provides strongly-typed interfaces for alert and silence data
Installation
Prerequisites
- Access to a running Prometheus Alertmanager instance
- For Claude for Desktop: Node.js (v18 or newer) installed on your system
Setup
The package is available on npm and can be used directly with npx:
For global installation:
Usage with Claude for Desktop
1. Configure Claude for Desktop to use the MCP server by editing the configuration file:
2. Restart Claude for Desktop to load the new configuration.
3. You can now ask Claude to interact with Alertmanager using natural language:
- "Show me current alerts"
- "Filter alerts related to CPU issues"
- "Get details for this alert"
- "Create a silence for this alert for the next 2 hours"
Available Tools
get-alerts
Retrieves a list of alerts with optional filtering.
Parameters:
- filter: (optional) Filtering query (e.g., alertname=~'.*CPU.*')
- silenced: (optional) Include silenced alerts
- inhibited: (optional) Include inhibited alerts
- active: (optional) Include active alerts (default: true)
get-alert-details
Gets detailed information about a specific alert.
Parameters:
- fingerprint: Alert fingerprint
create-silence
Creates a silence for alerts matching specified criteria.
Parameters:
- matchers: List of matchers for alerts
- startsAt: (optional) Silence start time (ISO8601 format, default is current time)
- endsAt: Silence end time (ISO8601 format)
- createdBy: Username who created the silence
- comment: Reason or explanation for the silence
get-silences
Retrieves a list of silences with optional filtering.
Parameters:
- filter: (optional) Filtering query (e.g., createdBy=~'.*admin.*')