ClaudeとMackerelをつなげてみよう! ―― Mackerel MCPサーバーで始めるアラート対応【後編】

←前編より

このたびMackerelは、大規模言語モデル(LLM)連携を可能にする「Mackerel MCPサーバー」 の提供を開始しました。本記事の前編ではMCPサーバーとAIとの連携による可能性を紹介しましたが、後編ではClaude Desktopを例に具体的な設定と使い方を紹介していきます。

こんにちは。Mackerelチームでサブディレクターとプロダクトマネジメントを担当している id:RyuGoo と申します。Mackerelチームでは主に、事業計画に基づいた数年先の戦略立案やKPIの管理などを行っています。

本記事では、MackerelとAIを組み合わせることで、どのようなことが可能になるのか、そしてMackerelが今後AIにどのように取り組んでいきたいと考えているのかを、前編と後編に分けてご紹介します。

前編ではMCPサーバーとAIとの連携による可能性を紹介しましたが、今回の後編では、Mackerel MCPサーバーClaude Desktopを使って、AIとMackerelを連携させる具体的な設定方法と使い方の例を説明していきます。

Mackerel MCPサーバーとは?

Model Context Protocol(MCP)は、Anthropicが提唱した、大規模言語モデル(LLM)が外部のデータやツールにアクセスできるようにするための規格です。

AIは通常、学習した知識の範囲内でしか回答できませんが、外部の情報にアクセスさせたい場合もあります。その際、情報提供側がMCPサーバーを用意すると、AIはそのMCPサーバーを経由してリアルタイムの情報や外部サービスのデータも扱えるようになります。

Mackerel MCPサーバーは、このMCPの仕様に準拠し、AIがMackerelの情報にアクセスできるようにします。

MCPサーバーには「ローカルMCPサーバー」と「リモートMCPサーバー」の2種類がありますが、現在Mackerelが提供しているのは前者のローカルMCPサーバーです。

ローカルMCPサーバーはユーザーの手元で動作するMCPサーバーで、MCPサーバーに対応したデスクトップアプリケーションなどの限られたクライアントからのみ接続できます。

github.com

本記事の執筆時点では、以下のツールが提供されています。

  • list_alerts - アラートの一覧を取得します
  • get_alert - 特定のアラートを取得します
  • get_alert_logs - 特定のアラートのログを取得します
  • list_dashboards - ダッシュボードの一覧を取得します
  • get_dashboard - 特定のダッシュボードを取得します
  • update_dashboard - 特定のダッシュボードを更新します
  • list_hosts - ホストの一覧を取得します
  • get_host_metrics - 特定のホストのメトリックを取得します
  • list_services - サービスの一覧を取得します
  • get_service_metrics - 特定のサービスのメトリックを取得します
  • list_monitors - 監視ルールの一覧を取得します
  • get_monitor - 特定の監視ルールを取得します
  • get_trace - 分散トレーシング分析のために、トレースIDでトレースデータを取得します

ClaudeとMackerelをつなげてみよう!

では、いよいよClaudeとMackerelをMCPサーバーでつなげてみましょう。

1. Claude Desktopをインストールする

まず、MCPクライアントとなるソフトウェアに設定を行います。今回はAnthropicが提供するClaude Desktopを使います。Claude Desktopは以下のリンクからダウンロードできます。

claude.ai

Claudeへのアカウント登録、Claude Desktopのインストールは完了しているものとして設定を進めていきます。

Claudeにはいくつかの料金プランがありますが、ここでは無料(Free)プランで進めることにします。

本格的な運用ではメッセージ回数制限に達してしまう可能性があります。必要に応じてプロ(Pro)プランやチーム(Team)プランでの利用をご検討ください。

2. Node.jsをインストールする

Mackerel MCPサーバーを利用するには、DockerまたはNode.jsが動作する環境が必要です。今回は手元で手軽に進めていきたいので、Node.jsを使うことにします。すでにVoltanなどのNode.js向けバージョン管理ツールを導入されている場合は、そちらでセットアップしても構いません。

本記事ではNode.js 22.19.0(LTS)を使っています。Node.jsのインストール後、npxコマンドが実行可能であることを確かめておいてください。

% node -v
v22.19.0
% npx -v
10.9.3

3. MCPサーバーを設定する

それでは、Claude DesktopとMackerel MCPサーバーを連携させる設定に進みましょう。

まず、Claude Desktopのサイドバーを開き、下部のメニューから[設定]を選択します。

Claude Desktopの設定画面を開く

設定画面の最下部にある[開発者]メニューを選択し、その中の[ローカル MCP サーバー]にある[設定を編集]ボタンをクリックします。

[開発者]メニューを選択する

[設定を編集]ボタンを押すと、Claude Desktopの設定ファイルが保存されているフォルダーが開きます。その中にあるclaude_desktop_config.jsonを探してください(※スクリーンショットはmacOS Sequoia 15.7で撮影しています)。

Claude Desktopの設定フォルダー

claude_desktop_config.jsonを適当なテキストエディタで開き、以下の設定を書き込みます。

(注意)Node.js向けのバージョン管理ツールを使ってNode.jsをセットアップした場合は、commandキーの値にnpxコマンドへのフルパスを入力する必要があります。

{
  "mcpServers": {
    "mackerel": {
      "command": "npx",
      "args": ["-y", "@mackerel/mcp-server"],
      "env": {
        "MACKEREL_APIKEY": "${MACKEREL_APIKEY}"
      }
    }
  }
}

この設定にはMackerelのAPIキーが必要です。AIと連携したいMackerelオーガニゼーションにアクセスし、「オーガニゼーション詳細」(サイドバー上のオーガニゼーション名をクリック)から[APIキー]タブに進んで取得してください。

update_dashboardツール(ダッシュボードの更新)を使用する際は、write権限を持つAPIキーが必要です。逆に、ダッシュボードの更新を予定していない場合は、セキュリティを高めるためにもread権限のみのAPIキーを新たに発行することをお勧めします。

「オーガニゼーション詳細」からAPIキーを取得する

また、取得したAPIキーは環境変数 MACKEREL_APIKEY に設定することもお勧めします。その場合は、下記のJSONをそのままコピー&ペーストしてください。動作確認や読み取りに問題がある場合は、JSON内に直接APIキーを記述することも可能です。

テキストエディタで設定ファイルを編集する

設定ファイルclaude_desktop_config.jsonの編集が終わったら保存します。その後、Claude Desktopを再起動し、再び[設定]→[開発者]と進んでください。

設定が正常に完了していれば、「ローカルMCPサーバー」の項目に「mackerel」が出現し、「running」(動作中)と表示されます。

正常にClaude DesktopにMackerel MCPサーバーの設定が完了している場合

これで、Claude DesktopへのMackerel MCPサーバーの設定は完了です。

4. Claude DesktopからMackerelを呼び出す

Claude Desktopを起動すると、[検索とツール]ボタンに「mackerel」という項目が追加されているのがわかります。

この項目はドリルダウンメニューになっており、クリックするとMackerel MCPサーバーが提供するツールの一覧が表示されます。各ツールは個別に有効・無効を切り替えることができます。

Claude Desktopに追加されたMackerelメニュー

ユースケース:アラートの対応を相談する

Mackerelでアラートが発生しているとき、Claudeに解決策を相談できます。

まずは、現在発生しているアラートの一覧を取得してみましょう。プロンプトに以下の内容を入力して送信するだけで、ClaudeがMackerel MCPサーバーで提供されているツールの中から最適なものを判断し、アラート一覧を取得してくれます。

Mackerelで発生しているアラートの一覧をリストアップしてください

ClaudeがプロンプトからList Alertsツールを選択してアラートの一覧を取得している

取得した結果から、解消したいアラートIDがわかりました。次はこのアラートIDの情報を使って、問題の分析と対処方法について相談してみます。

アラートID「〈解決したいアラートID〉」で発生している問題を分析し、問題の対処方法を考えてください。

すると、ClaudeはMackerel MCPサーバーが提供しているツールを次々と切り替えながら、必要な情報を自動的に取得していきます。

Claude側で必要なツールを判断して、次々と情報を取得している

必要な情報の取得を終えると、分析結果が出力されます。

依頼していたとおり、問題の分析と対処方法についてレポートされている

アラート情報の取得結果には、予防策として「自動復旧スクリプトの実装」という項目が含まれています。

この件について、さらにClaudeに相談してみましょう。

どのような自動復旧スクリプトを考えると良いでしょうか?

その結果、自動復旧のための具体的なアプローチと、それを実現するスクリプトが提案されました。

自動復旧のアプローチとスクリプトが自動生成されている

今回はシェルスクリプトが生成されましたが、必要に応じて別の形式で出力させることも可能です。

生成されたスクリプトが正しいかどうかは別途検証が必要ですが、ゼロから対応方法を調べ、構築するよりもはるかに素早く問題に対処できるでしょう。

このようにAIとMackerel MCPサーバーを組み合わせることで、システムに不慣れな担当者や、運用経験の少ない開発者でも、AIと対話しながら問題解決に取り組めるようになります。

AIの力でMackerelを使ったシステムの監視・運用を簡単にしませんか?

本記事ではClaude DesktopとMackerel MCPサーバーを組み合わせ、AIと相談しながら問題に対応する様子を紹介しました。

現在、MackerelでAIの支援の恩恵を受けるには、MCPに対応したAIツールとMackerel MCPサーバーの設定が必要となります。

今後は、さらに簡単にAIの支援を受けられるよう、MackerelのWebコンソール上でのAI支援機能や、Mackerel MCPサーバーにおいてもAPM機能との連携をより強化していくなどの検討を進めていく予定です。

MackerelではAIの力を使ってシステムの監視・運用をより簡単にできるよう、今後も改善を進めていきます。Mackerelが実現するAI時代の監視・運用に、ぜひご期待ください!

←前編へ