Datadog MCP Server

Un servidor MCP para la API de Datadog, que permite buscar logs y trazas.

Documentación

Servidor MCP de Datadog

English (This Document) | 日本語

Servidor MCP para la API de Datadog, que permite funcionalidades de búsqueda de logs, búsqueda de spans de trazas y agregación de spans de trazas.

Datadog Server MCP server

Características

  • Búsqueda de Logs: Busca y recupera logs de Datadog con opciones de consulta flexibles
  • Búsqueda de Spans de Trazas: Busca spans de trazas distribuidas con varias opciones de filtrado
  • Agregación de Spans de Trazas: Agrega spans de trazas por diferentes dimensiones para su análisis

Herramientas

  1. search_logs

    • Busca logs en Datadog
    • Entradas:
      • filterQuery (cadena opcional): Cadena de consulta para buscar logs (predeterminado: "*")
      • filterFrom (número opcional): Hora de inicio de la búsqueda como marca de tiempo UNIX en segundos (predeterminado: hace 15 minutos)
      • filterTo (número opcional): Hora de finalización de la búsqueda como marca de tiempo UNIX en segundos (predeterminado: hora actual)
      • pageLimit (número opcional): Número máximo de logs a recuperar (predeterminado: 25, máximo: 1000)
      • pageCursor (cadena opcional): Cursor de paginación para recuperar resultados adicionales
    • Devuelve: Texto formateado que contiene:
      • Condiciones de búsqueda (consulta y rango de tiempo)
      • Número de logs encontrados
      • Cursor de la siguiente página (si está disponible)
      • Detalles del log, incluyendo:
        • Nombre del servicio
        • Etiquetas
        • Marca de tiempo
        • Estado
        • Mensaje (truncado a 300 caracteres)
        • Host
        • Atributos importantes (http.method, http.url, http.status_code, error)
  2. search_spans

    • Busca spans de trazas en Datadog
    • Entradas:
      • filterQuery (cadena opcional): Cadena de consulta para buscar spans (predeterminado: "*")
      • filterFrom (número opcional): Hora de inicio de la búsqueda como marca de tiempo UNIX en segundos (predeterminado: hace 15 minutos)
      • filterTo (número opcional): Hora de finalización de la búsqueda como marca de tiempo UNIX en segundos (predeterminado: hora actual)
      • pageLimit (número opcional): Número máximo de spans a recuperar (predeterminado: 25, máximo: 1000)
      • pageCursor (cadena opcional): Cursor de paginación para recuperar resultados adicionales
    • Devuelve: Texto formateado que contiene:
      • Condiciones de búsqueda (consulta y rango de tiempo)
      • Número de spans encontrados
      • Cursor de la siguiente página (si está disponible)
      • Detalles del span, incluyendo:
        • Nombre del servicio
        • Marca de tiempo
        • Nombre del recurso
        • Duración (en segundos)
        • Host
        • Entorno
        • Tipo
        • Atributos importantes (http.method, http.url, http.status_code, error)
  3. aggregate_spans

    • Agrega spans de trazas en Datadog por dimensiones especificadas
    • Entradas:
      • filterQuery (cadena opcional): Cadena de consulta para filtrar spans para la agregación (predeterminado: "*")
      • filterFrom (número opcional): Hora de inicio como marca de tiempo UNIX en segundos (predeterminado: hace 15 minutos)
      • filterTo (número opcional): Hora de finalización como marca de tiempo UNIX en segundos (predeterminado: hora actual)
      • groupBy (cadena[] opcional): Dimensiones para agrupar (por ejemplo, ["service", "resource_name", "status"])
      • aggregation (cadena opcional): Método de agregación - "count", "avg", "sum", "min", "max", "pct" (predeterminado: "count")
      • interval (cadena opcional): Intervalo de tiempo para datos de series temporales (solo cuando el tipo es "timeseries")
      • type (cadena opcional): Tipo de resultado, ya sea "timeseries" o "total" (predeterminado: "timeseries")
    • Devuelve: Texto formateado que contiene:
      • Resultados de agregación en buckets, cada uno incluyendo:
        • ID del bucket
        • Valores de agrupación (si se especifica groupBy)
        • Valores calculados según el método de agregación
      • Metadatos adicionales:
        • Tiempo de procesamiento (transcurrido)
        • ID de solicitud
        • Estado
        • Advertencias (si las hay)

Configuración

Debes configurar las claves de API y de aplicación de Datadog:

  1. Obtén tu clave de API y tu clave de aplicación desde la página de Claves de API de Datadog
  2. Instala las dependencias en el proyecto datadog-mcp:
    npm install
    # or
    pnpm install
    
  3. Compila el proyecto TypeScript:
    npm run build
    # or
    pnpm run build
    

Configuración con Docker

Puedes compilar usando Docker con el siguiente comando:

docker build -t datadog-mcp .

Uso con Claude Desktop

Para usar esto con Claude Desktop, agrega lo siguiente a tu 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>"
      }
    }
  }
}

Si estás usando Docker, puedes configurarlo de esta manera:

{
  "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 con VS Code

Para una instalación rápida en VS Code, configura tus ajustes:

  1. Abre Configuración de Usuario (JSON) en VS Code (Ctrl+Shift+PPreferences: Open User Settings (JSON))
  2. Agrega la siguiente configuración:
{
  "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>"
        }
      }
    }
  }
}

Si estás usando Docker, puedes configurarlo de esta manera:

{
  "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, puedes agregar esto a un archivo .vscode/mcp.json en tu espacio de trabajo (sin la clave 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>"
      }
    }
  }
}

Si estás usando Docker, puedes configurarlo de esta manera:

{
  "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>"
      }
    }
  }
}