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.
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
- Node.js (versão 16 ou superior)
- 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ário | Descrição |
|---|---|---|
get-monitors, get-monitor | monitors_read | Acesso de leitura às configurações e estados dos monitores |
get-dashboards, get-dashboard | dashboards_read | Acesso de leitura às definições de dashboards |
get-metrics, get-metric-metadata | metrics_read | Acesso de leitura à lista de métricas e metadados |
get-events | events_read | Acesso de leitura aos eventos do fluxo de eventos |
search-logs, aggregate-logs | logs_read_data | Acesso de leitura aos dados de log para pesquisa e agregação |
get-incidents | incident_read | Acesso de leitura aos dados de gerenciamento de incidentes |
Criando uma Chave de Aplicação com Escopo
- Vá para Configurações da Organização > Chaves de Aplicação
- Clique em Nova Chave
- Digite um nome (por exemplo, "Servidor MCP - Somente Leitura")
- 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
- Para funcionalidade completa:
- 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
- Clone este repositório
- Instale as dependências:
npm install - 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:
- Sua chave de API e chave de aplicação estão corretas
- As chaves têm as permissões necessárias para acessar os recursos solicitados
- Sua conta tem acesso aos dados solicitados
- Você está usando o endpoint correto para sua região (por exemplo,
datadoghq.eupara 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