Datadog

Interaja com a API do Datadog para monitorar sua infraestrutura em nuvem, aplicações e logs.

Documentação

Servidor MCP Datadog

Um servidor Model Context Protocol (MCP) para interagir com a API Datadog.

Datadog MCP server

Recursos

  • Monitoramento: Acesse dados e configurações de monitores
  • Dashboards: Recupere e visualize definições de dashboards
  • Métricas: Consulte métricas disponíveis e seus metadados
  • Eventos: Pesquise e recupere eventos em intervalos de tempo
  • Logs: Pesquise logs com opções avançadas de filtragem e ordenação
  • Incidentes: Acesse dados de gerenciamento de incidentes
  • Integração com API: Integração direta com as APIs v1 e v2 da Datadog
  • Tratamento Abrangente de Erros: Mensagens de erro claras para problemas de API e autenticação
  • Endpoints Específicos por Serviço: Suporte para diferentes endpoints para logs e métricas

Pré-requisitos

  1. Node.js (versão 16 ou superior)
  2. Conta Datadog com:
    • Chave de API - Encontrada em Configurações da Organização > Chaves de API
    • Chave de aplicação - Encontrada em Configurações da Organização > Chaves de Aplicação

Escopos da Chave de Aplicação

Para maior segurança, você pode definir o escopo da sua Chave de Aplicação para conceder apenas as permissões mínimas exigidas por este servidor MCP. Por padrão, as Chaves de Aplicação herdam todas as permissões do usuário que as criou, mas Chaves de Aplicação com escopo permitem seguir o princípio do menor privilégio.

Escopos Necessários

Os seguintes escopos são necessários para os recursos correspondentes:

Ferramenta(s)Escopo NecessárioDescrição
get-monitors, get-monitormonitors_readAcesso de leitura às configurações e estados dos monitores
get-dashboards, get-dashboarddashboards_readAcesso de leitura às definições de dashboards
get-metrics, get-metric-metadatametrics_readAcesso de leitura à lista de métricas e metadados
get-eventsevents_readAcesso de leitura aos eventos do fluxo de eventos
search-logs, aggregate-logslogs_read_dataAcesso de leitura aos dados de log para pesquisa e agregação
get-incidentsincident_readAcesso de leitura aos dados de gerenciamento de incidentes

Criando uma Chave de Aplicação com Escopo

  1. Vá para Configurações da Organização > Chaves de Aplicação
  2. Clique em Nova Chave
  3. Digite um nome (por exemplo, "Servidor MCP - Somente Leitura")
  4. Em Escopos, selecione apenas as permissões necessárias:
    • Para funcionalidade completa: monitors_read, dashboards_read, metrics_read, events_read, logs_read_data, incident_read
    • Somente para logs: logs_read_data
    • Somente para monitoramento: monitors_read, dashboards_read, metrics_read
  5. Clique em Criar Chave

Nota: Se você não especificar nenhum escopo ao criar uma Chave de Aplicação, ela terá acesso total com todas as permissões do usuário que a criou. Para uso em produção, recomendamos sempre especificar escopos explícitos.

Instalação

Via npm (recomendado)

npm install -g datadog-mcp-server

A partir do Código Fonte

  1. Clone este repositório
  2. Instale as dependências:
    npm install
    
  3. Compile o projeto:
    npm run build
    

Configuração

Você pode configurar o servidor MCP Datadog usando variáveis de ambiente ou argumentos de linha de comando.

Variáveis de Ambiente

Crie um arquivo .env com suas credenciais Datadog:

DD_API_KEY=your_api_key_here
DD_APP_KEY=your_app_key_here
DD_SITE=datadoghq.com
DD_LOGS_SITE=datadoghq.com
DD_METRICS_SITE=datadoghq.com

Nota: DD_LOGS_SITE e DD_METRICS_SITE são opcionais e terão como padrão o valor de DD_SITE se não forem especificados.

Argumentos de Linha de Comando

Uso básico com configuração global de site:

datadog-mcp-server --apiKey=your_api_key --appKey=your_app_key --site=datadoghq.eu

Uso avançado com endpoints específicos por serviço:

datadog-mcp-server --apiKey=your_api_key --appKey=your_app_key --site=datadoghq.com --logsSite=logs.datadoghq.com --metricsSite=metrics.datadoghq.com

Nota: Os argumentos de site não precisam de https:// - ele será adicionado automaticamente.

Endpoints Regionais

Diferentes regiões Datadog têm endpoints diferentes:

  • EUA (Padrão): datadoghq.com
  • UE: datadoghq.eu
  • US3 (GovCloud): ddog-gov.com
  • US5: us5.datadoghq.com
  • AP1: ap1.datadoghq.com

Uso com Claude Desktop

Adicione isto ao seu claude_desktop_config.json:

{
  "mcpServers": {
    "datadog": {
      "command": "npx",
      "args": [
        "datadog-mcp-server",
        "--apiKey",
        "<YOUR_API_KEY>",
        "--appKey",
        "<YOUR_APP_KEY>",
        "--site",
        "<YOUR_DD_SITE>(e.g us5.datadoghq.com)"
      ]
    }
  }
}

Para configurações mais avançadas com endpoints separados para logs e métricas:

{
  "mcpServers": {
    "datadog": {
      "command": "npx",
      "args": [
        "datadog-mcp-server",
        "--apiKey",
        "<YOUR_API_KEY>",
        "--appKey",
        "<YOUR_APP_KEY>",
        "--site",
        "<YOUR_DD_SITE>",
        "--logsSite",
        "<YOUR_LOGS_SITE>",
        "--metricsSite",
        "<YOUR_METRICS_SITE>"
      ]
    }
  }
}

Locais do arquivo de configuração do Claude Desktop:

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

Uso com o MCP Inspector

Para usar com a ferramenta MCP Inspector:

npx @modelcontextprotocol/inspector datadog-mcp-server --apiKey=your_api_key --appKey=your_app_key

Ferramentas Disponíveis

O servidor fornece estas ferramentas MCP:

  • get-monitors: Busca monitores com filtragem opcional
  • get-monitor: Obtém detalhes de um monitor específico por ID
  • get-dashboards: Lista todos os dashboards
  • get-dashboard: Obtém um dashboard específico por ID
  • get-metrics: Lista métricas disponíveis
  • get-metric-metadata: Obtém metadados de uma métrica específica
  • get-events: Busca eventos em um intervalo de tempo
  • get-incidents: Lista incidentes com filtragem opcional
  • search-logs: Pesquisa logs com filtragem avançada de consultas
  • aggregate-logs: Realiza análises e agregações em dados de log

Exemplos

Exemplo: Obter Monitores

{
  "method": "tools/call",
  "params": {
    "name": "get-monitors",
    "arguments": {
      "groupStates": ["alert", "warn"],
      "limit": 5
    }
  }
}

Exemplo: Obter um Dashboard

{
  "method": "tools/call",
  "params": {
    "name": "get-dashboard",
    "arguments": {
      "dashboardId": "abc-def-123"
    }
  }
}

Exemplo: Pesquisar Logs

{
  "method": "tools/call",
  "params": {
    "name": "search-logs",
    "arguments": {
      "filter": {
        "query": "service:web-app status:error",
        "from": "now-15m",
        "to": "now"
      },
      "sort": "-timestamp",
      "limit": 20
    }
  }
}

Exemplo: Agregar Logs

{
  "method": "tools/call",
  "params": {
    "name": "aggregate-logs",
    "arguments": {
      "filter": {
        "query": "service:web-app",
        "from": "now-1h",
        "to": "now"
      },
      "compute": [
        {
          "aggregation": "count"
        }
      ],
      "groupBy": [
        {
          "facet": "status",
          "limit": 10,
          "sort": {
            "aggregation": "count",
            "order": "desc"
          }
        }
      ]
    }
  }
}

Exemplo: Obter Incidentes

{
  "method": "tools/call",
  "params": {
    "name": "get-incidents",
    "arguments": {
      "includeArchived": false,
      "query": "state:active",
      "pageSize": 10
    }
  }
}

Solução de Problemas

Se você encontrar um erro 403 Forbidden, verifique se:

  1. Sua chave de API e chave de aplicação estão corretas
  2. As chaves têm as permissões necessárias para acessar os recursos solicitados
  3. Sua conta tem acesso aos dados solicitados
  4. Você está usando o endpoint correto para sua região (por exemplo, datadoghq.eu para clientes da UE)

Depuração

Se você encontrar problemas, verifique os logs MCP do Claude Desktop:

# On macOS
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

# On Windows
Get-Content -Path "$env:APPDATA\Claude\Logs\mcp*.log" -Tail 20 -Wait

Problemas comuns:

  • 403 Forbidden: Problema de autenticação com as chaves da API Datadog
  • Formato inválido da chave de API ou chave de aplicação: Certifique-se de usar as strings completas das chaves
  • Erros de configuração do site: Certifique-se de usar o domínio Datadog correto
  • Incompatibilidades de endpoint: Verifique se os endpoints específicos por serviço estão configurados corretamente se você estiver usando domínios separados para logs e métricas

Licença

MIT