New Relic MCP Server

New Relic MCP Server

Run NRQL, NerdGraph, and REST v2 operations to query data, manage incidents, create synthetics, and annotate deployments — all from your MCP client.

Category
访问服务器

README

New Relic MCP Server

smithery badge

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
  • 🌐 REST v2 Tools (2.0+) - High‑value REST endpoints for deployments, APM apps, metrics, and alerts

Installation

Quick Install with Smithery

To install or deploy via Smithery, see the official docs: Deployments, Project Configuration, and smithery.yaml Reference.

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

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

Smithery CLI (recommended)

We recommend the Smithery CLI for local development, inspection, and deployment flows. Benefits:

  • Unified dev/build/deploy workflow, client‑agnostic
  • Dev server with hot‑reload and playground (optional tunnel)
  • Build bundles for stdio or shttp transports
  • Inspect a server interactively; run with supplied config
  • Simple install per client

Examples:

# Hot‑reload dev server
npx @smithery/cli dev src/server.ts --port 8181 --no-open

# Build production bundle (shttp transport)
npx @smithery/cli build src/server.ts --out .smithery/index.cjs --transport shttp

# Inspect a published server
npx @smithery/cli inspect @cloudbring/newrelic-mcp

# Run with config (env via JSON)
npx @smithery/cli run @cloudbring/newrelic-mcp --config '{"NEW_RELIC_API_KEY":"...","NEW_RELIC_ACCOUNT_ID":"..."}'

# Install into a specific client
npx @smithery/cli install newrelic-mcp --client claude

# Open playground
npx @smithery/cli playground --port 3001

Notes:

  • This repo includes a minimal smithery.yaml with runtime: "typescript" to align with TypeScript‑first deployments.
  • See the CLI reference for all commands and flags: smithery-ai/cli.

Manual Installation

<details> <summary>Claude Desktop</summary>

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"
      }
    }
  }
}

</details>

<details> <summary>Cline (VS Code)</summary>

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"
      }
    }
  ]
}

</details>

<details> <summary>Zed Editor</summary>

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"
          }
        }
      }
    }
  }
}

</details>

<details> <summary>Windsurf Editor</summary>

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"
      }
    }
  }
}

</details>

<details> <summary>Local Development</summary>

  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"
      }
    }
  }
}

</details>

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"

Tool Reference

Below is a concise catalog of all MCP tools exposed by this server. See the docs folder for detailed stories/specs.

NerdGraph/GraphQL tools

Tool Summary
run_nrql_query Execute NRQL queries (requires target_account_id)
run_nerdgraph_query Execute raw NerdGraph GraphQL queries
list_apm_applications List APM applications via NerdGraph
search_entities Search entities (name, type, tags)
get_entity_details Fetch details for a GUID
list_alert_policies List alert policies via NerdGraph
list_open_incidents List open incidents via NerdGraph
acknowledge_incident Acknowledge an incident (NerdGraph only)
list_synthetics_monitors List Synthetics monitors
create_browser_monitor Create a browser monitor
get_account_details Fetch account metadata

REST v2 tools (added in v2.0)

Tool Summary Notes
create_deployment Create deployment marker for an APM application Inputs: application_id, revision; optional changelog, description, user; supports region
list_deployments_rest List deployments for an app Supports page, auto_paginate, region
delete_deployment Delete deployment marker Requires confirm: true; User API key must have admin role permissions
list_apm_applications_rest List APM apps via REST Filters: filter[name], filter[host], filter[ids], filter[language]; auto‑paginate
list_metric_names_for_host List metric names/values for host Inputs: application_id, host_id, optional name; auto‑paginate
get_metric_data_for_host Get timeslice metric data for host Inputs: application_id, host_id, names[]; optional values[], from, to, period, summarize; auto‑paginate
list_application_hosts List hosts for an APM app Filters: filter[hostname], filter[ids]; auto‑paginate
list_alert_policies_rest List alert policies via REST Optional filter_name; supports pagination
list_open_incidents_rest List incidents via REST Server has no only_open/priority filters; these are applied client‑side; auto‑paginate

References:

  • Detailed specs and schemas: docs/REST_ENDPOINT_TOOL.md and docs/rest-tools-stories/*

Troubleshooting

<details> <summary>Connection Issues</summary>

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

</details>

<details> <summary>Permission Errors</summary>

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

</details>

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

Comparisons

We researched other public New Relic MCP servers and did not find any actively maintained, feature‑complete alternatives at the time of writing. If you know of one, please open an issue to add it here.

Project Status Transport(s) Deployments APM Apps Metrics Alerts Synthetics Notes
This project (newrelic-mcp) Active NerdGraph + REST v2 Create/List/Delete List (NerdGraph + REST) Host names + timeslices (REST) Policies + Incidents (NG + REST) List/Create (browser) Comprehensive tests and docs

Planned enhancements (based on REST v2 catalog and user demand):

  • Alerts: violations and conditions management via REST where available
  • Metrics: broader app‑level metrics endpoints (names/data) beyond per‑host
  • Additional REST coverage: labels, key transactions, mobile apps (prioritized by feedback)

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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选