🚀

New Relic MCPを試してみた

に公開

イオンネクストのarairyusです。
AEON Advent Calendarの2日目記事です。
待ち望んでいたNew Relic MCPがパブリックプレビューフェーズまで来ました。
触ってみた使用感を書きます。

New Relic MCP(パブリックプレビュー)

現状のサマリー

サポートされているAI開発ツール

  • Claude Code
  • Claude Desktop
  • VS Code
  • Windsurf
  • Gemini CLI

認証方法

  • ユーザーAPIキー
  • OAuth

ツール

New Relic MCP ツールリファレンス

  • execute_nrql_query: NRDB に対して NRQL クエリを実行します。
  • natural_language_to_nrql_query: 自然言語リクエストを NRQL クエリに変換し、実行して結果を返すことでクエリを実行します。

スラスラNRQL書けないので非常に嬉しいです。

ダッシュボード、アラート、インシデントへのアクセスが可能なので、いろんなことが将来的にできそうです。

Claude Codeで使ってみた

設定方法

公式手順はこちら。New Relic MCP を設定する

ユーザーレベルで設定したときのコマンド
OAuthならこれでOK。 ※OAuthの方が望ましいのは分かっていますが、New Relicは3セッションまでなのでセッション切れでmcpサーバーの接続切れが煩わしいので、ユーザーAPIキーを使いました。

claude mcp add newrelic --transport http https://mcp.newrelic.com/mcp/ -s user
{
  "mcpServers": {
    "newrelic": {
      "url": "https://mcp.newrelic.com/mcp/",
      "transport": "http",
      "env": {
        "NEW_RELIC_API_KEY": "NRAK-YOUR-KEY-HERE"
      }
    }
  }
}

試してみた

基本的にGUIDで対象リソースを渡すようです。また、アカウントIDもプロンプトで渡しておくと調査がスムーズです。

直近リリースしてエラーが発生するようになったシステムで試してみます。
該当リポジトリのディレクトリで下記プロンプトを実行してみました。

プロンプト

newrelic mcpでAccount [アカウントID]の[Entity GUID]で本日発生したエラーを調べて理由を報告してください。
原因となっているコードを特定して修正案を計画してください。
fix-plan.mdに修正案を書いてください。

出力

  fix-plan.md を作成しました。本日発生した主なエラーと原因をまとめます。

  検出されたエラー (6種類)

  | エラー                                  | 件数   | 原因箇所                            |
  |--------------------------------------|------|---------------------------------|
  | PK_XXX制約違反                        | 15件+ | DbService.cs:60-61              |
  | Customer edit conflict (409)         | 2| XXXServiceImpl.cs:51-68      |
  | Customer e-mail already exists (400) | 2| XXX API側の重複チェック                 |
  | Failed to get XXX user info          | 1| ProcessCustomerQueue.cs:287-316 |

  根本原因

  最頻発エラー(PK制約違反)の原因:
  - ProcessCustomerQueue.cs:542-545 で既存レコードから INCREMENTAL_ID を取得
  - DbService.cs:60 で新規レコードを追加する際に、並行処理で同じIDが使われる
  - Service Busセッションを使用しているが、同一顧客への短時間の複数webhookで競合

  推奨修正

  1. PK制約違反 → UPSERT パターンの実装(既存レコードチェック後に追加/更新)
  2. 409コンフリクト → XXX API呼び出しにリトライ + Exponential Backoff
  3. 400メール重複 → 適切な例外ハンドリングで警告ログのみ
  4. XXX API失敗 → リトライロジックの追加

  詳細な修正コード例は fix-plan.md に記載しています。

しっかりと現状のソースコードも鑑みて修正案を提案してくれました。
少し的外れなところもあったので、ソースコードと照らし合わせて再レビューさせたら、ある程度良さそうな修正案になりました。

感想

現時点でもBugfixには非常に役立ちました。AIがソースコードとNew RelicのTransaction、ログを見ながらタスクを進めてくれるので、的外れな仮説に基づいてClaude Codeが突き進むこともない印象でした。

Bugfixはもちろん、

  • Agentにダッシュボードを見に行かせて異変があったらレポーティングしてもらう
  • アラート、インシデントの解説
  • 自然言語でのNRQL
  • デプロイ後、テレメトリデータがどう変わったかのレポーティング

など妄想が膨らみました。GAが待ち遠しいですね。

イオングループで、一緒に働きませんか?

イオングループでは、エンジニアを積極採用中です。少しでもご興味もった方は、キャリア登録やカジュアル面談登録などもしていただけると嬉しいです。
皆さまとお話できるのを楽しみにしています!

AEON TECH HUB

Discussion