New Relic MCP

io.github.karldane由 GitHub 帳號 karldane 發布v1.0.1更新於 Oct 24, 2026

New Relic MCP server with 55 tools for APM, alerts, dashboards, synthetics, workflows, and more.

發布方自己的服務:New Relic MCP Server

概覽

AI 產生的概覽

一個本機 MCP 伺服器,透過 NerdGraph API 為助理提供 55 個工具,用來查詢與管理 New Relic 可觀測性資料。

可以做什麼
執行 NRQL 查詢(含跨帳戶查詢),檢視 APM 應用程式、指標與追蹤、日誌和基礎架構指標。瀏覽與管理告警原則、條件、違規事件、通知工作流程、通道與目的地。讀取和編輯儀表板、合成監控、服務等級、實體標籤、實體與工作負載。寫入工具由命令列旗標控制,預設關閉。
適用情境
適合讓助理排查應用程式效能、搜尋日誌、檢視告警和儀表板,或在對話中對 New Relic 設定進行受控變更。
執行需求
以本機程序執行(從原始碼建置需 Go 1.22 或更新版本,也提供打包好的二進位檔)。需要 New Relic 帳戶,並在 NEWRELIC_API_KEY 中提供 API 金鑰(唯讀用 User 金鑰,寫入用 Admin 金鑰)。可選 NEWRELIC_REGION 設為 us 或 eu;需能連線至 New Relic 的 GraphQL 端點。
安裝前請注意
此 API 金鑰是具帳戶層級權限的機密;Admin 金鑰可建立、更新和刪除資源。寫入工具預設停用,除非傳入寫入旗標,但一旦啟用即可刪除告警原則、儀表板、工作流程、通道、合成監控和實體。查詢可能回傳敏感的日誌與追蹤資料。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 New Relic MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

New Relic MCP Server

A Go-native MCP (Model Context Protocol) server for the New Relic observability platform, providing comprehensive access to APM, infrastructure, logs, traces, alerts, dashboards, synthetics, workflows, notifications, service levels, tags, entities, and workloads — all through a single GraphQL endpoint.

Overview

  • 55 registered MCP tools covering the full NerdGraph API surface
  • Safety-first design: every tool carries EnforcerProfile metadata (risk, impact, resource cost, PII flag, idempotency) for automated policy enforcement via MCP Bridge
  • Write protection: all mutation tools gated behind a -write-enabled flag; disabled by default
  • Multi-region: US and EU data center support (NEWRELIC_REGION=us|eu)
  • TDD-built: 80%+ test coverage across all tools

Registries

This server is published on the following MCP registries:

API Architecture

All tools communicate with a single NerdGraph endpoint:

RegionEndpoint
US (default)https://api.newrelic.com/graphql
EUhttps://api.eu.newrelic.com/graphql

Internal query helpers determine the response-scope:

HelperReturnsUsed For
actorGraphQuerydata.actor.*Entity queries, cross-account NRQL
nerdGraphQuerydata.actor.account.*Account-scoped queries (alerts, workflows, etc.)
rawGraphQuerydata.<mutationName>All mutations
executeNRQLParsed NRQL resultsNRQL-based tools

Tools

NRQL Querying

ToolDescriptionGraphQL OperationRiskImpact
nrql_queryExecute arbitrary NRQL queriesactor.account.nrqlMedRead

APM & Applications

ToolDescriptionGraphQL OperationRiskImpact
list_applicationsList all APM-monitored applicationsactor.entitySearch (domain:APM, type:APPLICATION)LowRead
get_apm_metricsGet APM performance metricsactor.account.nrql (FROM APMApplication)LowRead
get_application_metricsGet detailed metrics for a specific appactor.account.nrql (FROM APMApplication)LowRead
query_tracesQuery distributed tracesactor.account.nrql (FROM Transaction)LowRead
get_transaction_tracesGet transaction trace detailsNRQL via executeNRQLLowRead
get_trace_detailsGet specific trace detailsNRQL via executeNRQLLowRead

Alert Policies & Conditions

ToolDescriptionGraphQL OperationRiskImpact
list_alertsList all alert policiesactor.account.alerts.policiesSearchLowRead
get_alert_policyGet a single alert policy by IDactor.account.alerts.policyLowRead
get_alert_conditionsGet conditions for a policyactor.account.alerts.alertConditionsSearchLowRead
get_alert_violationsGet active alert violationsactor.account.nrql (NRQL alert query)LowRead
list_nrql_alert_conditionsList NRQL conditions for a policyactor.account.alerts.nrqlConditionsSearchLowRead
create_alert_policyCreate a new alert policyalertsPolicyCreateLowWrite
update_alert_policyUpdate an alert policyalertsPolicyUpdateLowWrite
delete_alert_policyDelete an alert policyalertsPolicyDeleteHighWrite
create_alert_conditionCreate an NRQL alert conditionalertsNrqlConditionCreateMedWrite
acknowledge_alert_violationAcknowledge an alert violationalertsViolationAcknowledgeMedWrite

Synthetic Monitoring

ToolDescriptionGraphQL OperationRiskImpact
list_synthetic_monitorsList all synthetic monitorsactor.entitySearch (domain:SYNTH, type:MONITOR)LowRead
get_synthetic_monitorGet a synthetic monitor by GUIDactor.entity (SyntheticMonitorEntityOutline)LowRead
list_private_locationsList private locationsactor.entitySearch (domain:SYNTH, type:PRIVATE_LOCATION)LowRead
create_ping_monitorCreate a simple ping monitorsyntheticsCreateSimpleMonitorLowWrite
delete_synthetic_monitorDelete a synthetic monitorsyntheticsDeleteMonitorMedWrite

Dashboards

ToolDescriptionGraphQL OperationRiskImpact
list_dashboardsList all dashboardsactor.entitySearch (domain:DASH, type:DASHBOARD)LowRead
get_dashboardGet full dashboard configuration by GUIDactor.entity (DashboardEntity)LowRead
get_dashboard_dataGet dashboard widget dataactor.entity (DashboardEntity)LowRead
create_dashboardCreate a new dashboarddashboardCreateLowWrite
update_dashboardUpdate an existing dashboarddashboardUpdateLowWrite
delete_dashboardDelete a dashboarddashboardDeleteMedWrite
add_dashboard_widgetAdd a widget to a dashboarddashboardUpdateMedWrite

Logs

ToolDescriptionGraphQL OperationRiskImpact
search_logsSearch logs with Lucene syntaxactor.account.nrql (FROM Log)MedRead
tail_logsStream recent log entriesactor.account.nrql (FROM Log)MedRead

Infrastructure

ToolDescriptionGraphQL OperationRiskImpact
get_infrastructure_metricsGet host/container metricsactor.account.nrql (FROM SystemSample)LowRead

Alert Workflows (aiWorkflows)

ToolDescriptionGraphQL OperationRiskImpact
list_workflowsList alert notification workflowsactor.account.aiWorkflows.workflowsLowRead
get_workflowGet a workflow by IDactor.account.aiWorkflows.workflows (filter)LowRead
create_workflowCreate a new alert workflowaiWorkflowsCreateWorkflowLowWrite
update_workflowUpdate a workflowaiWorkflowsUpdateWorkflowLowWrite
delete_workflowDelete a workflowaiWorkflowsDeleteWorkflowHighWrite

Notification Channels & Destinations (aiNotifications)

ToolDescriptionGraphQL OperationRiskImpact
list_notification_channelsList all notification channelsactor.account.aiNotifications.channelsLowRead
list_destinationsList notification destinationsactor.account.aiNotifications.destinationsLowRead
create_slack_channelCreate a Slack notification channelaiNotificationsCreateChannel (type:SLACK)LowWrite
create_email_channelCreate an email notification channelaiNotificationsCreateChannel (type:EMAIL)LowWrite
delete_notification_channelDelete a notification channelaiNotificationsDeleteChannelHighWrite

Service Levels

ToolDescriptionGraphQL OperationRiskImpact
list_service_levelsList SLIs for an entityactor.entity (... EntityInterfaceWithServiceLevel)LowRead
create_service_levelCreate an SLI with SLOserviceLevelCreateMedWrite
update_service_levelUpdate an SLI's SLO targetserviceLevelUpdateLowWrite

Tag Management (tagging)

ToolDescriptionGraphQL OperationRiskImpact
get_entity_tagsGet all tags for an entityactor.entity.tagsLowRead
add_entity_tagsAdd tags to an entitytaggingAddTagsToEntityLowWrite
remove_entity_tagsRemove tags from an entitytaggingDeleteTagFromEntityMedWrite
replace_entity_tagsReplace all tags on an entitytaggingReplaceTagsOnEntityMedWrite

Entity Operations

ToolDescriptionGraphQL OperationRiskImpact
search_entitiesAdvanced entity searchactor.entitySearch (queryBuilder)LowRead
delete_entityDelete entities by GUIDentityDeleteHighWrite

Cross-Account NRQL

ToolDescriptionGraphQL OperationRiskImpact
cross_account_nrqlRun NRQL across multiple accountsactor.nrql (multi-account)MedRead

Workloads

ToolDescriptionGraphQL OperationRiskImpact
list_workloadsList all workloads for an accountactor.account.workload.workloadsLowRead
get_workloadGet a workload by GUIDactor.entity (WorkloadEntity)LowRead

NerdGraph Reference

All tools access the New Relic NerdGraph API. The following NerdGraph query/mutation names are used:

GraphQL OperationDocumentation
actor.entityEntity
actor.entitySearchEntity Search
actor.account.nrqlNRQL
alertsPolicyCreate / Update / DeleteAlert Policies
alertsNrqlConditionCreateNRQL Alert Conditions
syntheticsCreateSimpleMonitorSynthetic Monitoring
dashboardCreate / Update / DeleteDashboards
aiWorkflowsCreate / Update / DeleteWorkflowWorkflows
aiNotificationsCreateChannel / DeleteChannelNotification Channels
serviceLevelCreate / UpdateService Levels
taggingAddTagsToEntity / DeleteTagFromEntity / ReplaceTagsOnEntityTags
entityDeleteEntity Deletion

Installation

Prerequisites

  • Go 1.22 or later
  • New Relic account with API access

Building from Source

bash
git clone https://github.com/karldane/newrelic-mcp.gitcd newrelic-mcpmake
Build Options
bash
make              # Download deps and build (default)make deps         # Download dependencies onlymake build        # Build binary only (assumes deps exist)make build-all    # Build for Linux, macOS, and Windowsmake test         # Run testsmake clean        # Remove build artifactsmake install      # Install to GOPATH/binmake help         # Show all options

Configuration

Environment Variables

VariableDescriptionRequiredDefault
NEWRELIC_API_KEYNew Relic API key (User or Admin)Yes-
NEWRELIC_REGIONData center region (us or eu)Nous

Obtaining an API Key

  1. Log in to your New Relic account
  2. Go to API Keys in the account settings
  3. Create a User Key (for read-only) or Admin Key (for write operations)
  4. Copy the key and set it as NEWRELIC_API_KEY

Usage

Basic Usage (Read-Only)

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

Enable Write Operations

Write operations require the -write-enabled flag:

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

Write tools are disabled by default. When -write-enabled is set, all mutations (create, update, delete, acknowledge) become available. Each write tool carries an EnforcerProfile with ImpactWrite so MCP Bridge operators can enforce policies independently.

Tools List

Query the full tool list via MCP:

json
{  "tool": "tools/list"}

Safety Features

EnforcerProfile Metadata

Every tool declares its safety profile:

FieldDescriptionValues
RiskLevelPotential impact of misuselow, med, high, critical
ImpactScopeWhat the tool affectsread, write
ResourceCostAPI call weight (1-10)integer
PIIExposureWhether tool returns sensitive datatrue / false
IdempotentWhether retries are safetrue / false

This metadata enables automated policy enforcement by MCP Bridge without hardcoding tool lists.

Risk Classification

  • Low Risk: Read-only queries, log searches, metric retrieval, listing operations
  • Medium Risk: Creating non-destructive resources (alert conditions, service levels, dashboards, channels), acknowledging alerts
  • High Risk: Deleting resources (policies, entities, dashboards, workflows, channels)

Write Protection

Write tools are disabled by default and require:

  1. Valid New Relic API key with appropriate permissions
  2. -write-enabled command-line flag

Examples

Query Application Performance

json
{  "tool": "nrql_query",  "arguments": {    "query": "SELECT average(duration) FROM Transaction WHERE appName = 'MyApp' TIMESERIES SINCE 1 hour ago"  }}

List Active Alerts

json
{  "tool": "get_alert_violations",  "arguments": {}}

Create a Ping Monitor

json
{  "tool": "create_ping_monitor",  "arguments": {    "name": "My Monitor",    "uri": "https://example.com/health",    "locations": "US_EAST_1,US_WEST_1",    "period": "EVERY_5_MINUTES"  }}

Cross-Account NRQL Query

json
{  "tool": "cross_account_nrql",  "arguments": {    "query": "SELECT count(*) FROM Transaction",    "account_ids": "1234567,7654321"  }}

Architecture

The server wraps the New Relic GraphQL client and registers each tool through the MCP Framework. The tools map 1:1 to NerdGraph operations — no REST API calls are made.

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)

Testing

bash
go test ./newrelic -v

Tests cover:

  • Happy path (mock NerdGraph responses)
  • Empty/no-results responses
  • Missing required parameters
  • Write-enabled / write-disabled gating
  • API error responses
  • Unexpected response format

License

This project is licensed under the Functional Source License, Version 1.1, ALv2 Future License.

Copyright 2026 Karl Dane

See LICENSE file for full terms.

References

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

來源:README.md,提交 9202bb9

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.1最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。

其他 Newrelic 整合