Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NewRelic MCP ServerShow me the error rate for the production-api over the last hour"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 EUAdd 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)
Tool | Description |
| Execute arbitrary NRQL queries |
| List recent logs with filtering |
| Analyze logs for a specific entity |
| Search logs by field/value |
| Get NRQL query suggestions from natural language |
Entity Management (5 tools)
Tool | Description |
| Get entity details by GUID |
| Find related entities |
| Search entities by tags |
| List available entity types |
| List accessible accounts |
Alerts & Incidents (8 tools)
Tool | Description |
| List alert policies |
| List NRQL alert conditions |
| List recent AI issues |
| Search incidents |
| Analyze deployment effects |
| Generate alert reports |
| Get error groups for entity |
| List deployment/change events |
Dashboards & Synthetics (3 tools)
Tool | Description |
| Get dashboard details |
| List all dashboards |
| List synthetic monitors |
Performance Analysis (4 tools)
Tool | Description |
| Analyze entity golden metrics |
| Analyze transaction performance |
| Analyze entity logs (in Data Access) |
| Time 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: 60Search Logs for Errors
Use query_logs with:
field: "level"
value: "ERROR"
limit: 100Get 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 devDocker 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-devArchitecture
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 Variable | Required | Default | Description |
| Yes | - | NewRelic User API key |
| Yes | - | NewRelic Account ID |
| No |
| API region (US or EU) |
| No |
| Log 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