New Relic

Consulte logs do New Relic usando consultas NRQL.

Documentação

MseeP.ai Security Assessment Badge

Servidor MCP New Relic

Um servidor Model Context Protocol (MCP) para consultar logs do New Relic usando consultas NRQL. Este servidor permite que Modelos de Linguagem de Grande Porte (LLMs) como o Claude interajam com seus dados do New Relic.

Usuários do Claude Code: Também disponível como um plugin instalável com comandos de barra, habilidades e um agente de investigação — sem necessidade de servidor MCP. Instale com: /plugin marketplace add Ivlad003/plugins e depois /plugin install newrelic-observability@ivlad-plugins Veja Ivlad003/plugins para detalhes.

Recursos

  • Consultar logs e métricas do New Relic usando NRQL
  • Registro de erros detalhado
  • Integração fácil com o Claude Desktop
  • Formatação de saída legível para humanos
  • ID de conta do New Relic configurável

Instruções de Configuração

Pré-requisitos

  • Python 3.10 ou superior
  • Conta do New Relic e chave de API
  • Aplicativo Claude Desktop

Etapas de Instalação

  1. Instale o gerenciador de pacotes 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. Crie e configure o projeto:
# 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. Crie o arquivo de servidor newrelic_logs_server.py com o código fornecido.

  2. Configure suas variáveis de ambiente:

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

Integração com Claude Desktop

Configure o Claude Desktop editando seu arquivo de configuração:

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

Adicione a seguinte configuração:

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

Uso

Exemplos de Consultas NRQL

  1. Consulta Básica de Transações:
SELECT * FROM Transaction SINCE 1 hour ago
  1. Análise de Erros:
SELECT * FROM Transaction WHERE error IS TRUE SINCE 1 hour ago LIMIT 10
  1. Análise de Desempenho:
SELECT average(duration) FROM Transaction FACET name ORDER BY average(duration) DESC LIMIT 5

Exemplos de Prompts para o Claude

Você pode fazer perguntas ao Claude como:

  • "Mostre-me todas as transações da última hora"
  • "Há algum erro em nosso aplicativo?"
  • "Quais são nossos endpoints mais lentos?"

Depuração

Visualizando Logs

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

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

Testando com o MCP Inspector

Teste a funcionalidade do seu servidor usando:

npx @modelcontextprotocol/inspector uv run newrelic_logs_server.py

Problemas Comuns

  1. Erros de Autenticação:
  • Verifique se NEW_RELIC_API_KEY está definida corretamente
  • Verifique se a chave de API tem as permissões corretas
  • Garanta que a chave de API seja válida
  1. Erros de Consulta:
  • Verifique a sintaxe do NRQL
  • Confira se o ID da conta no código corresponde à sua conta
  • Garanta que os dados consultados existam no intervalo de tempo
  1. Problemas de Conexão:
  • Verifique a conectividade de rede
  • Confirme se o endpoint GraphQL está acessível
  • Garanta que nenhum firewall esteja bloqueando conexões

Notas de Segurança

  • Nunca envie chaves de API para o controle de versão
  • Use variáveis de ambiente para dados sensíveis
  • Mantenha as dependências atualizadas
  • Monitore padrões de consulta e logs de acesso

Desenvolvimento

Testes Locais

  1. Defina as variáveis de ambiente:
export NEW_RELIC_API_KEY="your-api-key-here"
export NEW_RELIC_ACCOUNT_ID="your-account-id-here"
  1. Execute o servidor:
uv run newrelic_logs_server.py

Estrutura do Código

O servidor implementa:

  • Ferramenta de consulta NRQL única
  • ID de conta do New Relic configurável
  • Tratamento abrangente de erros
  • Registro detalhado
  • Formatação de respostas

Testando Alterações

  1. Modifique o código conforme necessário
  2. Teste com o MCP Inspector
  3. Reinicie o Claude Desktop para aplicar as alterações

Guia de Solução de Problemas

  1. Servidor Não Inicia:
  • Verifique a versão do Python
  • Confirme se todas as dependências estão instaladas
  • Garanta que o ambiente virtual esteja ativado
  1. Consulta Não Funciona:
  • Verifique os logs para mensagens de erro detalhadas
  • Confirme a sintaxe do NRQL
  • Garanta que os dados existam no intervalo de tempo consultado
  1. Claude Não Conecta:
  • Verifique a sintaxe do arquivo de configuração
  • Confirme se os caminhos são absolutos
  • Reinicie o Claude Desktop

Contribuindo

  1. Faça um fork do repositório
  2. Crie um branch de funcionalidade
  3. Envie um pull request

Licença

Este projeto está licenciado sob a Licença MIT.

Suporte

Se você encontrar problemas:

  1. Verifique os logs
  2. Revise a seção de problemas comuns
  3. Teste com o MCP Inspector
  4. Abra um problema no GitHub