mcpField
N
New Relic MCP

New Relic MCP

ローカル
github.com/karldaneクラウド・インフラ018 週間前に更新

New Relic MCP について

New Relic MCPは、New Relicのオブザーバビリティプラットフォーム向けGo製MCPサーバーで、APM、ログ、アラート、ダッシュボードなどを扱う55個のツールを備えています。書き込み操作は既定で無効で、各ツールに安全性ポリシーのメタデータがあります。

主な機能

  1. 01オブザーバビリティ領域を網羅する55個のツール
  2. 02NRQLによるメトリクス、ログ、トレースの検索
  3. 03アラート、ダッシュボード、ワークフロー、通知の管理
  4. 04米国とEUのデータセンターに対応
  5. 05リスクメタデータ付きで書き込み操作は既定で無効

活用シーン

  1. 01アプリケーション性能と分散トレースの検索
  2. 02アラート違反の確認とポリシー管理
  3. 03ログとインフラメトリクスの検索
  4. 04ダッシュボード、ワークフロー、サービスレベル目標の作成

MCP 対応

このMCPサーバーは、単一のNerdGraph GraphQLエンドポイントを通じて、New Relicの検索・管理ツールをMCPクライアントに提供します。書き込みツールを使うには`-write-enabled`による明示的な有効化が必要です。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbnewrelic-mcp-linux-amd64.mcpb1.0.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

New Relic MCP サーバー

New Relic のオブザーバビリティプラットフォーム向けに Go で実装された MCP(Model Context Protocol)サーバーです。APM、インフラストラクチャ、ログ、トレース、アラート、ダッシュボード、シンセティクス、ワークフロー、通知、サービスレベル、タグ、エンティティ、ワークロードに、単一の GraphQL エンドポイントを通じて包括的にアクセスできます。

概要

  • 登録済みの MCP ツールは 55 個。NerdGraph API の全機能をカバーします
  • 安全性を最優先した設計:すべてのツールに EnforcerProfile メタデータ(リスク、影響、リソースコスト、PII フラグ、冪等性)が付与されており、MCP Bridge を介したポリシーの自動適用に利用できます
  • 書き込み保護:すべての変更ツールは -write-enabled フラグで制御されます。デフォルトでは無効です
  • マルチリージョン:米国および EU のデータセンターをサポートします(NEWRELIC_REGION=us|eu)
  • TDD に基づいて構築:すべてのツールで 80% 以上のテストカバレッジを達成しています

レジストリ

このサーバーは、次の MCP レジストリに公開されています。

API アーキテクチャ

すべてのツールは、単一の NerdGraph エンドポイントと通信します。

リージョンエンドポイント
米国(デフォルト)https://api.newrelic.com/graphql
EUhttps://api.eu.newrelic.com/graphql

内部クエリヘルパーによって、レスポンスのスコープが決まります。

ヘルパー返される値用途
actorGraphQuerydata.actor.*エンティティクエリ、アカウントをまたぐ NRQL
nerdGraphQuerydata.actor.account.*アカウントスコープのクエリ(アラート、ワークフローなど)
rawGraphQuerydata.<mutationName>すべての変更
executeNRQLパース済みの NRQL 結果NRQL ベースのツール

ツール

NRQL クエリ
ツール説明GraphQL オペレーションリスク影響
nrql_query任意の NRQL クエリを実行しますactor.account.nrql中読み取り
APM とアプリケーション
ツール説明GraphQL オペレーションリスク影響
list_applicationsAPM で監視されているすべてのアプリケーションを一覧表示しますactor.entitySearch (domain:APM, type:APPLICATION)低読み取り
get_apm_metricsAPM のパフォーマンスメトリクスを取得しますactor.account.nrql (FROM APMApplication)低読み取り
get_application_metrics特定のアプリの詳細なメトリクスを取得しますactor.account.nrql (FROM APMApplication)低読み取り
query_traces分散トレースをクエリしますactor.account.nrql (FROM Transaction)低読み取り
get_transaction_tracesトランザクショントレースの詳細を取得しますexecuteNRQL による NRQL低読み取り
get_trace_details特定のトレースの詳細を取得しますexecuteNRQL による NRQL低読み取り
アラートポリシーと条件
ツール説明GraphQL オペレーションリスク影響
list_alertsすべてのアラートポリシーを一覧表示しますactor.account.alerts.policiesSearch低読み取り
get_alert_policyID を指定して単一のアラートポリシーを取得しますactor.account.alerts.policy低読み取り
get_alert_conditionsポリシーの条件を取得しますactor.account.alerts.alertConditionsSearch低読み取り
get_alert_violationsアクティブなアラート違反を取得しますactor.account.nrql(NRQL アラートクエリ)低読み取り
list_nrql_alert_conditionsポリシーの NRQL 条件を一覧表示しますactor.account.alerts.nrqlConditionsSearch低読み取り
create_alert_policy新しいアラートポリシーを作成しますalertsPolicyCreate低書き込み
update_alert_policyアラートポリシーを更新しますalertsPolicyUpdate低書き込み
delete_alert_policyアラートポリシーを削除しますalertsPolicyDelete高書き込み
create_alert_conditionNRQL アラート条件を作成しますalertsNrqlConditionCreate中書き込み
acknowledge_alert_violationアラート違反を確認済みにしますalertsViolationAcknowledge中書き込み
合成モニタリング
ツール説明GraphQL オペレーションリスク影響
list_synthetic_monitorsすべての合成モニターを一覧表示しますactor.entitySearch (domain:SYNTH, type:MONITOR)低読み取り
get_synthetic_monitorGUID で合成モニターを取得しますactor.entity (SyntheticMonitorEntityOutline)低読み取り
list_private_locationsプライベートロケーションを一覧表示しますactor.entitySearch (domain:SYNTH, type:PRIVATE_LOCATION)低読み取り
create_ping_monitorシンプルな ping モニターを作成しますsyntheticsCreateSimpleMonitor低書き込み
delete_synthetic_monitor合成モニターを削除しますsyntheticsDeleteMonitor中書き込み
ダッシュボード
ツール説明GraphQL オペレーションリスク影響
list_dashboardsすべてのダッシュボードを一覧表示しますactor.entitySearch (domain:DASH, type:DASHBOARD)低読み取り
get_dashboardGUID でダッシュボードの完全な設定を取得しますactor.entity (DashboardEntity)低読み取り
get_dashboard_dataダッシュボードウィジェットのデータを取得しますactor.entity (DashboardEntity)低読み取り
create_dashboard新しいダッシュボードを作成しますdashboardCreate低書き込み
update_dashboard既存のダッシュボードを更新しますdashboardUpdate低書き込み
delete_dashboardダッシュボードを削除しますdashboardDelete中書き込み
add_dashboard_widgetダッシュボードにウィジェットを追加しますdashboardUpdate中書き込み
ログ
ツール説明GraphQL オペレーションリスク影響
search_logsLucene 構文でログを検索しますactor.account.nrql (FROM Log)中読み取り
tail_logs最近のログエントリーをストリーミングしますactor.account.nrql (FROM Log)中読み取り
インフラストラクチャ
ツール説明GraphQL オペレーションリスク影響
get_infrastructure_metricsホスト/コンテナーのメトリクスを取得しますactor.account.nrql (FROM SystemSample)低読み取り
アラートワークフロー (aiWorkflows)
ツール説明GraphQL オペレーションリスク影響
list_workflowsアラート通知ワークフローを一覧表示しますactor.account.aiWorkflows.workflows低読み取り
get_workflowID でワークフローを取得しますactor.account.aiWorkflows.workflows (filter)低読み取り
create_workflow新しいアラートワークフローを作成しますaiWorkflowsCreateWorkflow低書き込み
update_workflowワークフローを更新しますaiWorkflowsUpdateWorkflow低書き込み
delete_workflowワークフローを削除しますaiWorkflowsDeleteWorkflow高書き込み
通知チャネルと宛先 (aiNotifications)
ツール説明GraphQL オペレーションリスク影響
list_notification_channelsすべての通知チャネルを一覧表示しますactor.account.aiNotifications.channels低読み取り
list_destinations通知の宛先を一覧表示しますactor.account.aiNotifications.destinations低読み取り
create_slack_channelSlack 通知チャネルを作成しますaiNotificationsCreateChannel (type:SLACK)低書き込み
create_email_channelメール通知チャネルを作成しますaiNotificationsCreateChannel (type:EMAIL)低書き込み
delete_notification_channel通知チャネルを削除しますaiNotificationsDeleteChannel高書き込み
サービスレベル
ツール説明GraphQL オペレーションリスク影響
list_service_levelsエンティティの SLI を一覧表示しますactor.entity (... EntityInterfaceWithServiceLevel)低読み取り
create_service_levelSLO を含む SLI を作成しますserviceLevelCreate中書き込み
update_service_levelSLI の SLO 目標を更新しますserviceLevelUpdate低書き込み
タグ管理(タグ付け)
ツール説明GraphQL 操作リスク影響
get_entity_tagsエンティティのすべてのタグを取得しますactor.entity.tagsLowRead
add_entity_tagsエンティティにタグを追加しますtaggingAddTagsToEntityLowWrite
remove_entity_tagsエンティティからタグを削除しますtaggingDeleteTagFromEntityMedWrite
replace_entity_tagsエンティティのすべてのタグを置き換えますtaggingReplaceTagsOnEntityMedWrite
エンティティ操作
ツール説明GraphQL 操作リスク影響
search_entities高度なエンティティ検索actor.entitySearch (queryBuilder)LowRead
delete_entityGUID でエンティティを削除しますentityDeleteHighWrite
アカウント横断 NRQL
ツール説明GraphQL 操作リスク影響
cross_account_nrql複数のアカウントにまたがって NRQL を実行しますactor.nrql (multi-account)MedRead
ワークロード
ツール説明GraphQL 操作リスク影響
list_workloadsアカウントのすべてのワークロードを一覧表示しますactor.account.workload.workloadsLowRead
get_workloadGUID でワークロードを取得しますactor.entity (WorkloadEntity)LowRead

NerdGraph リファレンス

すべてのツールは、New Relic NerdGraph API にアクセスします。以下の NerdGraph のクエリ/ミューテーション名を使用します。

GraphQL 操作ドキュメント
actor.entityエンティティ
actor.entitySearchエンティティ検索
actor.account.nrqlNRQL
alertsPolicyCreate / Update / Deleteアラートポリシー
alertsNrqlConditionCreateNRQL アラート条件
syntheticsCreateSimpleMonitorSynthetic Monitoring
dashboardCreate / Update / Deleteダッシュボード
aiWorkflowsCreate / Update / DeleteWorkflowワークフロー
aiNotificationsCreateChannel / DeleteChannel通知チャネル
serviceLevelCreate / Updateサービスレベル
taggingAddTagsToEntity / DeleteTagFromEntity / ReplaceTagsOnEntityタグ
entityDeleteエンティティの削除

インストール

前提条件
  • Go 1.22 以降
  • API アクセス権のある New Relic アカウント
ソースからのビルド
git clone https://github.com/karldane/newrelic-mcp.git
cd newrelic-mcp
make
ビルドオプション
make              # Download deps and build (default)
make deps         # Download dependencies only
make build        # Build binary only (assumes deps exist)
make build-all    # Build for Linux, macOS, and Windows
make test         # Run tests
make clean        # Remove build artifacts
make install      # Install to GOPATH/bin
make help         # Show all options

設定

環境変数
変数説明必須デフォルト
NEWRELIC_API_KEYNew Relic API キー(ユーザーまたは管理者)はい-
NEWRELIC_REGIONデータセンターのリージョン(us または eu)いいえus
API キーの取得
  1. New Relic アカウントにログインします
  2. アカウント設定で API Keys に移動します
  3. User Key(読み取り専用の場合)または Admin Key(書き込み操作の場合)を作成します
  4. キーをコピーし、NEWRELIC_API_KEY として設定します

使用方法

基本的な使用方法(読み取り専用)
export NEWRELIC_API_KEY="your-api-key"
./newrelic-mcp
書き込み操作を有効にする

書き込み操作には -write-enabled フラグが必要です。

export NEWRELIC_API_KEY="your-api-key"
./newrelic-mcp -write-enabled

書き込みツールはデフォルトで無効になっています。-write-enabled を設定すると、すべての変更操作(作成、更新、削除、確認)が利用可能になります。各書き込みツールには ImpactWrite を含む EnforcerProfile が設定されており、MCP Bridge のオペレーターはポリシーを個別に適用できます。

ツール一覧

MCP 経由でツールの全一覧を取得します。

{
  "tool": "tools/list"
}

安全機能

EnforcerProfile メタデータ

すべてのツールで安全性プロファイルを宣言します。

フィールド説明値
RiskLevel誤用による潜在的な影響low、med、high、critical
ImpactScopeツールが影響を与える対象read、write
ResourceCostAPI 呼び出しの重み(1~10)整数
PIIExposureツールが機密データを返すかどうかtrue / false
Idempotent再試行が安全かどうかtrue / false

このメタデータにより、ツール一覧をハードコーディングすることなく、MCP Bridge によるポリシーの自動適用が可能になります。

リスク分類
  • 低リスク:読み取り専用のクエリ、ログ検索、メトリクスの取得、一覧表示操作
  • 中リスク:破壊的でないリソース(アラート条件、サービスレベル、ダッシュボード、チャネル)の作成、アラートの確認
  • 高リスク:リソース(ポリシー、エンティティ、ダッシュボード、ワークフロー、チャネル)の削除
書き込み保護

書き込みツールはデフォルトで無効になっており、次のものが必要です。

  1. 適切な権限を持つ有効な New Relic API キー
  2. -write-enabled コマンドラインフラグ

使用例

アプリケーションのパフォーマンスをクエリする
{
  "tool": "nrql_query",
  "arguments": {
    "query": "SELECT average(duration) FROM Transaction WHERE appName = 'MyApp' TIMESERIES SINCE 1 hour ago"
  }
}
アクティブなアラートを一覧表示する
{
  "tool": "get_alert_violations",
  "arguments": {}
}
Ping モニターを作成する
{
  "tool": "create_ping_monitor",
  "arguments": {
    "name": "My Monitor",
    "uri": "https://example.com/health",
    "locations": "US_EAST_1,US_WEST_1",
    "period": "EVERY_5_MINUTES"
  }
}
アカウント横断の NRQL クエリ
{
  "tool": "cross_account_nrql",
  "arguments": {
    "query": "SELECT count(*) FROM Transaction",
    "account_ids": "1234567,7654321"
  }
}

アーキテクチャ

このサーバーは New Relic GraphQL クライアントをラップし、MCP Framework を通じて各ツールを登録します。ツールは NerdGraph の操作と 1 対 1 で対応しており、REST API の呼び出しは行いません。

Client (MCP Host)
    │
    ▼
newrelic-mcp (MCP Server)
    │
    ├── actorGraphQuery  →  actor.*  (entities, entitySearch, cross-account NRQL)
    ├── nerdGraphQuery   →  actor.account.*  (alerts, workflows, notifications, workloads)
    ├── rawGraphQuery    →  mutation results
    └── executeNRQL      →  actor.account.nrql  (NRQL query tools)
         │
         ▼
New Relic NerdGraph (api.newrelic.com/graphql)

テスト

go test ./newrelic -v

テストでは次の項目をカバーします。

  • 正常系(NerdGraph の応答をモック)
  • 空または結果なしの応答
  • 必須パラメーターの不足
  • 書き込み有効時/無効時の制御
  • API エラー応答
  • 想定外の応答形式

ライセンス

このプロジェクトは Functional Source License, Version 1.1, ALv2 Future License の下でライセンスされています。

Copyright 2026 Karl Dane

詳細な条件については LICENSE ファイルをご覧ください。

参考資料

Tool Inventory

The server registers 55 tools total:

  • 6 NRQL / APM / Trace tools: nrql_query, list_applications, get_apm_metrics, get_application_metrics, query_traces, get_transaction_traces, get_trace_details
  • 10 Alert tools: list_alerts, get_alert_policy, get_alert_conditions, get_alert_violations, list_nrql_alert_conditions, create_alert_policy, update_alert_policy, delete_alert_policy, create_alert_condition, acknowledge_alert_violation
  • 5 Synthetic Monitoring tools: list_synthetic_monitors, get_synthetic_monitor, list_private_locations, create_ping_monitor, delete_synthetic_monitor
  • 7 Dashboard tools: list_dashboards, get_dashboard, get_dashboard_data, create_dashboard, update_dashboard, delete_dashboard, add_dashboard_widget
  • 2 Log tools: search_logs, tail_logs
  • 1 Infrastructure tool: get_infrastructure_metrics
  • 5 Workflow tools: list_workflows, get_workflow, create_workflow, update_workflow, delete_workflow
  • 5 Notification tools: list_notification_channels, list_destinations, create_slack_channel, create_email_channel, delete_notification_channel
  • 3 Service Level tools: list_service_levels, create_service_level, update_service_level
  • 4 Tag tools: get_entity_tags, add_entity_tags, remove_entity_tags, replace_entity_tags
  • 2 Entity tools: search_entities, delete_entity
  • 1 Cross-account NRQL tool: cross_account_nrql
  • 2 Workload tools: list_workloads, get_workload

コメント

MCP は初めてですか?

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

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