Skip to main content
Glama
adm-alvin-decruz

New Relic MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NEW_RELIC_REGIONNoNew Relic region (US or EU)US
NEW_RELIC_API_KEYYesNew Relic User API key (starts with NRAK- or NRAA-)
NEW_RELIC_TIMEOUTNoTimeout in seconds for API requests30
NEW_RELIC_ACCOUNT_IDYesYour New Relic account ID

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
query_nrqlA

Execute a NRQL query against New Relic. Common event types: Transaction, TransactionError, Span, Log, Metric, KeyTransaction, ExternalCall, SyntheticCheck, PageView, MobileSession. Tips: Use SINCE X hours/days ago for time ranges (e.g. SINCE 3 hours ago). For high-volume apps, use shorter time windows (1-3 hours) to avoid query timeouts. Use TIMESERIES for trend data over time. Use FACET for grouping results. Prefer uniqueCount() over uniques() for high-cardinality attributes. Use LIMIT to cap result rows (default is 10 for FACET queries). Time range formats: SINCE 1 hour ago, SINCE '2024-01-15 00:00:00', SINCE timestamp.

get_app_performanceC

Get performance metrics for a specific application

get_app_errorsC

Get error metrics for a specific application

get_incidentsC

Get recent incidents from New Relic

get_infrastructure_hostsC

Get infrastructure hosts and their metrics

get_alert_violationsC

Get recent alert violations and incidents

get_deploymentsC

Get deployment markers and their impact

get_dashboardsA

Get New Relic dashboards (max 200 due to API limits). Use search parameter to find specific dashboards efficiently.

create_dashboardA

Create a new New Relic dashboard

add_widget_to_dashboardA

Add a widget to an existing dashboard (requires dashboard GUID and widget configuration).

Use the optional raw_configuration parameter to control advanced chart display settings. When provided, it is sent as rawConfiguration to NerdGraph and takes precedence over the typed configuration. The raw_configuration object should include nrqlQueries plus any display options.

IMPORTANT: nrqlQueries uses accountIds (array) not accountId (scalar): "nrqlQueries": [{"accountIds": [123456], "query": "SELECT ..."}] This is auto-populated from widget_query if omitted.

Fixed Y-Axis Range (left axis): {"yAxisLeft": {"min": 0, "max": 500, "zero": false}}

Dual Y-Axis (second axis on right): IMPORTANT: dual y-axis requires the COMPLETE rawConfiguration (not just yAxisRight). NR automatically appends an aggregation suffix to series names: percentile() → " (99%)", average() → no suffix. The alias in the query should NOT include the suffix — NR adds it. Use the rendered name in series[].name. Example — query alias is 'My Series', NR renders it as 'My Series (99%)' for percentile():

{
  "nrqlQueries": [{"accountIds": [123456], "query": "SELECT count(*) AS 'Left', percentile(duration, 99) AS 'My Series' FROM ... TIMESERIES"}],
  "chartStyles": {"lineInterpolation": "linear"},
  "facet": {"showOtherSeries": false},
  "legend": {"enabled": true},
  "markers": {"displayedTypes": {"criticalViolations": false, "deployments": true, "relatedDeployments": true, "warningViolations": false}},
  "platformOptions": {"ignoreTimeRange": false},
  "thresholds": {"isLabelVisible": true},
  "yAxisLeft": {"zero": true},
  "yAxisRight": {"zero": true, "series": [{"name": "My Series (99%)"}]}
}

Hide Legend: {"legend": {"enabled": false}}

Facet - show/hide Other series: {"facet": {"showOtherSeries": true}}

Ignore dashboard time picker: {"platformOptions": {"ignoreTimeRange": true}}

Threshold label visibility (shows/hides threshold labels on chart): {"thresholds": {"isLabelVisible": true}}

Chart line style: {"chartStyles": {"lineInterpolation": "linear"}} (or "step", "smooth")

Deployment markers: {"markers": {"displayedTypes": {"deployments": true, "relatedDeployments": true, "criticalViolations": false, "warningViolations": false}}}

Combined example (fixed range + no legend):

{
  "nrqlQueries": [{"accountIds": [123456], "query": "SELECT count(*) FROM Log TIMESERIES"}],
  "yAxisLeft": {"min": 0, "max": 1000, "zero": true},
  "legend": {"enabled": false}
}

Note: logarithmic scale is not supported by New Relic for line/area charts.

search_all_dashboardsA

Search through dashboards with local filtering (retrieves max 200 from API, then searches locally). Better for complex searches.

get_dashboard_widgetsA

Get all widgets from a dashboard with their details and IDs

update_widgetA

Update an existing widget on a dashboard.

Use the optional raw_configuration parameter to control advanced chart display settings. When provided, it is sent as rawConfiguration to NerdGraph and takes precedence over the typed configuration. The raw_configuration object should include nrqlQueries plus any display options.

IMPORTANT: nrqlQueries uses accountIds (array) not accountId (scalar): "nrqlQueries": [{"accountIds": [123456], "query": "SELECT ..."}] This is auto-populated from widget_query if omitted.

Fixed Y-Axis Range (left axis): {"yAxisLeft": {"min": 0, "max": 500, "zero": false}}

Dual Y-Axis (second axis on right): IMPORTANT: requires the COMPLETE rawConfiguration. NR appends aggregation suffix to series names automatically (percentile() → " (99%)", average() → no suffix). Query alias should NOT include the suffix. See add_widget_to_dashboard for the full dual y-axis example.

Hide Legend: {"legend": {"enabled": false}}

Facet - show/hide Other series: {"facet": {"showOtherSeries": true}}

Ignore dashboard time picker: {"platformOptions": {"ignoreTimeRange": true}}

Threshold label visibility: {"thresholds": {"isLabelVisible": true}}

Chart line style: {"chartStyles": {"lineInterpolation": "linear"}} (or "step", "smooth")

Note: logarithmic scale is not supported by New Relic for line/area charts.

delete_widgetB

Delete a widget from a dashboard

delete_dashboardB

Delete a dashboard by GUID

create_alert_policyC

Create a new alert policy

create_nrql_conditionB

Create a NRQL alert condition

create_notification_destinationC

Create a notification destination (email, webhook, Slack, etc.)

create_notification_channelB

Create a notification channel linked to a destination

create_workflowC

Create a workflow to connect alert policies to notification channels

update_alert_policyB

Update an existing alert policy (name and/or incident preference)

delete_alert_policyB

Delete an alert policy by ID

update_nrql_conditionA

Update an existing NRQL alert condition

delete_nrql_conditionA

Delete a NRQL alert condition by ID

delete_notification_destinationA

Delete a notification destination by ID

delete_workflowB

Delete a workflow by ID

create_muting_ruleA

Create a muting rule to suppress alert notifications during scheduled windows. Use conditions to match specific policies, condition names, or entity attributes. Use schedule for recurring windows (DAILY, WEEKLY). Condition attributes: policyId, policyName, conditionId, conditionName, entity.name, entity.type.

list_muting_rulesA

List all muting rules in the account with their conditions and schedules

delete_muting_ruleB

Delete a muting rule by ID

list_alert_policiesA

List all alert policies in the account

list_alert_conditionsB

List alert conditions with optional filters by policy, name, or NRQL query

list_notification_destinationsB

List all notification destinations

list_notification_channelsB

List all notification channels

list_workflowsA

List all alert workflows

entity_searchA

Search for New Relic entities (APM apps, hosts, synthetic monitors, browsers, etc.) by name, type, domain, or tags. Returns GUIDs, alert severity, and metadata. Use domain values: APM, INFRA, SYNTH, BROWSER, MOBILE, EXT. Use type values: APPLICATION, HOST, MONITOR, KEY_TRANSACTION, etc. Use minimal_output=true to reduce response size (omits tags and type-specific fields). Use limit to cap results (default 25, max 200).

decode_entity_guidA

Decode a New Relic entity GUID (base64-encoded) to reveal its components: account ID, domain (APM, EXT, INFRA, etc.), entity type (APPLICATION, KEY_TRANSACTION, HOST, etc.), and domain ID. Useful for understanding what an entity GUID refers to without making an API call.

get_entityA

Look up a single New Relic entity by its GUID. Returns full details including name, type, domain, alert severity, account info, tags, permalink, and type-specific metadata (language for APM apps, monitor type for synthetics, host metrics for infra). Use entity_search to find GUIDs, or decode_entity_guid to inspect a GUID without an API call.

get_entity_tagsA

Get all tags for a New Relic entity by its GUID. Use entity_search to find GUIDs.

add_tags_to_entityB

Add or update tags on a New Relic entity. Tags are key-value pairs.

replace_tags_on_entityA

Replace ALL tags on a New Relic entity (overwrites existing tags). Use add_tags_to_entity to append instead.

delete_tags_from_entityA

Delete tag keys (and all their values) from a New Relic entity.

delete_tag_valuesA

Delete specific tag key-value pairs from an entity (keeps the key if other values remain).

list_service_levelsA

List all Service Level Indicators (SLIs/SLOs) for the account. Shows objectives, target percentages, time windows, and the NRQL queries used to measure good/valid events.

list_synthetic_monitorsA

List all synthetic monitors with their current status, success rate, monitor type (simple, scripted browser, API test, etc.), check period, and location health.

get_synthetic_resultsA

Get recent check results for a specific synthetic monitor. Shows pass/fail per location, duration, and error messages. Use list_synthetic_monitors to find monitor GUIDs.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
New Relic ApplicationsList of applications monitored by New Relic
Recent IncidentsRecent incidents from New Relic
New Relic DashboardsList of available dashboards
Alert PoliciesList of alert policies and their configurations
Alert ConditionsList of all alert conditions across policies
Alert WorkflowsList of alert workflows and notification configurations

TDQS

B3.2/5.0

Scored across 45 tools

Disambiguation3/5

Most tools target distinct resource-action pairs, but get_incidents and get_alert_violations clearly overlap (the latter explicitly includes incidents), and get_dashboards vs search_all_dashboards have murky boundaries since both retrieve the same 200-dashboard limit and both support searching. The descriptions do not effectively differentiate these pairs.

Naming Consistency4/5

The vast majority follow a clean verb_noun convention: get_*, list_*, create_*, update_*, delete_*. Minor deviations exist such as entity_search vs search_all_dashboards (noun-first vs verb-first) and decode_entity_guid, but the overall pattern is predictable and readable.

Tool Count2/5

45 tools is well into the overcrowded range, especially for a single platform. The surface includes roughly 13 alerting tools, 9 dashboard tools, and 6 entity-tag tools, indicating sub-domains that could be consolidated without losing capability.

Completeness3/5

Dashboards, alert policies, NRQL conditions, and entity tags have solid CRUD coverage, and query_nrql acts as a powerful escape hatch. However, notification destinations/channels, workflows, and muting rules all lack update operations, and synthetics and SLOs are read-only, leaving agents with delete-and-recreate workarounds and asymmetric capabilities.

Maintenance

ActivityInactive
ResponsivenessNo issues