Skip to main content
Glama
vickykr26941

newrelic-mcp-server

by vickykr26941

New Relic MCP Server

A Model Context Protocol (MCP) server that provides New Relic observability tools for integration with Cursor and other MCP-compatible AI assistants.

Features

This MCP server provides comprehensive New Relic tools organized into the following categories:

Discovery (Entity and Account Management)

  • convert_time_period_to_epoch_ms - Convert time periods to epoch milliseconds

  • get_entity - Fetch entities by GUID or search by name

  • list_related_entities - List related entities (1 hop away)

  • list_available_new_relic_accounts - List all available accounts

  • list_dashboards - List dashboards for an account

  • get_dashboard - Get dashboard details

  • list_entity_types - List all entity types

  • search_entity_with_tag - Search entities by tag

Data Access

  • execute_nrql_query - Execute NRQL queries against NRDB

  • natural_language_to_nrql_query - Convert natural language to NRQL and execute

Alerting

  • list_alert_conditions - List alert conditions for a policy

  • search_incident - Search alert incidents

  • list_alert_policies - List alert policies

  • list_recent_issues - List open issues

  • list_synthetic_monitors - List synthetic monitors

Incident Response

  • analyze_deployment_impact - Analyze deployment performance impact

  • generate_alert_insights_report - Generate alert analysis report

  • generate_user_impact_report - Generate user impact report

  • get_entity_error_groups - Get error groups from Errors Inbox

  • list_change_events - List deployment and config changes

Performance Analytics

  • analyze_entity_logs - Analyze logs for patterns and anomalies

  • analyze_golden_metrics - Analyze throughput, response time, error rate

  • analyze_kafka_metrics - Analyze Kafka consumer lag, throughput

  • analyze_threads - Analyze JVM thread metrics

  • analyze_transactions - Identify slow and error-prone transactions

  • list_garbage_collection_metrics - Get GC and memory metrics

  • list_recent_logs - List recent log entries

Advanced Analysis

  • comprehensive_entity_analysis - Full entity health analysis

  • correlate_metrics_and_events - Correlate metrics with events

  • analyze_service_dependencies - Analyze service dependencies

  • generate_slo_report - Generate SLO compliance report

Prerequisites

  • Python 3.10+ (required by MCP SDK)

  • New Relic account with API access

  • New Relic User API Key

Installation

  1. Clone the repository:

    cd /Users/vickykumar/projects/newrelic-mcp
  2. Create and activate a virtual environment (Python 3.10+ required):

    python3.11 -m venv venv  # or python3.10, python3.12, etc.
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Configure environment variables:

    cp env.example .env

    Edit .env and set your New Relic credentials:

    NEW_RELIC_API_KEY=NRAK-your-api-key-here
    NEW_RELIC_ACCOUNT_ID=your-account-id

Getting Your New Relic API Key

  1. Go to New Relic API Keys

  2. Click "Create a key"

  3. Select "User" as the key type

  4. Give it a name (e.g., "MCP Server")

  5. Copy the key (starts with NRAK-)

Usage with Cursor

  1. Open Cursor Settings (⌘/Ctrl + ,)

  2. Search for "MCP" or navigate to Features → MCP Servers

  3. Click "Add MCP Server" or edit your ~/.cursor/mcp.json

  4. Add the following configuration:

{
  "mcpServers": {
    "newrelic": {
      "command": "/Users/vickykumar/projects/newrelic-mcp/venv/bin/python",
      "args": ["/Users/vickykumar/projects/newrelic-mcp/server.py"],
      "env": {
        "NEW_RELIC_API_KEY": "NRAK-your-api-key",
        "NEW_RELIC_ACCOUNT_ID": "your-account-id",
        "NEW_RELIC_REGION": "US"
      }
    }
  }
}

Note: Update the paths if your project is located elsewhere.

Option 2: Using the startup script

Create a wrapper script for easier configuration:

#!/bin/bash
# save as: run-newrelic-mcp.sh

export NEW_RELIC_API_KEY="NRAK-your-api-key"
export NEW_RELIC_ACCOUNT_ID="your-account-id"

cd /Users/vickykumar/projects/newrelic-mcp
./venv/bin/python server.py

Then configure Cursor to use this script:

{
  "mcpServers": {
    "newrelic": {
      "command": "/Users/vickykumar/projects/newrelic-mcp/run-newrelic-mcp.sh",
      "args": []
    }
  }
}

Example Queries in Cursor

Once configured, you can ask the AI assistant to:

Discovery

  • "List all my New Relic accounts"

  • "Find all APM applications with the tag environment=production"

  • "Show me the entities related to my payment service"

Data Access

  • "Execute this NRQL query: SELECT count(*) FROM Transaction SINCE 1 hour ago"

  • "Show me errors from the last 30 minutes"

  • "What's the throughput trend for my API?"

Alerting

  • "List all open incidents"

  • "Show me alert policies for my account"

  • "What synthetic monitors are failing?"

Incident Response

  • "Analyze the impact of the last deployment on my checkout service"

  • "Generate an alert insights report for issue ID xyz123"

  • "What error groups are affecting my service?"

Performance Analytics

  • "Analyze the golden metrics for entity ABC123"

  • "Show me slow transactions in my payment service"

  • "What are the error patterns in my application logs?"

Advanced Analysis

  • "Run a comprehensive health analysis on my API service"

  • "Generate an SLO report for my checkout service with 99.9% target"

  • "Correlate metrics with recent deployments"

Testing the Server

You can test the server manually:

# Activate virtual environment
source venv/bin/activate

# Set environment variables
export NEW_RELIC_API_KEY="NRAK-your-key"
export NEW_RELIC_ACCOUNT_ID="your-account-id"

# Run the server (it will wait for MCP protocol messages on stdin)
python server.py

Troubleshooting

Server not starting

  • Check that Python 3.9+ is installed

  • Verify the virtual environment is activated

  • Ensure all dependencies are installed

Authentication errors

  • Verify your API key is correct and starts with NRAK-

  • Check that the account ID is correct

  • Ensure the API key has the necessary permissions

No data returned

  • Verify the entity GUID is correct

  • Check the time window (some queries default to 60 minutes)

  • Ensure your account has data for the requested time period

Cursor not finding the server

  • Check the path in your MCP configuration

  • Ensure the server script is executable

  • Look at Cursor logs for MCP-related errors

Environment Variables

Variable

Required

Default

Description

NEW_RELIC_API_KEY

Yes

-

Your New Relic User API Key

NEW_RELIC_ACCOUNT_ID

Yes

-

Default New Relic Account ID

NEW_RELIC_REGION

No

US

Region: US or EU

MAX_LOOKBACK_MINUTES

No

10080

Max lookback period (7 days)

MAX_RESULT_LIMIT

No

2000

Max results per query

DEFAULT_LIMIT

No

100

Default result limit

Architecture

newrelic-mcp/
├── server.py              # Main MCP server entry point
├── requirements.txt       # Python dependencies
├── .env                   # Environment configuration
├── .env.example          # Example configuration
└── app/
    ├── __init__.py
    ├── config.py          # Configuration management
    ├── nr_client.py       # New Relic GraphQL client
    └── tools/
        ├── __init__.py
        ├── discovery.py       # Entity/account tools
        ├── data_access.py     # NRQL query tools
        ├── alerting.py        # Alert/incident tools
        ├── incident_response.py   # Incident analysis
        ├── performance_analytics.py  # Performance tools
        └── advanced_analysis.py   # Advanced analysis

License

MIT License - See LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Latest Blog Posts

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/vickykr26941/newrelic-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server