1.0.1 • Published 4 months ago

alertmanager-mcp v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

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

  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

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

  1. 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": {}
       }
     }
    }
  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.*')

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

1.0.1

4 months ago

1.0.0

4 months ago