New Relic MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NEW_RELIC_REGION | No | Region: US (default) or EU | US |
| NEW_RELIC_API_KEY | Yes | Your New Relic User API key (starts with NRAK- or NRAA-) | |
| NEW_RELIC_TIMEOUT | No | HTTP request timeout in seconds (default 30) | 30 |
| NEW_RELIC_ACCOUNT_ID | Yes | Your New Relic account ID |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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_performanceB | 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_deploymentsB | 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_dashboardB | Create a new New Relic dashboard |
| update_dashboardA | Rename a dashboard and/or update its description by GUID. Pages and widgets are preserved unchanged. |
| add_widget_to_dashboardA | Add a widget to an existing dashboard (requires dashboard GUID and widget configuration). Use the optional IMPORTANT: Fixed Y-Axis Range (left axis):
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(): Hide Legend:
Facet - show/hide Other series:
Ignore dashboard time picker:
Threshold label visibility (shows/hides threshold labels on chart):
Chart line style:
Deployment markers:
Combined example (fixed range + no legend): Note: logarithmic scale is not supported by New Relic for line/area charts. Placement ( |
| get_dashboard_widgetsC | Get all widgets from a dashboard with their details and IDs |
| update_widgetA | Update an existing widget on a dashboard. Use the optional Update-specific notes:
|
| delete_widgetA | Delete a widget from a dashboard |
| delete_dashboardB | Delete a dashboard by GUID |
| create_alert_policyC | Create a new alert policy |
| create_nrql_conditionC | Create a NRQL alert condition |
| create_notification_destinationC | Create a notification destination (email, webhook, Slack, etc.) |
| create_notification_channelC | Create a notification channel linked to a destination |
| create_workflowA | 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_policyC | Delete an alert policy by ID |
| update_nrql_conditionB | Update an existing NRQL alert condition |
| delete_nrql_conditionA | Delete a NRQL alert condition by ID |
| delete_notification_destinationB | Delete a notification destination by ID |
| delete_notification_channelB | Delete a notification channel by ID |
| update_workflowA | Update an existing workflow. Only the provided fields are changed. Use destination_configurations to replace the notification channels and issues_filter to replace the filter. |
| delete_workflowC | 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. |
| update_muting_ruleA | Update an existing muting rule. Only the provided fields are changed; condition and schedule shapes match create_muting_rule. |
| list_muting_rulesA | List all muting rules in the account with their conditions and schedules |
| delete_muting_ruleA | Delete a muting rule by ID |
| list_alert_policiesA | List all alert policies in the account |
| list_alert_conditionsA | List alert conditions with optional filters by policy, name, or NRQL query |
| list_notification_destinationsB | List all notification destinations |
| list_notification_channelsA | List all notification channels |
| list_workflowsB | 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. |
| get_service_levelA | Get the full definitions (valid/good/bad event queries, SLI functions, objectives, time windows) of the Service Level Indicators attached to an entity. Accepts the GUID of the instrumented entity or of a SERVICE_LEVEL entity itself. |
| create_service_levelA | Create a Service Level Indicator on an entity. For SLIs over OTEL distribution metrics (FROM Metric), never use function COUNT (it counts pre-aggregated data points, not requests): use GET_FIELD for availability and GET_CDF_COUNT with a threshold for latency. |
| update_service_levelA | Update a Service Level Indicator (name, description, event queries, objectives) by its SERVICE_LEVEL entity GUID. Note: changing the SLI function on an existing SLI may not reset the engine's computation pipeline; if numbers stay wrong after an update, delete and recreate the SLI. |
| delete_service_levelA | Delete a Service Level Indicator by its SERVICE_LEVEL entity GUID. Requires the events-to-metrics delete capability on the account. |
| list_synthetic_monitorsB | 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| New Relic Applications | List of applications monitored by New Relic |
| Recent Incidents | Recent incidents from New Relic |
| New Relic Dashboards | List of available dashboards |
| Alert Policies | List of alert policies and their configurations |
| Alert Conditions | List of all alert conditions across policies |
| Alert Workflows | List of alert workflows and notification configurations |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/thrashy/mcp-newrelic'
If you have feedback or need assistance with the MCP directory API, please join our Discord server