New Relic MCP Server について
New Relic MCP Serverは、MCPクライアントからNew Relicのオブザーバビリティデータや操作にアクセスするサーバーです。NRQL、NerdGraph GraphQL、REST v2に対応し、アプリ監視やインシデント、デプロイ、シンセティック監視を扱えます。
主な機能
- 01NRQLとNerdGraphクエリの実行
- 02APMアプリとエンティティの確認
- 03インシデントの表示と確認
- 04シンセティックモニターの管理
- 05REST v2によるメトリクスとデプロイ管理
活用シーン
- 01アプリのメトリクスとエラーの分析
- 02未解決インシデントの確認と応答
- 03インフラのエンティティやモニターの検索
- 04デプロイマーカーの作成や確認
MCP 対応
New Relicのクエリ、監視、アラート、エンティティ、シンセティック監視、REST v2操作をMCPツールとして公開します。MCPクライアントはNew Relic APIキーを使ってこれらのツールを呼び出せます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
New Relic MCP サーバー
New Relic のオブザーバビリティプラットフォームとシームレスに統合する Model Context Protocol(MCP)サーバーです。メトリクスのクエリ、アラートの管理、アプリケーションの監視を行い、シンプルで統一されたインターフェースからオブザーバビリティスタック全体を操作できます。
免責事項:これは非公式のコミュニティプロジェクトであり、New Relic, Inc. との提携、承認、サポートはありません。すべての商標はそれぞれの所有者に帰属します。
機能
- 📊 NRQL クエリ - データを分析するための強力なクエリを実行します
- 🚀 APM 統合 - アプリケーションのパフォーマンスと健全性を監視します
- 🔔 アラート管理 - アラートやインシデントを表示し、確認します
- 🔍 エンティティ検索 - インフラストラクチャ全体のエンティティを見つけて調査します
- 📈 Synthetics モニタリング - 合成モニターとチェックを管理します
- 🔧 NerdGraph API - New Relic の GraphQL API に直接アクセスします
- 🌐 REST v2 ツール(2.0 以降) - デプロイ、APM アプリ、メトリクス、アラート向けの価値の高い REST エンドポイント
インストール
Smithery で簡単にインストール
Smithery 経由でインストールまたはデプロイする方法については、公式ドキュメントをご覧ください:デプロイ、プロジェクトの設定、smithery.yaml リファレンス。
Smithery 経由で Claude Desktop に New Relic MCP を自動インストールするには:
npx @smithery/cli install @cloudbring/newrelic-mcp --client claude
Smithery CLI(推奨)
ローカルでの開発、検査、デプロイのワークフローには Smithery CLI をおすすめします。利点:
- クライアントに依存しない、統合された開発/ビルド/デプロイのワークフロー
- ホットリロードとプレイグラウンドを備えた開発サーバー(オプションのトンネル)
stdioまたはshttpトランスポート用のビルドバンドル- サーバーを対話形式で検査し、指定された設定で実行
- クライアントごとのシンプルなインストール
例:
# Hot‑reload dev server
npx @smithery/cli dev src/server.ts --port 8181 --no-open
# Build production bundle (shttp transport)
npx @smithery/cli build src/server.ts --out .smithery/index.cjs --transport shttp
# Inspect a published server
npx @smithery/cli inspect @cloudbring/newrelic-mcp
# Run with config (env via JSON)
npx @smithery/cli run @cloudbring/newrelic-mcp --config '{"NEW_RELIC_API_KEY":"...","NEW_RELIC_ACCOUNT_ID":"...","NEW_RELIC_REGION":"US"}'
# Install into a specific client
npx @smithery/cli install newrelic-mcp --client claude
# Open playground
npx @smithery/cli playground --port 3001
注:
- このリポジトリには、TypeScript を優先するデプロイに合わせて、
runtime: "typescript"を指定した最小限のsmithery.yamlが含まれています。 - すべてのコマンドとフラグについては、CLI リファレンスをご覧ください:smithery-ai/cli。
手動インストール
Claude Desktop
Claude Desktop の設定ファイルに追加します:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"newrelic": {
"command": "npx",
"args": [
"-y",
"newrelic-mcp"
],
"env": {
"NEW_RELIC_API_KEY": "your-api-key-here",
"NEW_RELIC_ACCOUNT_ID": "your-account-id",
"NEW_RELIC_REGION": "US"
}
}
}
}
Cline(VS Code)
VS Code の Cline 設定に追加します:
{
"cline.mcpServers": [
{
"name": "newrelic",
"command": "npx",
"args": ["-y", "newrelic-mcp"],
"env": {
"NEW_RELIC_API_KEY": "your-api-key-here",
"NEW_RELIC_ACCOUNT_ID": "your-account-id",
"NEW_RELIC_REGION": "US"
}
}
]
}
Zed Editor
~/.config/zed/settings.json にある Zed の設定ファイルに追加します:
{
"language_models": {
"mcp": {
"servers": {
"newrelic": {
"command": "npx",
"args": ["-y", "newrelic-mcp"],
"env": {
"NEW_RELIC_API_KEY": "your-api-key-here",
"NEW_RELIC_ACCOUNT_ID": "your-account-id"
}
}
}
}
}
}
Windsurf Editor
Windsurf Cascade の設定に追加します:
{
"mcpServers": {
"newrelic": {
"command": "npx",
"args": ["-y", "newrelic-mcp"],
"env": {
"NEW_RELIC_API_KEY": "your-api-key-here",
"NEW_RELIC_ACCOUNT_ID": "your-account-id",
"NEW_RELIC_REGION": "US"
}
}
}
}
ローカル開発
- リポジトリをクローンします:
git clone https://github.com/cloudbring/newrelic-mcp.git
cd newrelic-mcp
- 依存関係をインストールしてビルドします:
npm install
npm run build
- MCP クライアントの設定に追加します:
{
"mcpServers": {
"newrelic": {
"command": "node",
"args": ["/path/to/newrelic-mcp/dist/server.js"],
"env": {
"NEW_RELIC_API_KEY": "your-api-key-here",
"NEW_RELIC_ACCOUNT_ID": "your-account-id",
"NEW_RELIC_REGION": "US"
}
}
}
}
設定
必須の環境変数
NEW_RELIC_API_KEY- New Relic のユーザー API キー(必須)NEW_RELIC_ACCOUNT_ID- New Relic のアカウント ID(任意。ツール呼び出しごとに指定できます)NEW_RELIC_REGION- New Relic のデータセンターリージョン:US(デフォルト)またはEU(任意)
New Relic 認証情報の取得
-
API キー:
- New Relic にログインします
- 左側のサイドバーで API Keys に移動します
- 適切な権限を持つ新しいユーザー API キーを作成します
-
アカウント ID:
- New Relic にログインした状態で、URLからアカウント ID を確認します
- または、Administration → Access management → Accounts に移動します
-
リージョン:
- 米国のデータセンターでは
NEW_RELIC_REGION=USを設定します(デフォルト) - EU のデータセンターでは
NEW_RELIC_REGION=EUを設定します - 指定しない場合は、デフォルトで
USになります
- 米国のデータセンターでは
詳細なセットアップ手順については、docs/new-relic-setup.md を参照してください。
使用例
設定が完了すると、MCP クライアントを通じて New Relic を操作できます。
データのクエリ
"Show me the average response time for my web application over the last hour"
"What are the top 10 slowest database queries today?"
"Display error rate trends for the production environment"
アプリケーションの監視
"List all my APM applications and their current status"
"Show me the health of my Node.js services"
"Which applications have active alerts?"
アラートの管理
"Show me all open incidents"
"What critical alerts fired in the last 24 hours?"
"Acknowledge incident #12345"
インフラストラクチャの検索
"Find all Redis databases in production"
"Show me entities with high CPU usage"
"List all synthetic monitors and their success rates"
ツールリファレンス
以下は、このサーバーが公開するすべての MCP ツールの簡潔な一覧です。詳細な説明と仕様については、docs フォルダーを参照してください。
NerdGraph/GraphQL ツール
| ツール | 概要 |
|---|---|
run_nrql_query | NRQL クエリを実行します(target_account_id が必要です) |
run_nerdgraph_query | NerdGraph の生の GraphQL クエリを実行します |
list_apm_applications | NerdGraph 経由で APM アプリケーションを一覧表示します |
search_entities | エンティティを検索します(名前、種類、タグ) |
get_entity_details | GUID の詳細を取得します |
list_alert_policies | NerdGraph 経由でアラートポリシーを一覧表示します |
list_open_incidents | NerdGraph 経由でオープンなインシデントを一覧表示します |
acknowledge_incident | インシデントを確認します(NerdGraph のみ) |
list_synthetics_monitors | Synthetics モニターを一覧表示します |
create_browser_monitor | ブラウザーモニターを作成します |
get_account_details | アカウントのメタデータを取得します |
REST v2 ツール(v2.0 で追加)
| ツール | 概要 | 備考 |
|---|---|---|
create_deployment | APM アプリケーションのデプロイメントマーカーを作成します | 入力:application_id、revision;任意項目:changelog、description、user;region に対応 |
list_deployments_rest | アプリのデプロイメントを一覧表示します | page、auto_paginate、region に対応 |
delete_deployment | デプロイメントマーカーを削除します | confirm: true が必要です;ユーザー API キーには管理者ロールの権限が必要です |
list_apm_applications_rest | REST 経由で APM アプリを一覧表示します | フィルター:filter[name]、filter[host]、filter[ids]、filter[language];自動ページネーション |
list_metric_names_for_host | ホストのメトリクス名/値を一覧表示します | 入力:application_id、host_id、任意の name;自動ページネーション |
get_metric_data_for_host | ホストのタイムスライスメトリクスデータを取得します | 入力:application_id、host_id、names[];任意項目:values[]、from、to、period、summarize;自動ページネーション |
list_application_hosts | APM アプリのホストを一覧表示します | フィルター:filter[hostname]、filter[ids];自動ページネーション |
list_alert_policies_rest | REST 経由でアラートポリシーを一覧表示します | filter_name は任意です;ページネーションに対応 |
list_open_incidents_rest | REST 経由でインシデントを一覧表示します | サーバーには only_open/priority フィルターがありません。これらはクライアント側で適用されます;自動ページネーション |
参照先:
- 詳細な仕様とスキーマ:
docs/REST_ENDPOINT_TOOL.mdおよびdocs/rest-tools-stories/*
トラブルシューティング
接続の問題
接続に問題がある場合:
-
API キーが有効であることを確認します。
米国リージョンの場合:
curl -X POST https://api.newrelic.com/graphql \ -H 'Content-Type: application/json' \ -H 'API-Key: YOUR_API_KEY' \ -d '{"query":"{ actor { user { email } } }"}'EU リージョンの場合:
curl -X POST https://api.eu.newrelic.com/graphql \ -H 'Content-Type: application/json' \ -H 'API-Key: YOUR_API_KEY' \ -d '{"query":"{ actor { user { email } } }"}' -
アカウント ID が正しいことを確認します
-
API キーに必要な権限があることを確認します
-
詳細なエラーメッセージについては、MCP クライアントのログを確認します
権限エラー
権限エラーが発生した場合:
-
API キーに必要な権限があることを確認します。
- NRQL クエリの場合:
NRQL query権限 - APM データの場合:
APMの読み取り権限 - アラートの場合:
Alertsの読み取り/書き込み権限
- NRQL クエリの場合:
-
必要に応じて、より広範な権限を持つ新しい API キーを作成します
開発
プロジェクト構成
src/
├── server.ts # Main MCP server implementation
├── client/
│ └── newrelic-client.ts # New Relic API client
└── tools/
├── nrql.ts # NRQL query tool
├── apm.ts # APM applications tool
├── entity.ts # Entity management tools
├── alert.ts # Alert and incident tools
├── synthetics.ts # Synthetics monitoring tools
└── nerdgraph.ts # NerdGraph query tool
開発環境のセットアップ
- リポジトリをクローンします:
git clone https://github.com/cloudbring/newrelic-mcp.git
cd newrelic-mcp
- 依存関係をインストールします:
npm install
.envファイルを作成します:
NEW_RELIC_API_KEY=your-api-key-here
NEW_RELIC_ACCOUNT_ID=your-account-id
NEW_RELIC_REGION=US
- プロジェクトをビルドします:
npm run build
開発コマンド
# Start development server with hot reload
npm run dev
# Build for production
npm run build
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Run linting
npm run lint
# Format code
npm run format
# Test server startup
npm run test:server
テスト
このプロジェクトでは、以下を使用したテスト駆動開発(TDD)を採用しています:
- Vitest によるユニットテスト
- Gherkin による BDD テスト
- Evalite による LLM レスポンスの検証
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Run BDD tests only
npm run test:bdd
# Run integration tests with real API
USE_REAL_ENV=true npm test
デバッグ
MCP Inspector を使用して、サーバーをテストおよびデバッグします:
# Run with MCP Inspector
npm run inspect
# Run with development server
npm run inspect:dev
# Run with environment variables
npm run inspect:env
詳しい手順については、docs/mcp-inspector-setup.md をご覧ください。
アーキテクチャ
このサーバーは、以下のモジュール型アーキテクチャに従っています:
- クライアント層:New Relic API との通信を処理します
- ツール層:MCP ツールの仕様を実装します
- サーバー層:MCP プロトコルとツールのルーティングを管理します
各ツールは次のとおりです:
- 単一の明確な目的を持ちます
- Zod スキーマを使用して入力を検証します
- 構造化された型付きレスポンスを返します
- 包括的なエラーハンドリングを備えています
貢献
貢献を歓迎します!詳しくは、貢献ガイドラインをご覧ください。
開発ワークフロー
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature) - 先にテストを書きます(TDD アプローチ)
- 機能を実装します
- すべてのテストに合格することを確認します(
npm test) - コードカバレッジを 90% 超に維持します
- リンティングを実行します(
npm run lint) - 変更をコミットします(コミットは自動的にフォーマットされます)
- ブランチにプッシュします
- プルリクエストを作成します
コードスタイル
このプロジェクトでは、以下を使用しています:
- Biome によるリンティングとフォーマット
- TypeScript の strict モード
- インデントには スペース 2 個
- 文字列には シングルクォート
- セミコロンは常に使用
ドキュメント
- New Relic セットアップガイド - 認証情報の詳細なセットアップ
- MCP Inspector のセットアップ - テストとデバッグ
- ログとテレメトリー - テストのモニタリング
- 実装の詳細 - アーキテクチャの詳細
- REST ツールの概要 - REST v2 ツールのハイレベルな設計
- REST ツールの仕様 - ツールごとの仕様、スキーマ、テスト計画
比較
他の公開されている New Relic MCP サーバーを調査しましたが、執筆時点では、積極的にメンテナンスされている機能完備の代替手段は見つかりませんでした。ご存じのものがあれば、ここに追加するため、イシューを作成してください。
| プロジェクト | ステータス | トランスポート | デプロイメント | APM アプリ | メトリクス | アラート | Synthetics | 備考 |
|---|---|---|---|---|---|---|---|---|
| このプロジェクト(newrelic-mcp) | アクティブ | NerdGraph + REST v2 | 作成/一覧表示/削除 | 一覧表示(NerdGraph + REST) | ホスト名 + タイムスライス(REST) | ポリシー + インシデント(NG + REST) | 一覧表示/作成(ブラウザー) | 包括的なテストとドキュメント |
予定している改善(REST v2 カタログとユーザーの需要に基づく):
- アラート:利用可能な場合、REST 経由で違反と条件を管理
- メトリクス:ホスト単位に加え、アプリ単位のより幅広いメトリクスエンドポイント(名前/データ)
- REST 対応範囲の拡大:ラベル、キー・トランザクション、モバイルアプリ(フィードバックに基づいて優先順位付け)
サポート
- 🐛 バグを報告
- 💡 機能をリクエスト
- 💬 ディスカッションに参加
- 📖 ドキュメントを読む
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については、LICENSE ファイルをご覧ください。
免責事項
このプロジェクトは New Relic, Inc. と提携、承認、またはサポートされていません。New Relic の公開 API を使用する、独立したオープンソースプロジェクトです。
謝辞
- Model Context Protocol の仕様に基づいて構築されています
- New Relic のオブザーバビリティプラットフォーム API と統合されています
- より広範な MCP エコシステムから着想を得ています
Cursor と Claude Code を使用して、@cloudbring が ❤️ を込めて作成しました
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。