NewRelic MCP Server
A comprehensive MCP server providing over 26 tools for querying, monitoring, and analyzing NewRelic data through NRQL queries and entity management. It enables interaction with NewRelic's NerdGraph API for managing alerts, logs, and incidents directly within Claude Code sessions.
README
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)
| Tool | Description |
|---|---|
execute_nrql_query |
Execute arbitrary NRQL queries |
list_recent_logs |
List recent logs with filtering |
analyze_entity_logs |
Analyze logs for a specific entity |
query_logs |
Search logs by field/value |
natural_language_to_nrql_query |
Get NRQL query suggestions from natural language |
Entity Management (5 tools)
| Tool | Description |
|---|---|
get_entity |
Get entity details by GUID |
list_related_entities |
Find related entities |
search_entity_with_tag |
Search entities by tags |
list_entity_types |
List available entity types |
list_available_new_relic_accounts |
List accessible accounts |
Alerts & Incidents (8 tools)
| Tool | Description |
|---|---|
list_alert_policies |
List alert policies |
list_alert_conditions |
List NRQL alert conditions |
list_recent_issues |
List recent AI issues |
search_incident |
Search incidents |
analyze_deployment_impact |
Analyze deployment effects |
generate_alert_insights_report |
Generate alert reports |
get_entity_error_groups |
Get error groups for entity |
list_change_events |
List deployment/change events |
Dashboards & Synthetics (3 tools)
| Tool | Description |
|---|---|
get_dashboard |
Get dashboard details |
list_dashboards |
List all dashboards |
list_synthetic_monitors |
List synthetic monitors |
Performance Analysis (4 tools)
| Tool | Description |
|---|---|
analyze_golden_metrics |
Analyze entity golden metrics |
analyze_transactions |
Analyze transaction performance |
analyze_entity_logs |
Analyze entity logs (in Data Access) |
convert_time_period_to_epoch_ms |
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: 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 Variable | Required | Default | Description |
|---|---|---|---|
NEW_RELIC_API_KEY |
Yes | - | NewRelic User API key |
NEW_RELIC_ACCOUNT_ID |
Yes | - | NewRelic Account ID |
NEW_RELIC_REGION |
No | US |
API region (US or EU) |
LOG_LEVEL |
No | info |
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.