Skip to main content

New Relic MCP Server

MCP server that executes NRQL queries against New Relic via the NerdGraph GraphQL API.

Tools

  • execute_nrql — Run an NRQL query against a single New Relic account. Parameters: query (required), account_id (optional if NEW_RELIC_ACCOUNT_ID is set), timeout_seconds (optional, 1–70).

Requirements

  • Python 3.10+
  • uv (recommended) or pip
  • A New Relic user API key with NerdGraph access

Environment variables

Variable Required Description
NEW_RELIC_API_KEY Yes New Relic user API key for NerdGraph. Create at one.newrelic.com.
NEW_RELIC_REGION No us (default) or eu for NerdGraph endpoint.
NEW_RELIC_ACCOUNT_ID No Default account ID when not passed to execute_nrql.

Copy .env.example to .env and set NEW_RELIC_API_KEY (and optionally the others).

Install

The recommended way is via uvx — no separate install step needed:

{
  "mcpServers": {
    "newrelic": {
      "command": "uvx",
      "args": ["newrelic-mcp"],
      "env": {
        "NEW_RELIC_API_KEY": "YOUR_API_KEY",
        "NEW_RELIC_REGION": "us",
        "NEW_RELIC_ACCOUNT_ID": "YOUR_ACCOUNT_ID"
      }
    }
  }
}

uvx fetches and runs the package from PyPI automatically.

Or install explicitly with pip:

pip install newrelic-mcp

Claude Code setup

Run this command to register the server (one-time setup):

claude mcp add newrelic --env NEW_RELIC_API_KEY=YOUR_API_KEY --env NEW_RELIC_REGION=us -- uvx newrelic-mcp

Or add it manually to your Claude Code MCP config (~/.claude/settings.json or project .claude/settings.json):

{
  "mcpServers": {
    "newrelic": {
      "command": "uvx",
      "args": ["newrelic-mcp"],
      "env": {
        "NEW_RELIC_API_KEY": "YOUR_API_KEY",
        "NEW_RELIC_REGION": "us"
      }
    }
  }
}

Cursor setup

Edit ~/.cursor/mcp.json (global) or .cursor/mcp.json (project-level) and add:

{
  "mcpServers": {
    "newrelic": {
      "command": "uvx",
      "args": ["newrelic-mcp"],
      "env": {
        "NEW_RELIC_API_KEY": "YOUR_API_KEY",
        "NEW_RELIC_REGION": "us",
        "NEW_RELIC_ACCOUNT_ID": "YOUR_ACCOUNT_ID"
      }
    }
  }
}

Then restart Cursor. Alternatively, use the UI: Cursor Settings → Features → MCP → add a new server with command uvx, arg newrelic-mcp, and the env vars above.

Codex CLI setup

Edit ~/.codex/config.yaml and add:

mcpServers:
  newrelic:
    type: stdio
    command: uvx
    args:
      - newrelic-mcp
    env:
      NEW_RELIC_API_KEY: "YOUR_API_KEY"
      NEW_RELIC_REGION: "us"
      NEW_RELIC_ACCOUNT_ID: "YOUR_ACCOUNT_ID"

Then restart Codex. For project-level config, add the same block to codex.yaml in your project root.

Local development

From the project root:

uv sync
uv run main.py

For debugging with HTTP transport:

MCP_TRANSPORT=http uv run main.py

Then connect to http://localhost:8000/mcp with the MCP Inspector.

Do not commit .env or any file containing your API key.

Example prompts

Use these in Cursor (or any MCP client) to run NRQL via the New Relic MCP server:

  • Run a simple query:
    "Run this NRQL: SELECT count(*) FROM Transaction SINCE 1 HOUR AGO"

  • Query by account:
    "Execute SELECT average(duration) FROM Transaction FACET name SINCE 1 day ago for account ID 1234567"

  • By Adobe Commerce project:
    "Query New Relic for project abc123: show me transaction errors in the last 24 hours"
    "Get the last 100 logs for project xyz789"
    "List Redis samples for project my-project in the last hour"

  • Explore an entity:
    "What attributes are available on the Log entity? Run a discovery query."
    "Show me one Transaction row so I can see the fields"

  • Aggregations and facets:
    "Count transactions per app name in the last 6 hours"
    "Average response time by transaction name for the last day"

  • Time range:
    "Run: SELECT * FROM Log WHERE message IS NOT NULL SINCE 2 days ago LIMIT 50"

Set NEW_RELIC_ACCOUNT_ID in the MCP config (or pass it in the prompt) when you are not using an Adobe Commerce project ID; the agent can resolve project ID → account ID when needed.

NRQL and rate limits

  • Queries must be valid NRQL (e.g. SELECT count(*) FROM Transaction SINCE 1 HOUR AGO).
  • New Relic enforces NRQL rate limits. This server does not retry; failed requests surface as tool errors.

License

MIT

Metadata

Release files for newrelic-mcp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for newrelic-mcp 0.1.1
File Size Uploaded Provenance
newrelic_mcp-0.1.1.tar.gz 51.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for newrelic-mcp 0.1.1
File Interpreter ABI Platform
newrelic_mcp-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 57.5 kB

Release files / newrelic_mcp-0.1.1.tar.gz

Download URL newrelic_mcp-0.1.1.tar.gz
Size 51.3 kB
Tags Source
SHA-256 checksum
How to use checksums
41d95f90d8a2022079b7502cea3ff79c0025b91434a1f9cde3e58b7b992592f3
BLAKE2b-256 checksum
How to use checksums
e868b4f06f38a8fdb6277c2ff6b8d1bd714261ac8f5f6ca9dc8183b22f22aafb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / newrelic_mcp-0.1.1-py3-none-any.whl

Download URL newrelic_mcp-0.1.1-py3-none-any.whl
Size 6.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
981d8a18b667644cf1dcf47b4330c2aa3ee2108ee13dd9c99a334e5991eda323
BLAKE2b-256 checksum
How to use checksums
46acae3cd7e63c75a33e0350e8be8d38ac78e9b2fe9ac5321985c149bbfe745e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for newrelic-mcp 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page