New Relic MCP Server
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
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"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]" httpxCree el archivo de servidor
newrelic_logs_server.pycon el código proporcionado.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.jsonVentanas:
%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
Consulta de transacción básica:
SELECT * FROM Transaction SINCE 1 hour agoAnálisis de errores:
SELECT * FROM Transaction WHERE error IS TRUE SINCE 1 hour ago LIMIT 10Análisis de rendimiento:
SELECT average(duration) FROM Transaction FACET name ORDER BY average(duration) DESC LIMIT 5Ejemplo 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.logPruebas con MCP Inspector
Pruebe la funcionalidad de su servidor utilizando:
npx @modelcontextprotocol/inspector uv run newrelic_logs_server.pyProblemas comunes
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
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
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
Establecer variables de entorno:
export NEW_RELIC_API_KEY="your-api-key-here"
export NEW_RELIC_ACCOUNT_ID="your-account-id-here"Ejecutar el servidor:
uv run newrelic_logs_server.pyEstructura 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
Modificar el código según sea necesario
Prueba con MCP Inspector
Reinicie Claude Desktop para aplicar los cambios
Guía de solución de problemas
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
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
Claude no se conecta:
Verificar la sintaxis del archivo de configuración
Comprobar que las rutas son absolutas
Reiniciar Claude Desktop
Contribuyendo
Bifurcar el repositorio
Crear una rama de características
Enviar una solicitud de extracción
Licencia
Este proyecto está licenciado bajo la licencia MIT.
Apoyo
Si encuentra problemas:
Revisar los registros
Revisar la sección de problemas comunes
Prueba con MCP Inspector
Presentar un problema en GitHub
Available Tools
1 toolquery_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)
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| account_id | No | 1234567 |
TDQS
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.
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.
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.
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.
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.
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 tool update
v0.1.0- First observed
query_logs
TDQS
Scored across 1 tool
With only one tool, there is no possibility of overlap or misselection; its purpose (querying logs via NRQL) is unambiguous.
The single name query_logs follows a clean verb_noun snake_case convention that would scale predictably if more tools were added.
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.
Only log querying is exposed, with no metric queries, APM data, alert/incident retrieval, or account/resource listing, leaving major observability workflows unreachable.
Maintenance
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
Access New Relic observability data through MCP - query metrics, logs, traces, entities, and more
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Enable secure connectivity between Sentry issues and debugging data, and LLM clients, using a Model Context Protocol (MCP) server.
Related MCP Servers
- FlicenseCqualityDmaintenanceA Model Context Protocol server that enables searching and retrieving information from DevRev using its APIs with Claude.23-
- AlicenseBqualityNot gradedmaintenanceA Model Context Protocol server that enables AI assistants to interact with Datadog's observability platform through natural language.72MIT
- AlicenseBqualityCmaintenanceEnables natural language access to New Relic for monitoring, querying, and managing dashboards, entities, alerts, and deployments via the Model Context Protocol.529MIT
- FlicenseCqualityDmaintenanceMCP server allowing AI agents to query New Relic for debugging incidents.2-