loading…
Search for a command to run...
loading…
A comprehensive MCP server providing over 26 tools for querying, monitoring, and analyzing NewRelic data through NRQL queries and entity management. It enables
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.
A comprehensive MCP server for NewRelic with 25 tools for querying, monitoring, and analyzing your observability data — NRQL, entities, alerts, dashboards, logs, and more.
Add to your .mcp.json:
{
"mcpServers": {
"newrelic": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@ruminaider/newrelic-mcp-server"],
"env": {
"NEW_RELIC_API_KEY": "NRAK-XXXXXXXXXXXX",
"NEW_RELIC_ACCOUNT_ID": "1234567"
}
}
}
}
docker build -t newrelic-mcp-server .
{
"mcpServers": {
"newrelic": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "NEW_RELIC_API_KEY", "-e", "NEW_RELIC_ACCOUNT_ID", "-e", "NEW_RELIC_REGION", "newrelic-mcp-server"],
"env": {
"NEW_RELIC_API_KEY": "NRAK-XXXXXXXXXXXX",
"NEW_RELIC_ACCOUNT_ID": "1234567",
"NEW_RELIC_REGION": "US"
}
}
}
}
The server authenticates via a NewRelic User API key (recommended over license keys):
| Variable | Required | Default | Description |
|---|---|---|---|
NEW_RELIC_API_KEY |
Yes | - | User API key (format: NRAK-XXXXXXXXXXXX) |
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) |
API keys are automatically redacted in log output.
All tool responses use compact JSON (no whitespace) to reduce token usage. Tools that build structured response objects include only essential fields — verbose NerdGraph metadata like __typename, permalink, and rawConfiguration is stripped when raw API data is returned.
The server enforces NewRelic's API limits:
| Tool | Description |
|---|---|
execute_nrql_query |
Execute arbitrary NRQL queries with full result parsing |
list_recent_logs |
List recent logs with filtering by time range and entity |
analyze_entity_logs |
Analyze logs for a specific entity with pattern detection |
query_logs |
Search logs by field/value with configurable limits |
natural_language_to_nrql_query |
Get NRQL query suggestions from natural language descriptions |
| Tool | Description |
|---|---|
get_entity |
Get entity details by GUID including summary metrics |
list_related_entities |
Find entities related to a given entity |
search_entity_with_tag |
Search entities by tag key/value pairs |
list_entity_types |
List all available entity types and domains |
list_available_new_relic_accounts |
List accessible NewRelic accounts |
| Tool | Description |
|---|---|
list_alert_policies |
List alert policies with condition counts |
list_alert_conditions |
List NRQL alert conditions for a policy |
list_recent_issues |
List recent AI-detected issues (experimental) |
search_incident |
Search incidents by time range and entity |
analyze_deployment_impact |
Analyze deployment effects on error rates and throughput |
generate_alert_insights_report |
Generate comprehensive alert analysis reports |
get_entity_error_groups |
Get error groups for an entity with occurrence counts |
list_change_events |
List deployment and change tracking events |
| Tool | Description |
|---|---|
get_dashboard |
Get dashboard details including widgets and NRQL queries |
list_dashboards |
List all dashboards with pagination |
list_synthetic_monitors |
List synthetic monitors with status and locations |
| Tool | Description |
|---|---|
analyze_golden_metrics |
Analyze entity golden metrics (throughput, errors, latency) |
analyze_transactions |
Analyze transaction performance with slowest breakdown |
convert_time_period_to_epoch_ms |
Convert human-readable time periods to epoch milliseconds |
| Tool | Description |
|---|---|
convert_time_period_to_epoch_ms |
Convert time descriptions like "last 6 hours" to epoch timestamps |
execute_nrql_query with:
query: "SELECT percentage(count(*), WHERE error IS true) FROM Transaction SINCE 1 hour ago"
analyze_transactions with:
entityGuid: "YOUR_APM_ENTITY_GUID"
sinceMinutesAgo: 60
query_logs with:
field: "level"
value: "ERROR"
limit: 100
natural_language_to_nrql_query with:
description: "Show me error rates by service over the last 6 hours"
pnpm install # install dependencies
pnpm build # compile TypeScript
pnpm test # run tests
pnpm dev # run with tsx (no build needed)
pnpm watch # recompile on change
pnpm lint # lint with Biome
pnpm format # format with Biome
src/
index.ts # Entry point (stdio transport)
server.ts # MCP server creation and tool registration
config.ts # Environment variable parsing and validation
services/
nerdgraph-client.ts # Core GraphQL client with rate limiting and retry
nrql-service.ts # NRQL query execution
log-service.ts # Log querying and analysis
entity-service.ts # Entity retrieval and relationships
alert-service.ts # Alert policies, conditions, and incidents
dashboard-service.ts # Dashboard retrieval and listing
synthetic-service.ts # Synthetic monitor management
performance-service.ts # Transaction and golden metrics analysis
tools/
nrql-tools.ts # NRQL query tools
entity-tools.ts # Entity management tools
alert-tools.ts # Alert and incident tools
incident-tools.ts # Incident search and analysis tools
dashboard-tools.ts # Dashboard tools
log-tools.ts # Log query tools
performance-tools.ts # Performance analysis tools
synthetic-tools.ts # Synthetic monitor tools
account-tools.ts # Account listing tools
utility-tools.ts # Time conversion utilities
types/
newrelic.ts # NewRelic API type definitions
utils/
errors.ts # Custom error types (AuthenticationError, RateLimitError, etc.)
logger.ts # Structured stderr logging with API key redaction
response.ts # Response optimization (field stripping, compact JSON)
retry.ts # Exponential backoff retry with jitter
docker compose build # build image
docker compose run --rm newrelic-mcp # run server
docker compose --profile dev up newrelic-mcp-dev # dev mode with hot reload
Ensure NEW_RELIC_API_KEY and NEW_RELIC_ACCOUNT_ID are set and passed to Docker.
Verify your API key has appropriate permissions. User API keys (NRAK-...) are recommended.
The server automatically retries with backoff. If persistent, reduce query frequency.
These use experimental NerdGraph headers. The server handles this automatically for list_recent_issues and search_incident.
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"newrelic-mcp-server": {
"command": "npx",
"args": []
}
}
}