MCP Hub
Back to servers

newrelic-mcp-server

New Relic MCP Server - Model Context Protocol server for New Relic observability

glama
Updated
Jan 27, 2026

NewRelic MCP Server

A full-featured Model Context Protocol (MCP) server for NewRelic, providing 26+ tools for querying, monitoring, and analyzing NewRelic data from Claude Code sessions.

Features

  • 26+ Tools covering all major NewRelic capabilities
  • Stdio Transport for reliable multi-session support via Docker
  • Rate Limiting with exponential backoff (25 concurrent requests)
  • Full NerdGraph API coverage including experimental aiIssues endpoints
  • Production Ready with comprehensive error handling and logging

Quick Start

Prerequisites

  • Docker Desktop running
  • NewRelic User API key
  • NewRelic Account ID

Build the Image

docker build -t newrelic-mcp:local .

Configure Environment

Create a .env file (or export these variables):

export NEW_RELIC_API_KEY="NRAK-XXXXXXXXXXXX"
export NEW_RELIC_ACCOUNT_ID="1234567"
export NEW_RELIC_REGION="US"  # or EU

Add to Claude Code

Add to your .mcp.json:

{
  "mcpServers": {
    "newrelic": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "NEW_RELIC_API_KEY",
        "-e", "NEW_RELIC_ACCOUNT_ID",
        "-e", "NEW_RELIC_REGION",
        "newrelic-mcp:local"
      ],
      "env": {
        "NEW_RELIC_API_KEY": "${NEW_RELIC_API_KEY}",
        "NEW_RELIC_ACCOUNT_ID": "${NEW_RELIC_ACCOUNT_ID}",
        "NEW_RELIC_REGION": "US"
      }
    }
  }
}

Available Tools

Data Access (5 tools)

ToolDescription
execute_nrql_queryExecute arbitrary NRQL queries
list_recent_logsList recent logs with filtering
analyze_entity_logsAnalyze logs for a specific entity
query_logsSearch logs by field/value
natural_language_to_nrql_queryGet NRQL query suggestions from natural language

Entity Management (5 tools)

ToolDescription
get_entityGet entity details by GUID
list_related_entitiesFind related entities
search_entity_with_tagSearch entities by tags
list_entity_typesList available entity types
list_available_new_relic_accountsList accessible accounts

Alerts & Incidents (8 tools)

ToolDescription
list_alert_policiesList alert policies
list_alert_conditionsList NRQL alert conditions
list_recent_issuesList recent AI issues
search_incidentSearch incidents
analyze_deployment_impactAnalyze deployment effects
generate_alert_insights_reportGenerate alert reports
get_entity_error_groupsGet error groups for entity
list_change_eventsList deployment/change events

Dashboards & Synthetics (3 tools)

ToolDescription
get_dashboardGet dashboard details
list_dashboardsList all dashboards
list_synthetic_monitorsList synthetic monitors

Performance Analysis (4 tools)

ToolDescription
analyze_golden_metricsAnalyze entity golden metrics
analyze_transactionsAnalyze transaction performance
analyze_entity_logsAnalyze entity logs (in Data Access)
convert_time_period_to_epoch_msTime period utility

Example Usage

Query Error Rates

Use execute_nrql_query with:
query: "SELECT percentage(count(*), WHERE error IS true) FROM Transaction SINCE 1 hour ago"

Find Slow Transactions

Use analyze_transactions with:
entityGuid: "YOUR_APM_ENTITY_GUID"
sinceMinutesAgo: 60

Search Logs for Errors

Use query_logs with:
field: "level"
value: "ERROR"
limit: 100

Get Help Writing NRQL

Use natural_language_to_nrql_query with:
description: "Show me error rates by service over the last 6 hours"

Development

Local Development

# Install dependencies
npm install

# Type check
npx tsc --noEmit

# Run tests
npm test

# Build
npm run build

# Run locally (requires env vars)
npm run dev

Docker Development

# Build and run
docker compose build
docker compose run --rm newrelic-mcp

# Development mode with hot reload
docker compose --profile dev up newrelic-mcp-dev

Architecture

src/
├── index.ts          # Entry point
├── server.ts         # MCP server setup
├── config.ts         # Environment configuration
├── services/         # NerdGraph API services
│   ├── nerdgraph-client.ts
│   ├── entity-service.ts
│   ├── alert-service.ts
│   ├── nrql-service.ts
│   └── ...
├── tools/            # MCP tool definitions
│   ├── nrql-tools.ts
│   ├── entity-tools.ts
│   ├── alert-tools.ts
│   └── ...
├── types/            # TypeScript types
└── utils/            # Utilities (logger, retry, errors)

Configuration

Environment VariableRequiredDefaultDescription
NEW_RELIC_API_KEYYes-NewRelic User API key
NEW_RELIC_ACCOUNT_IDYes-NewRelic Account ID
NEW_RELIC_REGIONNoUSAPI region (US or EU)
LOG_LEVELNoinfoLog level (debug/info/warn/error)

Rate Limiting

The server implements NewRelic's rate limits:

  • 25 concurrent requests per user
  • Exponential backoff on 429 responses
  • Automatic retry for rate limit and network errors

Troubleshooting

"Missing required environment variables"

Ensure NEW_RELIC_API_KEY and NEW_RELIC_ACCOUNT_ID are set and passed to Docker.

"Authentication failed"

Verify your API key has appropriate permissions. User API keys are recommended over license keys.

"Rate limit exceeded"

The server automatically retries. If persistent, reduce query frequency.

aiIssues endpoints failing

These require experimental headers. The server handles this automatically for list_recent_issues and search_incident.

License

MIT

Reviews

No reviews yet

Sign in to write a review