Datadog MCP Server

Proporciona capacidades completas de monitoreo de Datadog a través de clientes MCP. Requiere claves de API y de aplicación de Datadog.

Documentación

Servidor MCP de Datadog

[!IMPORTANT] Este repositorio está archivado y ya no se mantiene. Datadog ahora proporciona un servidor MCP oficial de Datadog. Utilice el servidor oficial para nuevas integraciones. Shelf no planea mantener ni actualizar esta implementación.

CircleCI Python 3.13+ UV Podman GitHub release

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona capacidades integrales de monitoreo de Datadog a través de Claude Desktop y otros clientes MCP.

Características

Este servidor MCP permite a Claude:

  • Gestión de Pipelines CI/CD: Listar pipelines de CI, extraer huellas digitales
  • Análisis de Registros de Servicios: Recuperar y analizar registros de servicios con filtrado por entorno y tiempo
  • Monitoreo de Métricas: Consultar cualquier métrica de Datadog con filtrado flexible, agregación y descubrimiento de campos
  • Monitoreo y Alertas: Listar y gestionar monitores de Datadog y Objetivos de Nivel de Servicio (SLOs)
  • Definiciones de Servicios: Listar y recuperar definiciones detalladas de servicios con metadatos, propiedad y configuración
  • Gestión de Equipos: Listar equipos, ver detalles de miembros y gestionar información de equipos

Inicio Rápido

Elija su método preferido para ejecutar el servidor MCP de Datadog:

🚀 Ejecución Directa con UVX (Recomendado)

export DD_API_KEY="your-datadog-api-key" DD_APP_KEY="your-datadog-application-key"

# Latest version (HEAD)
uvx --from git+https://github.com/shelfio/datadog-mcp.git datadog-mcp

# Specific version (recommended for production)
uvx --from git+https://github.com/shelfio/datadog-mcp.git@v0.0.5 datadog-mcp

# Specific branch
uvx --from git+https://github.com/shelfio/datadog-mcp.git@main datadog-mcp

🔧 Ejecución Rápida con UV (Desarrollo)

export DD_API_KEY="your-datadog-api-key" DD_APP_KEY="your-datadog-application-key"
git clone https://github.com/shelfio/datadog-mcp.git /tmp/datadog-mcp && cd /tmp/datadog-mcp && uv run ddmcp/server.py

🐳 Podman (Opcional)

podman run -e DD_API_KEY="your-datadog-api-key" -e DD_APP_KEY="your-datadog-application-key" -i $(podman build -q https://github.com/shelfio/datadog-mcp.git)

Comparación de Métodos:

MétodoVelocidadCódigo Más RecienteConfiguraciónMejor Para
🚀 Ejecución Directa con UVX⚡⚡⚡✅ (versionado)MínimaProducción, Claude Desktop
🔧 Ejecución Rápida con UV⚡⚡✅ (última versión)Requiere ClonaciónDesarrollo, Pruebas
🐳 Podman⚡✅ (última versión)Requiere PodmanEntornos Contenedorizados

Requisitos

Para Métodos UVX/UV

  • Python 3.13+
  • Gestor de paquetes UV (incluye uvx)
  • Clave de API de Datadog y Clave de Aplicación

Para Método Podman

  • Podman
  • Clave de API de Datadog y Clave de Aplicación

Gestión de Versiones

Al usar UVX, puede especificar versiones exactas para implementaciones reproducibles:

Formatos de Versión

  • Última: git+https://github.com/shelfio/datadog-mcp.git (HEAD)
  • Etiqueta Específica: git+https://github.com/shelfio/datadog-mcp.git@v0.0.5
  • Rama: git+https://github.com/shelfio/datadog-mcp.git@main
  • Hash de Confirmación: git+https://github.com/shelfio/datadog-mcp.git@59f0c15

Recomendaciones

  • Producción: Use etiquetas específicas (por ejemplo, @v0.0.5) para estabilidad
  • Desarrollo: Use la última versión o una rama específica para las funciones más recientes
  • Pruebas: Use hashes de confirmación para reproducibilidad exacta

Consulte versiones de GitHub para todas las versiones disponibles.

Integración con Claude Desktop

Usando UVX (Recomendado)

Agregue a la configuración de Claude Desktop:

Última versión (última versión):

{
  "mcpServers": {
    "datadog": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/shelfio/datadog-mcp.git", "datadog-mcp"],
      "env": {
        "DD_API_KEY": "your-datadog-api-key",
        "DD_APP_KEY": "your-datadog-application-key"
      }
    }
  }
}

Versión específica (recomendada para producción):

{
  "mcpServers": {
    "datadog": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/shelfio/datadog-mcp.git@v0.0.5", "datadog-mcp"],
      "env": {
        "DD_API_KEY": "your-datadog-api-key",
        "DD_APP_KEY": "your-datadog-application-key"
      }
    }
  }
}

Para la región UE (consulte Soporte Multi-Región para otras regiones):

{
  "mcpServers": {
    "datadog": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/shelfio/datadog-mcp.git", "datadog-mcp"],
      "env": {
        "DD_API_KEY": "your-datadog-api-key",
        "DD_APP_KEY": "your-datadog-application-key",
        "DD_SITE": "datadoghq.eu"
      }
    }
  }
}

Usando Configuración de Desarrollo Local

Para desarrollo con repositorio clonado local:

git clone https://github.com/shelfio/datadog-mcp.git
cd datadog-mcp

Agregue a la configuración de Claude Desktop:

{
  "mcpServers": {
    "datadog": {
      "command": "uv",
      "args": ["run", "ddmcp/server.py"],
      "cwd": "/path/to/datadog-mcp",
      "env": {
        "DD_API_KEY": "your-datadog-api-key",
        "DD_APP_KEY": "your-datadog-application-key"
      }
    }
  }
}

Opciones de Instalación

Instalación con UVX (Recomendado)

Instale y ejecute directamente desde GitHub sin clonar:

export DD_API_KEY="your-datadog-api-key"
export DD_APP_KEY="your-datadog-application-key"

# Latest version
uvx --from git+https://github.com/shelfio/datadog-mcp.git datadog-mcp

# Specific version (recommended for production)
uvx --from git+https://github.com/shelfio/datadog-mcp.git@v0.0.5 datadog-mcp

Instalación de Desarrollo

Para desarrollo y pruebas locales:

  1. Clone el repositorio:

    git clone https://github.com/shelfio/datadog-mcp.git
    cd datadog-mcp
    
  2. Instale las dependencias:

    uv sync
    
  3. Ejecute el servidor:

    export DD_API_KEY="your-datadog-api-key"
    export DD_APP_KEY="your-datadog-application-key"
    uv run ddmcp/server.py
    

Instalación con Podman (Opcional)

Para entornos contenedorizados:

podman run -e DD_API_KEY="your-key" -e DD_APP_KEY="your-app-key" -i $(podman build -q https://github.com/shelfio/datadog-mcp.git)

Herramientas

El servidor proporciona estas herramientas a Claude:

list_ci_pipelines

Lista todos los pipelines de CI registrados en Datadog con opciones de filtrado.

Argumentos:

  • repository (opcional): Filtrar por nombre de repositorio
  • pipeline_name (opcional): Filtrar por nombre de pipeline
  • format (opcional): Formato de salida - "table", "json" o "summary"

get_pipeline_fingerprints

Extrae huellas digitales de pipelines para usar en definiciones de servicios de Terraform.

Argumentos:

  • repository (opcional): Filtrar por nombre de repositorio
  • pipeline_name (opcional): Filtrar por nombre de pipeline
  • format (opcional): Formato de salida - "table", "json" o "summary"

list_metrics

Lista todas las métricas disponibles de Datadog para descubrimiento de métricas.

Argumentos:

  • filter (opcional): Filtro para buscar métricas por etiquetas (por ejemplo, 'aws:', 'env:', 'service:web')
  • limit (opcional): Número máximo de métricas a devolver (predeterminado: 100, máximo: 10000)

get_metrics

Consulta cualquier métrica de Datadog con filtrado y agregación flexibles.

Argumentos:

  • metric_name (requerido): El nombre de la métrica a consultar (por ejemplo, 'aws.apigateway.count', 'system.cpu.user')
  • time_range (opcional): "1h", "4h", "8h", "1d", "7d", "14d", "30d"
  • aggregation (opcional): "avg", "sum", "min", "max", "count"
  • filters (opcional): Diccionario de filtros a aplicar (por ejemplo, {'service': 'web', 'env': 'prod'})
  • aggregation_by (opcional): Lista de campos para agrupar resultados
  • format (opcional): "table", "summary", "json", "timeseries"

get_metric_fields

Recupera todos los campos disponibles (etiquetas) para una métrica específica.

Argumentos:

  • metric_name (requerido): El nombre de la métrica para obtener campos
  • time_range (opcional): "1h", "4h", "8h", "1d", "7d", "14d", "30d"

get_metric_field_values

Recupera todos los valores para un campo específico de una métrica.

Argumentos:

  • metric_name (requerido): El nombre de la métrica
  • field_name (requerido): El nombre del campo para obtener valores
  • time_range (opcional): "1h", "4h", "8h", "1d", "7d", "14d", "30d"

list_service_definitions

Lista todas las definiciones de servicios de Datadog con paginación y filtrado.

Argumentos:

  • page_size (opcional): Número de definiciones de servicios por página (predeterminado: 10, máximo: 100)
  • page_number (opcional): Número de página para paginación (indexado desde 0, predeterminado: 0)
  • schema_version (opcional): Filtrar por versión de esquema (por ejemplo, 'v2', 'v2.1', 'v2.2')
  • format (opcional): Formato de salida - "table", "json" o "summary"

get_service_definition

Recupera la definición de un servicio específico con metadatos detallados.

Argumentos:

  • service_name (requerido): Nombre del servicio a recuperar
  • schema_version (opcional): Versión de esquema a recuperar (predeterminado: "v2.2", opciones: "v1", "v2", "v2.1", "v2.2")
  • format (opcional): Formato de salida - "formatted", "json" o "yaml"

get_service_logs

Recupera registros de servicios con capacidades integrales de filtrado.

Argumentos:

  • service_name (requerido): Nombre del servicio
  • time_range (requerido): "1h", "4h", "8h", "1d", "7d", "14d", "30d"
  • environment (opcional): "prod", "staging", "backoffice"
  • log_level (opcional): "INFO", "ERROR", "WARN", "DEBUG"
  • format (opcional): "table", "text", "json", "summary"

list_monitors

Lista todos los monitores de Datadog con opciones integrales de filtrado.

Argumentos:

  • name (opcional): Filtrar monitores por nombre (coincidencia de subcadena)
  • tags (opcional): Filtrar monitores por etiquetas (por ejemplo, 'env:prod,service:web')
  • monitor_tags (opcional): Filtrar monitores por etiquetas de monitor (por ejemplo, 'team:backend')
  • page_size (opcional): Número de monitores por página (predeterminado: 50, máximo: 1000)
  • page (opcional): Número de página (indexado desde 0, predeterminado: 0)
  • format (opcional): Formato de salida - "table", "json" o "summary"

list_slos

Lista Objetivos de Nivel de Servicio (SLOs) de Datadog con capacidades de filtrado.

Argumentos:

  • query (opcional): Filtrar SLOs por nombre o descripción (coincidencia de subcadena)
  • tags (opcional): Filtrar SLOs por etiquetas (por ejemplo, 'team:backend,env:prod')
  • limit (opcional): Número máximo de SLOs a devolver (predeterminado: 50, máximo: 1000)
  • offset (opcional): Número de SLOs a omitir (predeterminado: 0)
  • format (opcional): Formato de salida - "table", "json" o "summary"

get_teams

Lista equipos y sus miembros.

Argumentos:

  • team_name (opcional): Filtrar por nombre de equipo
  • include_members (opcional): Incluir detalles de miembros (predeterminado: false)
  • format (opcional): "table", "json", "summary"

Ejemplos

Pídale a Claude que le ayude con:

"Show me all CI pipelines for the shelf-api repository"

"Get error logs for the content service in the last 4 hours"

"List all available AWS metrics"

"What are the latest metrics for aws.apigateway.count grouped by account?"

"Get all available fields for the system.cpu.user metric"

"List all service definitions in my organization"

"Get the definition for the user-api service"

"List all teams and their members"

"Show all monitors for the web service"

"List SLOs with less than 99% uptime"

"Extract pipeline fingerprints for Terraform configuration"

Configuración

Variables de Entorno

VariableDescripciónRequeridaPredeterminado
DD_API_KEYClave de API de DatadogSí-
DD_APP_KEYClave de Aplicación de DatadogSí-
DD_SITESitio/región de Datadog (consulte la tabla a continuación)Nodatadoghq.com

Soporte Multi-Región

Datadog opera en múltiples regiones. Establezca la variable de entorno DD_SITE para conectarse a su región de Datadog:

RegiónValor de DD_SITEDescripción
US1datadoghq.comEE. UU. (predeterminado)
US3us3.datadoghq.comUS3
US5us5.datadoghq.comUS5
EU1datadoghq.euEuropa
AP1ap1.datadoghq.comAsia Pacífico (Japón)
US1-FEDddog-gov.comGobierno de EE. UU.

Ejemplo para la región UE:

export DD_SITE="datadoghq.eu"
export DD_API_KEY="your-api-key"
export DD_APP_KEY="your-app-key"
uvx --from git+https://github.com/shelfio/datadog-mcp.git datadog-mcp

Consulte Cómo Empezar con los Sitios de Datadog para más información.

Obtención de Credenciales de Datadog

  1. Inicie sesión en su cuenta de Datadog
  2. Vaya a Configuración de la Organización → Claves de API
  3. Cree o copie su Clave de API (esta es su DD_API_KEY)
  4. Vaya a Configuración de la Organización → Claves de Aplicación
  5. Cree o copie su Clave de Aplicación (esta es su DD_APP_KEY)

Nota: Estas son dos claves diferentes:

  • Clave de API: Se utiliza para la autenticación con la API de Datadog
  • Clave de Aplicación: Se utiliza para la autorización y está vinculada a una cuenta de usuario específica