npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

newrelic-mcp

v2.0.0

Published

Model Context Protocol server for New Relic observability platform integration

Readme

New Relic MCP Server

A Model Context Protocol (MCP) server that provides seamless integration with New Relic's observability platform. Query metrics, manage alerts, monitor applications, and interact with your entire observability stack through a simple, unified interface.

Disclaimer: This is an unofficial community project and is not affiliated with, endorsed by, or supported by New Relic, Inc. All trademarks are the property of their respective owners.

Features

  • 📊 NRQL Queries - Execute powerful queries to analyze your data
  • 🚀 APM Integration - Monitor application performance and health
  • 🔔 Alert Management - View and acknowledge alerts and incidents
  • 🔍 Entity Search - Discover and inspect entities across your infrastructure
  • 📈 Synthetics Monitoring - Manage synthetic monitors and checks
  • 🔧 NerdGraph API - Direct access to New Relic's GraphQL API

Installation

Quick Install with Smithery

To install New Relic MCP for Claude Desktop automatically via Smithery:

npx @smithery/cli install newrelic-mcp --client claude

Manual Installation

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "newrelic": {
      "command": "npx",
      "args": [
        "-y",
        "newrelic-mcp"
      ],
      "env": {
        "NEW_RELIC_API_KEY": "your-api-key-here",
        "NEW_RELIC_ACCOUNT_ID": "your-account-id"
      }
    }
  }
}

Add to your Cline settings in VS Code:

{
  "cline.mcpServers": [
    {
      "name": "newrelic",
      "command": "npx",
      "args": ["-y", "newrelic-mcp"],
      "env": {
        "NEW_RELIC_API_KEY": "your-api-key-here",
        "NEW_RELIC_ACCOUNT_ID": "your-account-id"
      }
    }
  ]
}

Add to your Zed configuration file at ~/.config/zed/settings.json:

{
  "language_models": {
    "mcp": {
      "servers": {
        "newrelic": {
          "command": "npx",
          "args": ["-y", "newrelic-mcp"],
          "env": {
            "NEW_RELIC_API_KEY": "your-api-key-here",
            "NEW_RELIC_ACCOUNT_ID": "your-account-id"
          }
        }
      }
    }
  }
}

Add to your Windsurf Cascade configuration:

{
  "mcpServers": {
    "newrelic": {
      "command": "npx",
      "args": ["-y", "newrelic-mcp"],
      "env": {
        "NEW_RELIC_API_KEY": "your-api-key-here",
        "NEW_RELIC_ACCOUNT_ID": "your-account-id"
      }
    }
  }
}
  1. Clone the repository:
git clone https://github.com/cloudbring/newrelic-mcp.git
cd newrelic-mcp
  1. Install dependencies and build:
npm install
npm run build
  1. Add to your MCP client configuration:
{
  "mcpServers": {
    "newrelic": {
      "command": "node",
      "args": ["/path/to/newrelic-mcp/dist/server.js"],
      "env": {
        "NEW_RELIC_API_KEY": "your-api-key-here",
        "NEW_RELIC_ACCOUNT_ID": "your-account-id"
      }
    }
  }
}

Configuration

Required Environment Variables

  • NEW_RELIC_API_KEY - Your New Relic User API Key (required)
  • NEW_RELIC_ACCOUNT_ID - Your New Relic Account ID (optional, can be provided per tool call)

Getting Your New Relic Credentials

  1. API Key:

    • Log in to New Relic
    • Navigate to API Keys in the left sidebar
    • Create a new User API Key with appropriate permissions
  2. Account ID:

    • Find your Account ID in the URL when logged into New Relic
    • Or navigate to AdministrationAccess managementAccounts

For detailed setup instructions, see docs/new-relic-setup.md.

Usage Examples

Once configured, you can interact with New Relic through your MCP client:

Query Your Data

"Show me the average response time for my web application over the last hour"
"What are the top 10 slowest database queries today?"
"Display error rate trends for the production environment"

Monitor Applications

"List all my APM applications and their current status"
"Show me the health of my Node.js services"
"Which applications have active alerts?"

Manage Alerts

"Show me all open incidents"
"What critical alerts fired in the last 24 hours?"
"Acknowledge incident #12345"

Search Infrastructure

"Find all Redis databases in production"
"Show me entities with high CPU usage"
"List all synthetic monitors and their success rates"

Available Tools

| Tool | Description | |------|-------------| | run_nrql_query | Execute NRQL queries to analyze your data | | list_apm_applications | List all APM applications in your account | | search_entities | Search for entities by name, type, or tags | | get_entity_details | Get detailed information about a specific entity | | run_nerdgraph_query | Execute custom NerdGraph GraphQL queries | | list_alert_policies | List all alert policies in your account | | list_open_incidents | List all open incidents with priority filtering | | acknowledge_incident | Acknowledge an open incident | | list_synthetics_monitors | List all Synthetics monitors | | create_browser_monitor | Create a new browser-based Synthetics monitor | | get_account_details | Get New Relic account details |

Troubleshooting

If you're having trouble connecting:

  1. Verify your API key is valid:

    curl -X POST https://api.newrelic.com/graphql \
      -H 'Content-Type: application/json' \
      -H 'API-Key: YOUR_API_KEY' \
      -d '{"query":"{ actor { user { email } } }"}'
  2. Check that your Account ID is correct

  3. Ensure your API key has the necessary permissions

  4. Check the MCP client logs for detailed error messages

If you receive permission errors:

  1. Verify your API key has the required permissions:

    • For NRQL queries: NRQL query permission
    • For APM data: APM read permissions
    • For alerts: Alerts read/write permissions
  2. Create a new API key with broader permissions if needed

Development

Project Structure

src/
├── server.ts           # Main MCP server implementation
├── client/
│   └── newrelic-client.ts  # New Relic API client
└── tools/
    ├── nrql.ts         # NRQL query tool
    ├── apm.ts          # APM applications tool
    ├── entity.ts       # Entity management tools
    ├── alert.ts        # Alert and incident tools
    ├── synthetics.ts   # Synthetics monitoring tools
    └── nerdgraph.ts    # NerdGraph query tool

Setup Development Environment

  1. Clone the repository:
git clone https://github.com/cloudbring/newrelic-mcp.git
cd newrelic-mcp
  1. Install dependencies:
npm install
  1. Create a .env file:
NEW_RELIC_API_KEY=your-api-key-here
NEW_RELIC_ACCOUNT_ID=your-account-id
  1. Build the project:
npm run build

Development Commands

# Start development server with hot reload
npm run dev

# Build for production
npm run build

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Run linting
npm run lint

# Format code
npm run format

# Test server startup
npm run test:server

Testing

The project uses Test-Driven Development (TDD) with:

  • Vitest for unit testing
  • Gherkin for BDD testing
  • Evalite for LLM response validation
# Run all tests
npm test

# Run with coverage
npm run test:coverage

# Run BDD tests only
npm run test:bdd

# Run integration tests with real API
USE_REAL_ENV=true npm test

Debugging

Use the MCP Inspector to test and debug the server:

# Run with MCP Inspector
npm run inspect

# Run with development server
npm run inspect:dev

# Run with environment variables
npm run inspect:env

See docs/mcp-inspector-setup.md for detailed instructions.

Architecture

The server follows a modular architecture with:

  • Client Layer: Handles New Relic API communication
  • Tools Layer: Implements MCP tool specifications
  • Server Layer: Manages MCP protocol and tool routing

Each tool:

  • Has a single, focused purpose
  • Validates inputs using Zod schemas
  • Returns structured, typed responses
  • Includes comprehensive error handling

Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Write tests first (TDD approach)
  4. Implement your feature
  5. Ensure all tests pass (npm test)
  6. Maintain >90% code coverage
  7. Run linting (npm run lint)
  8. Commit your changes (commits will be auto-formatted)
  9. Push to your branch
  10. Open a Pull Request

Code Style

This project uses:

  • Biome for linting and formatting
  • TypeScript with strict mode
  • 2 spaces for indentation
  • Single quotes for strings
  • Semicolons always

Documentation

Support

License

This project is licensed under the MIT License - see the LICENSE file for details.

Disclaimer

This project is not affiliated with, endorsed by, or supported by New Relic, Inc. It is an independent open-source project that uses New Relic's public APIs.

Acknowledgments


Made with ❤️ by @cloudbring using Cursor and Claude Code