Datadog
Interactúa con la API de Datadog para monitorear tu infraestructura en la nube, aplicaciones y registros.
Documentación
Servidor MCP de Datadog
Un servidor de Model Context Protocol (MCP) para interactuar con la API de Datadog.
Características
- Monitoreo: Accede a datos y configuraciones de monitores
- Dashboards: Recupera y visualiza definiciones de dashboards
- Métricas: Consulta métricas disponibles y sus metadatos
- Eventos: Busca y recupera eventos dentro de rangos de tiempo
- Logs: Busca logs con opciones avanzadas de filtrado y ordenamiento
- Incidentes: Accede a datos de gestión de incidentes
- Integración con API: Integración directa con las APIs v1 y v2 de Datadog
- Manejo Integral de Errores: Mensajes de error claros para problemas de API y autenticación
- Endpoints Específicos por Servicio: Soporte para diferentes endpoints para logs y métricas
Requisitos Previos
- Node.js (versión 16 o superior)
- Cuenta de Datadog con:
- Clave de API - Se encuentra en Configuración de la Organización > Claves de API
- Clave de aplicación - Se encuentra en Configuración de la Organización > Claves de Aplicación
Ámbitos de la Clave de Aplicación
Para mayor seguridad, puedes delimitar tu Clave de Aplicación para otorgar solo los permisos mínimos requeridos por este servidor MCP. Por defecto, las Claves de Aplicación heredan todos los permisos del usuario que las creó, pero las Claves de Aplicación delimitadas te permiten seguir el principio de menor privilegio.
Ámbitos Requeridos
Los siguientes ámbitos son necesarios para las características correspondientes:
| Herramienta(s) | Ámbito Requerido | Descripción |
|---|---|---|
get-monitors, get-monitor | monitors_read | Acceso de lectura a configuraciones y estados de monitores |
get-dashboards, get-dashboard | dashboards_read | Acceso de lectura a definiciones de dashboards |
get-metrics, get-metric-metadata | metrics_read | Acceso de lectura a la lista de métricas y metadatos |
get-events | events_read | Acceso de lectura a eventos del flujo de eventos |
search-logs, aggregate-logs | logs_read_data | Acceso de lectura a datos de logs para búsqueda y agregación |
get-incidents | incident_read | Acceso de lectura a datos de gestión de incidentes |
Creación de una Clave de Aplicación Delimitada
- Ve a Configuración de la Organización > Claves de Aplicación
- Haz clic en Nueva Clave
- Ingresa un nombre (por ejemplo, "Servidor MCP - Solo Lectura")
- En Ámbitos, selecciona solo los permisos que necesitas:
- Para funcionalidad completa:
monitors_read,dashboards_read,metrics_read,events_read,logs_read_data,incident_read - Solo para logs:
logs_read_data - Solo para monitoreo:
monitors_read,dashboards_read,metrics_read
- Para funcionalidad completa:
- Haz clic en Crear Clave
Nota: Si no especificas ningún ámbito al crear una Clave de Aplicación, tendrá acceso completo con todos los permisos del usuario creador. Para uso en producción, recomendamos especificar siempre ámbitos explícitos.
Instalación
Vía npm (recomendado)
npm install -g datadog-mcp-server
Desde el Código Fuente
- Clona este repositorio
- Instala las dependencias:
npm install - Compila el proyecto:
npm run build
Configuración
Puedes configurar el servidor MCP de Datadog usando variables de entorno o argumentos de línea de comandos.
Variables de Entorno
Crea un archivo .env con tus credenciales de 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 y DD_METRICS_SITE son opcionales y tomarán por defecto el valor de DD_SITE si no se especifican.
Argumentos de Línea de Comandos
Uso básico con configuración global del sitio:
datadog-mcp-server --apiKey=your_api_key --appKey=your_app_key --site=datadoghq.eu
Uso avanzado con endpoints específicos por servicio:
datadog-mcp-server --apiKey=your_api_key --appKey=your_app_key --site=datadoghq.com --logsSite=logs.datadoghq.com --metricsSite=metrics.datadoghq.com
Nota: Los argumentos del sitio no necesitan https:// - se agregará automáticamente.
Endpoints Regionales
Diferentes regiones de Datadog tienen diferentes endpoints:
- EE. UU. (Predeterminado):
datadoghq.com - UE:
datadoghq.eu - US3 (GovCloud):
ddog-gov.com - US5:
us5.datadoghq.com - AP1:
ap1.datadoghq.com
Uso con Claude Desktop
Agrega esto a tu 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 configuraciones más avanzadas con endpoints separados para logs y 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>"
]
}
}
}
Ubicaciones del archivo de configuración de Claude Desktop:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
Uso con MCP Inspector
Para usar con la herramienta MCP Inspector:
npx @modelcontextprotocol/inspector datadog-mcp-server --apiKey=your_api_key --appKey=your_app_key
Herramientas Disponibles
El servidor proporciona estas herramientas MCP:
- get-monitors: Obtiene monitores con filtrado opcional
- get-monitor: Obtiene detalles de un monitor específico por ID
- get-dashboards: Lista todos los dashboards
- get-dashboard: Obtiene un dashboard específico por ID
- get-metrics: Lista métricas disponibles
- get-metric-metadata: Obtiene metadatos de una métrica específica
- get-events: Obtiene eventos dentro de un rango de tiempo
- get-incidents: Lista incidentes con filtrado opcional
- search-logs: Busca logs con filtrado avanzado de consultas
- aggregate-logs: Realiza análisis y agregaciones en datos de logs
Ejemplos
Ejemplo: Obtener Monitores
{
"method": "tools/call",
"params": {
"name": "get-monitors",
"arguments": {
"groupStates": ["alert", "warn"],
"limit": 5
}
}
}
Ejemplo: Obtener un Dashboard
{
"method": "tools/call",
"params": {
"name": "get-dashboard",
"arguments": {
"dashboardId": "abc-def-123"
}
}
}
Ejemplo: Buscar 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
}
}
}
Ejemplo: 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"
}
}
]
}
}
}
Ejemplo: Obtener Incidentes
{
"method": "tools/call",
"params": {
"name": "get-incidents",
"arguments": {
"includeArchived": false,
"query": "state:active",
"pageSize": 10
}
}
}
Solución de Problemas
Si encuentras un error 403 Prohibido, verifica que:
- Tu clave de API y clave de aplicación sean correctas
- Las claves tengan los permisos necesarios para acceder a los recursos solicitados
- Tu cuenta tenga acceso a los datos solicitados
- Estés usando el endpoint correcto para tu región (por ejemplo,
datadoghq.eupara clientes de la UE)
Depuración
Si encuentras problemas, revisa los logs de MCP de 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 comunes:
- 403 Prohibido: Problema de autenticación con las claves de API de Datadog
- Formato de clave de API o clave de aplicación inválido: Asegúrate de usar las cadenas completas de las claves
- Errores de configuración del sitio: Asegúrate de usar el dominio correcto de Datadog
- Desajustes de endpoints: Verifica que los endpoints específicos por servicio estén configurados correctamente si usas dominios separados para logs y métricas
Licencia
MIT