alertmanager-mcp

1.0.1 • Public • Published

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

- [Model Context Protocol Documentation](https://modelcontextprotocol.io/docs/concepts/architecture)
- [Prometheus Alertmanager Documentation](https://prometheus.io/docs/alerting/latest/alertmanager/)
- [Alertmanager API Reference](https://prometheus.io/docs/alerting/latest/api/)
- [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)
- [Claude AI Documentation](https://docs.anthropic.com/claude/)

Package Sidebar

Install

npm i alertmanager-mcp

Weekly Downloads

2

Version

1.0.1

License

MIT

Unpacked Size

17.6 kB

Total Files

4

Last publish

Collaborators

  • kaznak