🚀 New Relic MCP Server
このModel Context Protocol (MCP)サーバーは、New Relicのオブザーバビリティプラットフォームとシームレスに統合されます。簡単で統一されたインターフェースを通じて、メトリクスのクエリ実行、アラートの管理、アプリケーションの監視、およびオブザーバビリティスタック全体とのやり取りが可能です。
⚠️ 重要提示
このプロジェクトは非公式のコミュニティプロジェクトであり、New Relic, Inc.とは関係がなく、承認もされておらず、サポートもされていません。すべての商標はそれぞれの所有者の財産です。
🚀 クイックスタート
このNew Relic MCP Serverを使用することで、New Relicのオブザーバビリティプラットフォームとのやり取りを簡単に行えます。以下の手順に従ってインストールと設定を行ってください。
✨ 主な機能
- 📊 NRQLクエリ - 強力なクエリを実行してデータを分析します。
- 🚀 APM統合 - アプリケーションのパフォーマンスと健全性を監視します。
- 🔔 アラート管理 - アラートとインシデントを表示し、承認します。
- 🔍 エンティティ検索 - インフラストラクチャ全体のエンティティを検索し、詳細を確認します。
- 📈 合成監視 - 合成モニターとチェックを管理します。
- 🔧 NerdGraph API - New RelicのGraphQL APIに直接アクセスします。
- 🌐 REST v2ツール (2.0+) - デプロイメント、APMアプリ、メトリクス、およびアラートのための高価値なRESTエンドポイントを提供します。
📦 インストール
Smitheryを使用したクイックインストール
Smitheryを介してインストールまたはデプロイするには、公式ドキュメントを参照してください:Deployments、Project Configuration、およびsmithery.yaml
Reference。
Smitheryを介してClaude Desktop用にNew Relic MCPを自動インストールするには:
npx @smithery/cli install newrelic-mcp --client claude
Smithery CLI (推奨)
ローカル開発、検査、およびデプロイメントフローには、Smithery CLIを推奨します。以下のような利点があります:
- 統一された開発/ビルド/デプロイワークフロー、クライアント非依存
- ホットリロードとプレイグラウンド付きの開発サーバー(オプションのトンネル)
stdio
またはshttp
トランスポート用のビルドバンドル
- サーバーを対話的に検査する;提供された設定で実行する
- クライアントごとの簡単なインストール
例:
npx @smithery/cli dev src/server.ts --port 8181 --no-open
npx @smithery/cli build src/server.ts --out .smithery/index.cjs --transport shttp
npx @smithery/cli inspect @cloudbring/newrelic-mcp
npx @smithery/cli run @cloudbring/newrelic-mcp --config '{"NEW_RELIC_API_KEY":"...","NEW_RELIC_ACCOUNT_ID":"..."}'
npx @smithery/cli install newrelic-mcp --client claude
npx @smithery/cli playground --port 3001
注意事項:
- このリポジトリには、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"
}
}
}
}
Cline (VS Code)
VS CodeのCline設定に追加してください:
```json
{
"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"
}
}
]
}
```
Zed Editor
`~/.config/zed/settings.json`のZed設定ファイルに追加してください:
```json
{
"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設定に追加してください:
```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"
}
}
}
}
```
ローカル開発
1. リポジトリをクローンします:
```bash
git clone https://github.com/cloudbring/newrelic-mcp.git
cd newrelic-mcp
```
2. 依存関係をインストールしてビルドします:
```bash
npm install
npm run build
```
3. MCPクライアントの設定に追加します:
```json
{
"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_API_KEY
- あなたのNew RelicユーザーAPIキー (必須)
NEW_RELIC_ACCOUNT_ID
- あなたのNew RelicアカウントID (オプション、ツール呼び出しごとに提供できます)
New Relicの資格情報を取得する
- APIキー:
- New Relicにログインします。
- 左サイドバーのAPI Keysに移動します。
- 適切な権限を持つ新しいユーザーAPIキーを作成します。
- アカウントID:
- New RelicにログインしたときのURLからアカウントIDを見つけます。
- または、Administration → Access management → Accountsに移動します。
詳細なセットアップ手順については、docs/new-relic-setup.mdを参照してください。
💻 使用例
設定が完了したら、MCPクライアントを介してNew Relicとやり取りできます。
データのクエリ
"過去1時間のWebアプリケーションの平均応答時間を表示してください"
"今日の最も遅い上位10のデータベースクエリは何ですか?"
"本番環境のエラー率のトレンドを表示してください"
アプリケーションの監視
"すべてのAPMアプリケーションとその現在の状態をリストアップしてください"
"Node.jsサービスの健全性を表示してください"
"アクティブなアラートがあるアプリケーションはどれですか?"
アラートの管理
"すべての未解決のインシデントを表示してください"
"過去24時間に発生した重大なアラートは何ですか?"
"インシデント#12345を承認してください"
インフラストラクチャの検索
"本番環境のすべてのRedisデータベースを見つけてください"
"CPU使用率の高いエンティティを表示してください"
"すべての合成モニターとその成功率をリストアップしてください"
📚 ドキュメント
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 |
合成モニターをリストアップします |
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/*
トラブルシューティング
接続問題
接続に問題がある場合は、以下のことを確認してください:
1. APIキーが有効であることを確認します:
```bash
curl -X POST https://api.newrelic.com/graphql \
-H 'Content-Type: application/json' \
-H 'API-Key: YOUR_API_KEY' \
-d '{"query":"{ actor { user { email } } }"}'
```
2. アカウントIDが正しいことを確認します。
3. APIキーに必要な権限があることを確認します。
4. MCPクライアントのログを確認して詳細なエラーメッセージを取得します。
権限エラー
権限エラーが発生した場合は、以下のことを確認してください:
1. APIキーに必要な権限があることを確認します:
- NRQLクエリの場合: `NRQL query`権限
- APMデータの場合: `APM`読み取り権限
- アラートの場合: `Alerts`読み取り/書き込み権限
2. 必要に応じて、より広い権限を持つ新しいAPIキーを作成します。
開発
プロジェクト構造
src/
├── server.ts # メインのMCPサーバー実装
├── client/
│ └── newrelic-client.ts # New Relic APIクライアント
└── tools/
├── nrql.ts # NRQLクエリツール
├── apm.ts # APMアプリケーションツール
├── entity.ts # エンティティ管理ツール
├── alert.ts # アラートとインシデントツール
├── synthetics.ts # 合成監視ツール
└── nerdgraph.ts # NerdGraphクエリツール
開発環境のセットアップ
- リポジトリをクローンします:
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
- プロジェクトをビルドします:
npm run build
開発コマンド
npm run dev
npm run build
npm test
npm run test:coverage
npm run lint
npm run format
npm run test:server
テスト
このプロジェクトは、Test-Driven Development (TDD)を使用しており、以下のツールを使用しています:
- Vitest ユニットテスト用
- Gherkin BDDテスト用
- Evalite LLM応答検証用
npm test
npm run test:coverage
npm run test:bdd
USE_REAL_ENV=true npm test
デバッグ
MCP Inspectorを使用してサーバーをテストおよびデバッグします:
npm run inspect
npm run inspect:dev
npm run inspect:env
詳細な手順については、docs/mcp-inspector-setup.mdを参照してください。
アーキテクチャ
このサーバーは、以下のモジュール化されたアーキテクチャに従っています:
- クライアント層:New Relic API通信を処理します。
- ツール層:MCPツールの仕様を実装します。
- サーバー層:MCPプロトコルとツールルーティングを管理します。
各ツールは:
- 単一の焦点を持った目的を持っています。
- Zodスキーマを使用して入力を検証します。
- 構造化された型付きの応答を返します。
- 包括的なエラーハンドリングを含んでいます。
コントリビューション
コントリビューションを歓迎します!詳細については、Contributing Guidelinesを参照してください。
開発ワークフロー
- リポジトリをフォークします。
- 機能ブランチを作成します (
git checkout -b feature/amazing-feature
)。
- 最初にテストを書きます (TDDアプローチ)。
- 機能を実装します。
- すべてのテストが通過することを確認します (
npm test
)。
- コードカバレッジを90%以上に維持します。
- リントを実行します (
npm run lint
)。
- 変更をコミットします (コミットは自動的にフォーマットされます)。
- ブランチにプッシュします。
- プルリクエストを開きます。
コードスタイル
このプロジェクトでは、以下を使用しています:
- Biome リントとフォーマット用
- TypeScript 厳密モードで
- 2つのスペース インデント用
- シングルクォート 文字列用
- セミコロン 常に
ドキュメント
- New Relic Setup Guide - 詳細な資格情報のセットアップ
- MCP Inspector Setup - テストとデバッグ
- Logging & Telemetry - テスト監視
- Implementation Details - アーキテクチャの詳細
- REST tools overview - REST v2ツールの高レベル設計
- REST tool stories - ツールごとの仕様、スキーマ、およびテストプラン
比較
他の公開されているNew Relic MCPサーバーを調査しましたが、執筆時点ではアクティブにメンテナンスされ、機能が完全な代替品は見つかりませんでした。もし知っている場合は、ここに追加するためにイシューを開いてください。
プロジェクト |
ステータス |
トランスポート |
デプロイメント |
APMアプリ |
メトリクス |
アラート |
合成監視 |
注意事項 |
このプロジェクト (newrelic-mcp) |
アクティブ |
NerdGraph + REST v2 |
作成/リスト/削除 |
リスト (NerdGraph + REST) |
ホスト名 + 時間スライス (REST) |
ポリシー + インシデント (NG + REST) |
リスト/作成 (ブラウザ) |
包括的なテストとドキュメント |
計画されている機能強化 (REST v2カタログとユーザーの要求に基づく):
- アラート: 可能な場合はRESTを介した違反と条件の管理
- メトリクス: ホストごと以外のより広範なアプリレベルのメトリクスエンドポイント (名前/データ)
- 追加のRESTカバレッジ: ラベル、キートランザクション、モバイルアプリ (フィードバックによって優先順位付けされます)
サポート
📄 ライセンス
このプロジェクトはMITライセンスの下でライセンスされています - 詳細については、LICENSEファイルを参照してください。
免責事項
このプロジェクトはNew Relic, Inc.とは関係がなく、承認もされておらず、サポートもされていません。New Relicの公開APIを使用する独立したオープンソースプロジェクトです。
謝辞
@cloudbringによってCursorとClaude Codeを使用して❤️で作られました