mcpField
P
Prometheus Alertmanager MCP Server

Prometheus Alertmanager MCP Server

ローカル
github.com/kaznak開発ツール1083 週間前に更新

Prometheus Alertmanager MCP Server について

TypeScript製のMCPサーバーで、ClaudeなどのMCPクライアントをPrometheus Alertmanagerに接続します。AlertmanagerのHTTP APIを通じて、アラートの検索やグループ表示、サイレンス管理を行えます。

主な機能

  1. 01アラートの取得と絞り込み
  2. 02フィンガープリントによる詳細表示
  3. 03サイレンスの作成・一覧・削除
  4. 04Alertmanagerのアラートグループ取得

活用シーン

  1. 01MCPクライアントでアクティブなアラートを確認
  2. 02条件に合うアラートを検索
  3. 03特定アラートの詳細を調査
  4. 04メンテナンス中の通知を抑制

MCP 対応

Alertmanagerのアラートとサイレンス操作をMCPツールとして公開します。Alertmanager HTTP API v2と通信し、stdioで動作します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"alertmanager": {
"command": "npx",
"args": [
"-y",
"alertmanager-mcp"
]
}
}
}
起動コマンドnpx -y alertmanager-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmalertmanager-mcp

ツール

6

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
activebooleanいいえアクティブなアラートを含めます(デフォルト:true)
filterstringいいえフィルタリングクエリ(例:alertname=~'.*CPU.*')
silencedbooleanいいえサイレンス状態のアラートを含めます
inhibitedbooleanいいえ抑制されたアラートを含めます

詳細

Prometheus Alertmanager MCP サーバー

このプロジェクトは、Prometheus Alertmanagerと連携するModel Context Protocol(MCP)サーバーを実装しています。Claude AIとAlertmanagerをつなぐ橋渡しとして機能し、標準化されたインターフェースを通じてClaudeがアラートを操作・管理できるようにします。

主な機能

  1. アラートの取得:Alertmanagerから現在のアラートを取得してフォーマットします。オプションでフィルタリングもできます。

  2. アラートの詳細:フィンガープリントを指定すると、特定のアラートの詳細情報を提供します。

  3. サイレンスの管理:特定のアラートに対する通知を抑制するサイレンスを作成、一覧表示、削除するツールを提供します。

  4. アラートのグループ化:Alertmanagerが整理したアラートグループを取得します。

技術的な実装

  • TypeScriptとMCP SDKを使用して構築
  • AlertmanagerのHTTP API(v2)と通信
  • Claude for Desktopと互換性のあるstdioベースのプロセスとして実行
  • 適切なエラー処理とタイムアウト管理を実装
  • アラートとサイレンスのデータに対して、型安全なインターフェースを提供

インストール

前提条件
  • 稼働中のPrometheus Alertmanagerインスタンスにアクセスできること
  • Claude for Desktopを使用する場合:システムにNode.js(v18以降)がインストールされていること
セットアップ

このパッケージはnpmで入手でき、npxを使って直接実行できます。

npx alertmanager-mcp

グローバルにインストールする場合:

npm install -g alertmanager-mcp
alertmanager-mcp

Claude for Desktopでの使用

  1. 設定ファイルを編集して、Claude for DesktopでMCPサーバーを使用するように設定します。
{
  "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": {}
    }
  }
}
  1. Claude for Desktopを再起動して、新しい設定を読み込みます。

  2. 自然言語を使って、ClaudeにAlertmanagerを操作するよう依頼できます。

    • 「現在のアラートを表示して」
    • 「CPUに関するアラートを絞り込んで」
    • 「このアラートの詳細を取得して」
    • 「このアラートのサイレンスを今後2時間作成して」

利用可能なツール

get-alerts

オプションのフィルタリング条件を指定して、アラートの一覧を取得します。

パラメーター:

  • filter:(任意)フィルタリングクエリ(例:alertname=~'.*CPU.*')
  • silenced:(任意)サイレンス状態のアラートを含める
  • inhibited:(任意)抑制状態のアラートを含める
  • active:(任意)アクティブなアラートを含める(デフォルト:true)
get-alert-details

特定のアラートの詳細情報を取得します。

パラメーター:

  • fingerprint:アラートのフィンガープリント
create-silence

指定した条件に一致するアラートのサイレンスを作成します。

パラメーター:

  • matchers:アラートに対するマッチャーの一覧
  • startsAt:(任意)サイレンスの開始時刻(ISO8601形式。デフォルトは現在時刻)
  • endsAt:サイレンスの終了時刻(ISO8601形式)
  • createdBy:サイレンスを作成したユーザー名
  • comment:サイレンスの理由または説明
get-silences

オプションのフィルタリング条件を指定して、サイレンスの一覧を取得します。

パラメーター:

  • filter:(任意)フィルタリングクエリ(例:createdBy=~'.*admin.*')
delete-silence

IDを指定してサイレンスを削除します。

パラメーター:

  • silenceId:削除するサイレンスのID
get-alert-groups

オプションのフィルタリング条件を指定して、アラートグループを取得します。

パラメーター:

  • active:(任意)アクティブなアラートを含める(デフォルト:true)
  • silenced:(任意)サイレンス状態のアラートを含める
  • inhibited:(任意)抑制状態のアラートを含める

サーバーの拡張

このMCPサーバーには、次のような機能を追加できます。

  • アラート傾向の分析
  • 自動対応の提案
  • インシデント管理システムとの連携
  • 特定のアラート種別に対応したカスタムダッシュボード

リソース

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。