Prometheus Alertmanager MCP Server
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
Alert Retrieval : Fetches and formats current alerts from Alertmanager with optional filtering capabilities.
Alert Details : Provides detailed information about specific alerts when referenced by their fingerprint.
Silence Management : Offers tools to create, list, and delete silences that suppress notifications for specific alerts.
Alert Grouping : Retrieves alert groups as organized by Alertmanager.
Technical Implementation
Installation
Prerequisites
Setup
The package is available on npm and can be used directly with npx:
npx alertmanager-mcp
For global installation:
npm install -g alertmanager-mcp
alertmanager-mcp
Usage with Claude for Desktop
- Configure Claude for Desktop to use the MCP server by editing the configuration file:
{
"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": {}
}
}
}
Restart Claude for Desktop to load the new configuration.
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.*'
)
delete-silence
Deletes a silence by ID.
Parameters:
silenceId
: ID of the silence to delete
get-alert-groups
Gets alert groups with optional filtering.
Parameters:
active
: (optional) Include active alerts (default: true)
silenced
: (optional) Include silenced alerts
inhibited
: (optional) Include inhibited alerts
Extending the Server
This MCP server can be extended with additional features such as:
- Alert trend analysis
- Automatic response suggestions
- Integration with incident management systems
- Custom dashboards for specific alert types
Resources