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 |
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
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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