Skip to main content
Glama
Ivlad003

New Relic MCP Server

by Ivlad003

Servidor MCP de New Relic

Un servidor simple de Protocolo de Contexto de Modelo (MCP) para consultar registros de New Relic mediante consultas NRQL. Este servidor permite que los Modelos de Lenguaje Grandes (LLM), como Claude, interactúen con sus datos de New Relic.

Características

  • Consultar registros y métricas de New Relic mediante NRQL

  • Registro detallado de errores

  • Fácil integración con Claude Desktop

  • Formato de salida legible para humanos

  • ID de cuenta de New Relic configurable

Related MCP server: Datadog MCP Server

Instrucciones de configuración

Prerrequisitos

  • Python 3.10 o superior

  • Cuenta y clave API de New Relic

  • Aplicación de escritorio Claude

Pasos de instalación

  1. Instalar el administrador de paquetes uv :

# On macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# On Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
  1. Crear y configurar el proyecto:

# Create directory
mkdir newrelic-mcp
cd newrelic-mcp

# Create virtual environment
uv venv

# Activate virtual environment
source .venv/bin/activate  # On Unix/macOS
.venv\Scripts\activate     # On Windows

# Install dependencies
uv pip install "mcp[cli]" httpx
  1. Cree el archivo de servidor newrelic_logs_server.py con el código proporcionado.

  2. Configure sus variables de entorno:

# On Unix/macOS
export NEW_RELIC_API_KEY="your-api-key-here"
export NEW_RELIC_ACCOUNT_ID="your-account-id-here"

# On Windows (CMD)
set NEW_RELIC_API_KEY=your-api-key-here
set NEW_RELIC_ACCOUNT_ID=your-account-id-here

# On Windows (PowerShell)
$env:NEW_RELIC_API_KEY = "your-api-key-here"
$env:NEW_RELIC_ACCOUNT_ID = "your-account-id-here"

Integración de escritorio de Claude

Configure Claude Desktop editando su archivo de configuración:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Ventanas: %APPDATA%\Claude\claude_desktop_config.json

Agregue la siguiente configuración:

{
    "mcpServers": {
        "newrelic": {
            "command": "uv",
            "args": [
                "--directory",
                "/absolute/path/to/newrelic-mcp",
                "run",
                "newrelic_logs_server.py"
            ],
            "env": {
                "NEW_RELIC_API_KEY": "your-api-key-here",
                "NEW_RELIC_ACCOUNT_ID": "your-account-id-here"
            }
        }
    }
}

Uso

Ejemplos de consultas NRQL

  1. Consulta de transacción básica:

SELECT * FROM Transaction SINCE 1 hour ago
  1. Análisis de errores:

SELECT * FROM Transaction WHERE error IS TRUE SINCE 1 hour ago LIMIT 10
  1. Análisis de rendimiento:

SELECT average(duration) FROM Transaction FACET name ORDER BY average(duration) DESC LIMIT 5

Ejemplo de indicaciones de Claude

Puedes hacerle preguntas a Claude como:

  • "Muéstrame todas las transacciones de la última hora"

  • "¿Hay algún error en nuestra aplicación?"

  • "¿Cuáles son nuestros puntos finales más lentos?"

Depuración

Visualización de registros

# On macOS/Linux
tail -f ~/Library/Logs/Claude/mcp-server-newrelic.log

# On Windows
type %APPDATA%\Claude\logs\mcp-server-newrelic.log

Pruebas con MCP Inspector

Pruebe la funcionalidad de su servidor utilizando:

npx @modelcontextprotocol/inspector uv run newrelic_logs_server.py

Problemas comunes

  1. Errores de autenticación:

  • Compruebe si NEW_RELIC_API_KEY está configurado correctamente

  • Verificar que la clave API tenga los permisos correctos

  • Asegúrese de que la clave API sea válida

  1. Errores de consulta:

  • Verificar la sintaxis NRQL

  • Verifique que el ID de la cuenta en el código coincida con su cuenta

  • Asegúrese de que los datos consultados existan en el rango de tiempo

  1. Problemas de conexión:

  • Comprobar la conectividad de la red

  • Verificar que el punto final de GraphQL sea accesible

  • Asegúrese de que no haya firewalls bloqueando las conexiones

Notas de seguridad

  • Nunca envíe claves API al control de versiones

  • Utilice variables de entorno para datos confidenciales

  • Mantener las dependencias actualizadas

  • Supervisar patrones de consulta y registros de acceso

Desarrollo

Pruebas locales

  1. Establecer variables de entorno:

export NEW_RELIC_API_KEY="your-api-key-here"
export NEW_RELIC_ACCOUNT_ID="your-account-id-here"
  1. Ejecutar el servidor:

uv run newrelic_logs_server.py

Estructura del código

El servidor implementa:

  • Herramienta de consulta NRQL única

  • ID de cuenta de New Relic configurable

  • Manejo integral de errores

  • Registro detallado

  • Formato de respuesta

Probando cambios

  1. Modificar el código según sea necesario

  2. Prueba con MCP Inspector

  3. Reinicie Claude Desktop para aplicar los cambios

Guía de solución de problemas

  1. El servidor no se inicia:

  • Comprobar la versión de Python

  • Verificar que todas las dependencias estén instaladas

  • Asegúrese de que el entorno virtual esté activado

  1. La consulta no funciona:

  • Consulte los registros para ver mensajes de error detallados

  • Verificar la sintaxis NRQL

  • Asegúrese de que los datos existan en el rango de tiempo consultado

  1. Claude no se conecta:

  • Verificar la sintaxis del archivo de configuración

  • Comprobar que las rutas son absolutas

  • Reiniciar Claude Desktop

Contribuyendo

  1. Bifurcar el repositorio

  2. Crear una rama de características

  3. Enviar una solicitud de extracción

Licencia

Este proyecto está licenciado bajo la licencia MIT.

Apoyo

Si encuentra problemas:

  1. Revisar los registros

  2. Revisar la sección de problemas comunes

  3. Prueba con MCP Inspector

  4. Presentar un problema en GitHub

Available Tools

1 tool
query_logsB

Query New Relic logs using NRQL.

Args: query: NRQL query string (e.g., "SELECT * FROM Transaction") account_id: New Relic account ID (default from env var)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
account_idNo1234567

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and largely drops it. It never states that this is a read-only operation, whether results are limited or paginated, what time range NRQL defaults to, or what auth/scope is required for the account.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short and front-loaded with the core action in the first sentence, followed by a compact arg list. The docstring-style 'Args:' block is a bit ceremonial but each line carries parameter information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter query tool with no output schema and no annotations, the description covers the parameters adequately but omits result shape, row/result limits, and pagination behavior. It is minimally viable rather than complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, and it does: 'query' is explained as an NRQL string with a concrete example, and 'account_id' is described as taking a default from an environment variable. This is meaningful context the bare schema lacks, though the example query targets 'Transaction' rather than a log table, which is slightly off for a log tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Query New Relic logs using NRQL'), which is unambiguous about what the tool does. There are no sibling tools to differentiate from, so 5 is not reachable, but the purpose itself is crisp.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It says the tool uses NRQL but gives no guidance on when to use it versus other retrieval tools, no prerequisites, and no exclusions. An agent gets the mechanism but not the selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.1.0
    • First observedquery_logs

TDQS

B3.2/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of overlap or misselection; its purpose (querying logs via NRQL) is unambiguous.

Naming Consistency5/5

The single name query_logs follows a clean verb_noun snake_case convention that would scale predictably if more tools were added.

Tool Count2/5

One tool is far too few for a platform like New Relic, which spans logs, metrics, APM, alerts, and dashboards; the surface feels like a stub rather than a server.

Completeness2/5

Only log querying is exposed, with no metric queries, APM data, alert/incident retrieval, or account/resource listing, leaving major observability workflows unreachable.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    C
    quality
    D
    maintenance
    A Model Context Protocol server that enables searching and retrieving information from DevRev using its APIs with Claude.
    2
    3
    -
  • A
    license
    B
    quality
    Not graded
    maintenance
    A Model Context Protocol server that enables AI assistants to interact with Datadog's observability platform through natural language.
    72
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Enables natural language access to New Relic for monitoring, querying, and managing dashboards, entities, alerts, and deployments via the Model Context Protocol.
    52
    9
    MIT