Datadog MCP Server

Um servidor MCP para a API Datadog, permitindo pesquisar logs e traces.

Documentação

Datadog MCP Server

Inglês (Este documento) | Japonês

Servidor MCP para a API Datadog, permitindo funcionalidades de busca de logs, busca de spans de trace e agregação de spans de trace.

Datadog Server MCP server

Recursos

  • Busca de Logs: Busque e recupere logs do Datadog com opções de consulta flexíveis
  • Busca de Spans de Trace: Busque spans de trace distribuídos com várias opções de filtro
  • Agregação de Spans de Trace: Agregue spans de trace por diferentes dimensões para análise

Ferramentas

  1. search_logs

    • Busque logs no Datadog
    • Entradas:
      • filterQuery (string opcional): String de consulta para buscar logs (padrão: "*")
      • filterFrom (número opcional): Hora de início da busca como timestamp UNIX em segundos (padrão: 15 minutos atrás)
      • filterTo (número opcional): Hora de término da busca como timestamp UNIX em segundos (padrão: hora atual)
      • pageLimit (número opcional): Número máximo de logs a recuperar (padrão: 25, máx: 1000)
      • pageCursor (string opcional): Cursor de paginação para recuperar resultados adicionais
    • Retorna: Texto formatado contendo:
      • Condições de busca (consulta e intervalo de tempo)
      • Número de logs encontrados
      • Cursor da próxima página (se disponível)
      • Detalhes do log incluindo:
        • Nome do serviço
        • Tags
        • Timestamp
        • Status
        • Mensagem (truncada em 300 caracteres)
        • Host
        • Atributos importantes (http.method, http.url, http.status_code, error)
  2. search_spans

    • Busque spans de trace no Datadog
    • Entradas:
      • filterQuery (string opcional): String de consulta para buscar spans (padrão: "*")
      • filterFrom (número opcional): Hora de início da busca como timestamp UNIX em segundos (padrão: 15 minutos atrás)
      • filterTo (número opcional): Hora de término da busca como timestamp UNIX em segundos (padrão: hora atual)
      • pageLimit (número opcional): Número máximo de spans a recuperar (padrão: 25, máx: 1000)
      • pageCursor (string opcional): Cursor de paginação para recuperar resultados adicionais
    • Retorna: Texto formatado contendo:
      • Condições de busca (consulta e intervalo de tempo)
      • Número de spans encontrados
      • Cursor da próxima página (se disponível)
      • Detalhes do span incluindo:
        • Nome do serviço
        • Timestamp
        • Nome do recurso
        • Duração (em segundos)
        • Host
        • Ambiente
        • Tipo
        • Atributos importantes (http.method, http.url, http.status_code, error)
  3. aggregate_spans

    • Agregue spans de trace no Datadog por dimensões especificadas
    • Entradas:
      • filterQuery (string opcional): String de consulta para filtrar spans para agregação (padrão: "*")
      • filterFrom (número opcional): Hora de início como timestamp UNIX em segundos (padrão: 15 minutos atrás)
      • filterTo (número opcional): Hora de término como timestamp UNIX em segundos (padrão: hora atual)
      • groupBy (string[] opcional): Dimensões para agrupar (ex.: ["service", "resource_name", "status"])
      • aggregation (string opcional): Método de agregação - "count", "avg", "sum", "min", "max", "pct" (padrão: "count")
      • interval (string opcional): Intervalo de tempo para dados de série temporal (somente quando o tipo é "timeseries")
      • type (string opcional): Tipo de resultado, "timeseries" ou "total" (padrão: "timeseries")
    • Retorna: Texto formatado contendo:
      • Resultados de agregação em buckets, cada um incluindo:
        • ID do bucket
        • Valores de agrupamento (se groupBy for especificado)
        • Valores calculados com base no método de agregação
      • Metadados adicionais:
        • Tempo de processamento (decorrido)
        • ID da solicitação
        • Status
        • Avisos (se houver)

Configuração

Você precisa configurar as chaves de API e de aplicação do Datadog:

  1. Obtenha sua chave de API e chave de aplicação na página de chaves de API do Datadog
  2. Instale as dependências no projeto datadog-mcp:
    npm install
    # or
    pnpm install
    
  3. Compile o projeto TypeScript:
    npm run build
    # or
    pnpm run build
    

Configuração Docker

Você pode compilar usando Docker com o seguinte comando:

docker build -t datadog-mcp .

Uso com Claude Desktop

Para usar isso com o Claude Desktop, adicione o seguinte ao seu claude_desktop_config.json:

{
  "mcpServers": {
    "datadog": {
      "command": "node",
      "args": [
        "/path/to/datadog-mcp/build/index.js"
      ],
      "env": {
        "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
        "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
      }
    }
  }
}

Se você estiver usando Docker, pode configurá-lo assim:

{
  "mcpServers": {
    "datadog": {
      "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "DD_API_KEY",
          "-e",
          "DD_APP_KEY",
          "datadog-mcp"
        ],
      "env": {
        "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
        "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
      }
    }
  }
}

Uso com VS Code

Para instalação rápida no VS Code, configure suas configurações:

  1. Abra as Configurações do Usuário (JSON) no VS Code (Ctrl+Shift+P → Preferences: Open User Settings (JSON))
  2. Adicione a seguinte configuração:
{
  "mcp": {
    "servers": {
      "datadog": {
        "command": "node",
        "args": [
          "/path/to/datadog-mcp/build/index.js"
        ],
        "env": {
          "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
          "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
        }
      }
    }
  }
}

Se você estiver usando Docker, pode configurá-lo assim:

{
  "mcp": {
    "servers": {
      "datadog": {
        "command": "docker",
          "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "DD_API_KEY",
          "-e",
          "DD_APP_KEY",
          "datadog-mcp"
        ],
        "env": {
          "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
          "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
        }
      }
    }
  }
}

Alternativamente, você pode adicionar isso a um arquivo .vscode/mcp.json no seu espaço de trabalho (sem a chave mcp):

{
  "servers": {
    "datadog": {
      "command": "node",
      "args": [
        "/path/to/datadog-mcp/build/index.js"
      ],
      "env": {
        "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
        "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
      }
    }
  }
}

Se você estiver usando Docker, pode configurá-lo assim:

{
  "servers": {
    "datadog": {
      "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "DD_API_KEY",
          "-e",
          "DD_APP_KEY",
          "datadog-mcp"
        ],
      "env": {
        "DD_API_KEY": "<YOUR_DATADOG_API_KEY>",
        "DD_APP_KEY": "<YOUR_DATADOG_APP_KEY>"
      }
    }
  }
}