Datadog MCP Server

Fornece capacidades abrangentes de monitoramento Datadog através de qualquer cliente MCP.

Documentação

Datadog MCP Server

[!IMPORTANT] Este repositório está arquivado e não é mais mantido. A Datadog agora fornece um servidor MCP oficial da Datadog. Use o servidor oficial para novas integrações. A Shelf não planeja manter ou atualizar esta implementação.

CircleCI Python 3.13+ UV Podman GitHub release

Um servidor Model Context Protocol (MCP) que fornece recursos abrangentes de monitoramento da Datadog através do Claude Desktop e outros clientes MCP.

Recursos

Este servidor MCP permite que o Claude:

  • Gerenciamento de Pipelines CI/CD: Liste pipelines de CI, extraia fingerprints
  • Análise de Logs de Serviços: Recupere e analise logs de serviços com filtros de ambiente e tempo
  • Monitoramento de Métricas: Consulte qualquer métrica da Datadog com filtragem flexível, agregação e descoberta de campos
  • Monitoramento e Alertas: Liste e gerencie monitores da Datadog e Objetivos de Nível de Serviço (SLOs)
  • Definições de Serviços: Liste e recupere definições detalhadas de serviços com metadados, propriedade e configuração
  • Gerenciamento de Equipes: Liste equipes, visualize detalhes de membros e gerencie informações de equipe

Início Rápido

Escolha seu método preferido para executar o servidor MCP da Datadog:

🚀 Execução Direta com 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

🔧 Execução Rápida com UV (Desenvolvimento)

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)

Comparação de Métodos:

MétodoVelocidadeCódigo Mais RecenteConfiguraçãoMelhor Para
🚀 Execução Direta com UVX⚡⚡⚡✅ (versionado)MínimaProdução, Claude Desktop
🔧 Execução Rápida com UV⚡⚡✅ (última versão)Requer CloneDesenvolvimento, Testes
🐳 Podman⚡✅ (última versão)Requer PodmanAmbientes Containerizados

Requisitos

Para Métodos UVX/UV

  • Python 3.13+
  • Gerenciador de pacotes UV (inclui uvx)
  • Chave de API da Datadog e Chave de Aplicação

Para Método Podman

  • Podman
  • Chave de API da Datadog e Chave de Aplicação

Gerenciamento de Versões

Ao usar UVX, você pode especificar versões exatas para implantações reproduzíveis:

Formatos de Versão

  • Mais Recente: git+https://github.com/shelfio/datadog-mcp.git (HEAD)
  • Tag Específica: git+https://github.com/shelfio/datadog-mcp.git@v0.0.5
  • Branch: git+https://github.com/shelfio/datadog-mcp.git@main
  • Hash de Commit: git+https://github.com/shelfio/datadog-mcp.git@59f0c15

Recomendações

  • Produção: Use tags específicas (ex.: @v0.0.5) para estabilidade
  • Desenvolvimento: Use a versão mais recente ou branch específica para novos recursos
  • Testes: Use hashes de commit para reprodutibilidade exata

Consulte lançamentos do GitHub para todas as versões disponíveis.

Integração com Claude Desktop

Usando UVX (Recomendado)

Adicione à configuração do Claude Desktop:

Versão mais recente (última versão):

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

Versão específica (recomendado para produção):

{
  "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 região da UE (consulte Suporte Multi-Região para outras regiões):

{
  "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 Configuração de Desenvolvimento Local

Para desenvolvimento com repositório clonado localmente:

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

Adicione à configuração do 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"
      }
    }
  }
}

Opções de Instalação

Instalação com UVX (Recomendado)

Instale e execute diretamente do GitHub sem 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

Instalação para Desenvolvimento

Para desenvolvimento e testes locais:

  1. Clone o repositório:

    git clone https://github.com/shelfio/datadog-mcp.git
    cd datadog-mcp
    
  2. Instale as dependências:

    uv sync
    
  3. Execute o servidor:

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

Instalação com Podman (Opcional)

Para ambientes containerizados:

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)

Ferramentas

O servidor fornece estas ferramentas ao Claude:

list_ci_pipelines

Lista todos os pipelines de CI registrados na Datadog com opções de filtragem.

Argumentos:

  • repository (opcional): Filtrar por nome do repositório
  • pipeline_name (opcional): Filtrar por nome do pipeline
  • format (opcional): Formato de saída - "table", "json" ou "summary"

get_pipeline_fingerprints

Extrai fingerprints de pipelines para uso em definições de serviços Terraform.

Argumentos:

  • repository (opcional): Filtrar por nome do repositório
  • pipeline_name (opcional): Filtrar por nome do pipeline
  • format (opcional): Formato de saída - "table", "json" ou "summary"

list_metrics

Lista todas as métricas disponíveis da Datadog para descoberta de métricas.

Argumentos:

  • filter (opcional): Filtro para buscar métricas por tags (ex.: 'aws:', 'env:', 'service:web')
  • limit (opcional): Número máximo de métricas a retornar (padrão: 100, máximo: 10000)

get_metrics

Consulta qualquer métrica da Datadog com filtragem e agregação flexíveis.

Argumentos:

  • metric_name (obrigatório): O nome da métrica a consultar (ex.: '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): Dicionário de filtros a aplicar (ex.: {'service': 'web', 'env': 'prod'})
  • aggregation_by (opcional): Lista de campos para agrupar resultados
  • format (opcional): "table", "summary", "json", "timeseries"

get_metric_fields

Recupera todos os campos disponíveis (tags) para uma métrica específica.

Argumentos:

  • metric_name (obrigatório): O nome da métrica para obter campos
  • time_range (opcional): "1h", "4h", "8h", "1d", "7d", "14d", "30d"

get_metric_field_values

Recupera todos os valores para um campo específico de uma métrica.

Argumentos:

  • metric_name (obrigatório): O nome da métrica
  • field_name (obrigatório): O nome do campo para obter valores
  • time_range (opcional): "1h", "4h", "8h", "1d", "7d", "14d", "30d"

list_service_definitions

Lista todas as definições de serviços da Datadog com paginação e filtragem.

Argumentos:

  • page_size (opcional): Número de definições de serviços por página (padrão: 10, máximo: 100)
  • page_number (opcional): Número da página para paginação (baseado em 0, padrão: 0)
  • schema_version (opcional): Filtrar por versão do esquema (ex.: 'v2', 'v2.1', 'v2.2')
  • format (opcional): Formato de saída - "table", "json" ou "summary"

get_service_definition

Recupera a definição de um serviço específico com metadados detalhados.

Argumentos:

  • service_name (obrigatório): Nome do serviço a recuperar
  • schema_version (opcional): Versão do esquema a recuperar (padrão: "v2.2", opções: "v1", "v2", "v2.1", "v2.2")
  • format (opcional): Formato de saída - "formatted", "json" ou "yaml"

get_service_logs

Recupera logs de serviços com recursos abrangentes de filtragem.

Argumentos:

  • service_name (obrigatório): Nome do serviço
  • time_range (obrigatório): "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 os monitores da Datadog com opções abrangentes de filtragem.

Argumentos:

  • name (opcional): Filtrar monitores por nome (correspondência de substring)
  • tags (opcional): Filtrar monitores por tags (ex.: 'env:prod,service:web')
  • monitor_tags (opcional): Filtrar monitores por tags de monitor (ex.: 'team:backend')
  • page_size (opcional): Número de monitores por página (padrão: 50, máximo: 1000)
  • page (opcional): Número da página (baseado em 0, padrão: 0)
  • format (opcional): Formato de saída - "table", "json" ou "summary"

list_slos

Lista Objetivos de Nível de Serviço (SLOs) da Datadog com recursos de filtragem.

Argumentos:

  • query (opcional): Filtrar SLOs por nome ou descrição (correspondência de substring)
  • tags (opcional): Filtrar SLOs por tags (ex.: 'team:backend,env:prod')
  • limit (opcional): Número máximo de SLOs a retornar (padrão: 50, máximo: 1000)
  • offset (opcional): Número de SLOs a pular (padrão: 0)
  • format (opcional): Formato de saída - "table", "json" ou "summary"

get_teams

Lista equipes e seus membros.

Argumentos:

  • team_name (opcional): Filtrar por nome da equipe
  • include_members (opcional): Incluir detalhes dos membros (padrão: false)
  • format (opcional): "table", "json", "summary"

Exemplos

Peça ao Claude para ajudar com:

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

Configuração

Variáveis de Ambiente

VariávelDescriçãoObrigatóriaPadrão
DD_API_KEYChave de API da DatadogSim-
DD_APP_KEYChave de Aplicação da DatadogSim-
DD_SITESite/região da Datadog (veja tabela abaixo)Nãodatadoghq.com

Suporte Multi-Região

A Datadog opera em múltiplas regiões. Defina a variável de ambiente DD_SITE para conectar à sua região da Datadog:

RegiãoValor DD_SITEDescrição
US1datadoghq.comEUA (padrão)
US3us3.datadoghq.comUS3
US5us5.datadoghq.comUS5
EU1datadoghq.euEuropa
AP1ap1.datadoghq.comÁsia-Pacífico (Japão)
US1-FEDddog-gov.comGoverno dos EUA

Exemplo para região da 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 Introdução aos Sites da Datadog para mais informações.

Obtendo Credenciais da Datadog

  1. Faça login na sua conta Datadog
  2. Vá para Configurações da Organização → Chaves de API
  3. Crie ou copie sua Chave de API (esta é sua DD_API_KEY)
  4. Vá para Configurações da Organização → Chaves de Aplicação
  5. Crie ou copie sua Chave de Aplicação (esta é sua DD_APP_KEY)

Nota: Estas são duas chaves diferentes:

  • Chave de API: Usada para autenticação com a API da Datadog
  • Chave de Aplicação: Usada para autorização e está vinculada a uma conta de usuário específica