DnsGuard
Servidor MCP remoto gratuito que verifica a autenticação de e-mail de um domínio: SPF, DKIM, DMARC, BIMI, MX, MTA-STS e TLS-RPT. Retorna uma pontuação de 0 a 100, uma nota em letras e correções específicas. Não é necessário cadastro ou chave de API para o plano gratuito.
Servidor MCP hospedado
npx add-mcp 'https://dnsguard.mike-tusa.workers.dev/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
O e-mail do seu domínio está configurado corretamente?
Verificação gratuita de registros SPF, DKIM, DMARC, BIMI e MX, além de MTA-STS e TLS-RPT. Obtenha uma pontuação de 0 a 100 e correções em linguagem simples. Sem necessidade de cadastro.
Exemplos: github.com · paypal.com · example.com
O que cada registro faz
MX
Os registros de troca de correio informam a outros servidores onde entregar e-mails para o seu domínio. Um domínio que nunca lida com e-mails pode publicar um "MX nulo" (0 .) para indicar isso.
SPF
Um registro TXT que lista os servidores autorizados a enviar e-mails em nome do seu domínio, terminando em -all ou ~all. Os receptores podem seguir no máximo 10 consultas DNS (include, a, mx, exists, redirect); se ultrapassar, o SPF retorna um erro permanente (permerror), que a maioria dos receptores trata como falha. Guia de SPF
DKIM
Seu servidor de e-mail assina cada mensagem; os receptores verificam a assinatura com uma chave pública publicada em <selector>._domainkey.yourdomain. Os seletores não podem ser listados via DNS, então tentamos os comuns, além de específicos de provedores quando seu MX ou SPF aponta para um serviço de e-mail conhecido (por exemplo, Microsoft 365, SendGrid, Mailchimp, Mailgun, Zendesk). Você também pode inserir os seus próprios. Guia de DKIM
DMARC
Publicado em _dmarc.yourdomain. Ele informa aos receptores o que fazer quando SPF e DKIM não estão alinhados com o endereço "De" visível: p=none (monitorar), quarantine (pasta de spam) ou reject. Ele também define para onde os relatórios vão (rua). Guia de DMARC
BIMI
Opcional. Permite que caixas de entrada compatíveis mostrem seu logotipo. Publicado em default._bimi.yourdomain com um logotipo SVG (l=) e geralmente um certificado VMC/CMC (a=). Requer DMARC em quarantine ou reject. Guia de BIMI
MTA-STS
Opcional. Informa a outros servidores de e-mail que eles devem entregar mensagens a você somente por TLS criptografado e com verificação de certificado. Um registro TXT em _mta-sts.yourdomain (v=STSv1; id=…) aponta para um arquivo de política em https://mta-sts.yourdomain/.well-known/mta-sts.txt com um modo (testing ou enforce), seus hosts MX permitidos e um max_age. Guia de MTA-STS
TLS-RPT
Opcional. Um registro TXT em _smtp._tls.yourdomain (v=TLSRPTv1; rua=mailto:…) que solicita aos servidores de envio relatórios diários sobre problemas de TLS ao entregar para você. Funciona em conjunto com o MTA-STS. Guia de TLS-RPT
Como a pontuação funciona
MX 10 · SPF 25 · DMARC 30 · DKIM 25 · BIMI 10 = 100 pontos. MTA-STS (até 3) e TLS-RPT (até 2) adicionam até 5 pontos de bônus, e o total é limitado a 100, então um registro opcional ausente nunca reduz sua pontuação. Os pontos de bônus são aplicados somente quando o SPF passa e o DMARC está em quarentena ou rejeição. Notas: A ≥ 90, B ≥ 80, C ≥ 70, D ≥ 60, caso contrário F. A pontuação cobre apenas o que está visível no DNS público (além do arquivo de política MTA-STS).
API JSON gratuita
Usando um assistente ou agente de IA? O DnsGuard também é um servidor MCP remoto: veja Para agentes de IA.
Nenhuma chave necessária. O CORS está habilitado, então você pode chamá-la de um navegador. Por favor, mantenha um volume razoável: as solicitações são limitadas por IP (cerca de 20 verificações/min), e os resultados são armazenados em cache por 2 minutos. O DnsGuard é gratuito para executar apenas até certo ponto, então todos os visitantes anônimos juntos compartilham cerca de 5.000 verificações por dia UTC; se isso acabar, você receberá uma mensagem clara, e uma chave de API gratuita ainda funciona.
Endpoint
GET /api/check?domain=<domain>[&selector=<dkim-selector>]
Exemplo
curl "https://YOUR-HOST/api/check?domain=example.com"
Resposta (resumida)
{
"domain": "example.com",
"score": 95, "maxScore": 100, "grade": "A",
"scoreBreakdown": { "base": 93, "bonus": 2, "bonusMax": 5, "cap": 100 },
"checks": {
"mx": { "status": "pass", "score": 10, "maxScore": 10, "records": [...], "findings": [...], "recommendations": [...] },
"spf": { "status": "pass", "record": "v=spf1 -all", "lookupCount": 0, "lookupLimit": 10, ... },
"dmarc": { "status": "warn", "policy": "reject", "pct": 100, "rua": [], "alignment": {...}, ... },
"dkim": { "status": "info", "selectorsChecked": [...], "keys": [...], ... },
"bimi": { "status": "info", "logoUrl": null, "vmcUrl": null, ... },
"mtaSts": { "status": "info", "score": 0, "maxScore": 3, "bonus": true, "record": null, "mode": null, "mxPatterns": [], "maxAge": null, ... },
"tlsRpt": { "status": "pass", "score": 2, "maxScore": 2, "bonus": true, "record": "v=TLSRPTv1; rua=mailto:tls@example.com", "rua": [...], ... }
},
"notes": [...],
"meta": { "version": "0.7.2", "dnsQueries": 31, "durationMs": 180 }
}
status é um de pass, warn, fail ou info. Cada achado é { "level", "message" }. mtaSts e tlsRpt carregam "bonus": true: seus pontos são adicionados em cima das cinco verificações principais e score é limitado a 100 (scoreBreakdown mostra ambas as partes). mtaSts também tem policyUrl, policyFetch (ok, httpStatus, error), mxCoverage (covered, uncovered) e id.
Erros
| HTTP | code | Significado |
|---|---|---|
| 400 | invalid_domain / invalid_selector | A entrada falhou na validação |
| 422 | domain_not_found | O domínio não existe (NXDOMAIN) |
| 401 | invalid_api_key | Bearer / X-Api-Key presente, mas desconhecido |
| 429 | rate_limited / daily_quota_exceeded / daily_capacity_reached | Muitas solicitações (por minuto, limite diário da sua chave ou cota diária compartilhada); veja Retry-After |
| 502 / 504 | dns_unavailable / timeout | O DNS upstream falhou ou estava muito lento; tente novamente |
Corpo do erro: { "error": { "code": "invalid_domain", "message": "…" } }. Verificação de saúde: GET /api/health.
Chave de API gratuita (limites maiores)
O uso anônimo permanece em cerca de 20 verificações/min por IP. Entre com o Google para gerar uma chave de API gratuita com cerca de 120 verificações/min e um limite de 1.000 verificações/dia (dia UTC). Os titulares de chave também têm parte da cota diária compartilhada reservada para eles (cerca de 8.000 verificações por dia UTC em todos os usuários, dos quais o uso anônimo pode consumir no máximo cerca de 5.000). Precisa de mais? Veja DnsGuard Pro (US$ 9/mês, cerca de 600 verificações/min e 10.000/dia).
Envie uma chave gratuita em cada solicitação:
Authorization: Bearer dg_live_…
# or
X-Api-Key: dg_live_…
curl -H "Authorization: Bearer dg_live_YOUR_KEY" \
"https://YOUR-HOST/api/check?domain=example.com"
Chaves de licença Pro (prefixo DNSG, emitidas pela Polar após a assinatura) usam os mesmos cabeçalhos:
Authorization: Bearer DNSG-…
# or
X-Api-Key: DNSG-…
curl -H "Authorization: Bearer DNSG-YOUR_LICENSE_KEY" \
"https://YOUR-HOST/api/check?domain=example.com"
Verificando se o login do Google está disponível…
O login do Google usa um redirecionamento OAuth no lado do servidor (sem JavaScript do Google nesta página) e solicita apenas os escopos openid e email. Seu e-mail do Google deve ser verificado. Um cookie CSRF de curta duração é definido apenas durante o login.
Perdeu sua chave? Clique em Continuar com o Google novamente. Você verá "Você já tem uma chave de API gratuita" com um botão Rotacionar chave. A rotação exige mais um login do Google e, em seguida, mostra uma nova chave e exclui a antiga, que para de funcionar em cerca de um minuto.
Para agentes de IA (MCP)
O DnsGuard também é um servidor remoto Model Context Protocol (MCP), então assistentes e agentes de IA podem verificar um domínio para você. A maioria dos clientes MCP aceita esta configuração; alguns usam um formato diferente (por exemplo, o VS Code usa uma chave servers). Clientes com uma tela de configurações precisam apenas da URL https://dnsguard.mike-tusa.workers.dev/mcp.
{
"mcpServers": {
"dnsguard": {
"type": "http",
"url": "https://dnsguard.mike-tusa.workers.dev/mcp"
}
}
}
Ele tem uma ferramenta somente leitura, check_domain (domain, além de um dkim_selector opcional), e pontua exatamente como a API JSON. Os limites também são os mesmos: nenhuma chave é necessária para uso leve. Para limites maiores, peça ao seu cliente para enviar Authorization: Bearer dg_live_… (chave gratuita) ou Authorization: Bearer DNSG-… (Pro). Cada chamada de ferramenta conta como uma verificação.
Documentação legível por máquina: llms.txt · Especificação OpenAPI 3.1 · Endpoint MCP POST /mcp (HTTP Streamable, respostas JSON sem estado).
DnsGuard Pro — US$ 9/mês
Limites de API mais altos para uso em produção: cerca de 600 verificações/min e 10.000 verificações/dia (UTC) por licença. Após assinar, a Polar emite uma chave de licença com prefixo DNSG. Envie-a como Authorization: Bearer DNSG-… (ou X-Api-Key) da mesma forma que uma chave gratuita. As respostas incluem x-dnsguard-tier: pro.
A Polar é o comerciante de registro (checkout, impostos, reembolsos). Cancele ou gerencie a cobrança no portal do cliente Polar. O DnsGuard valida licenças Pro por meio de um armazenamento de licenças compartilhado gravado pelo nosso gateway de pagamento de frota após eventos de assinatura da Polar; armazenamos apenas contadores de uso com hash, não a chave de licença bruta.
Opcional: notifique-me sobre resumos
Um resumo de monitoramento semanal (e-mail quando os registros SPF, DKIM, DMARC ou BIMI mudam) e planos superiores virão mais tarde. Deixe seu e-mail se quiser um aviso — não é necessário para usar o Pro.
Remover meu e-mail de notificação de resumo
Digite o endereço com o qual você se cadastrou. Se estiver na lista, ele será excluído imediatamente. Por privacidade, você verá a mesma mensagem de qualquer forma.
Privacidade
Última atualização: 6 de outubro de 2026 (adicionada a busca do arquivo de política MTA-STS).
Uma verificação apenas lê dados públicos: registros DNS e, se o domínio publicar um registro MTA-STS, seu arquivo de política público em https://mta-sts.<domain>/.well-known/mta-sts.txt (esse servidor web vê uma solicitação da rede da Cloudflare, não do seu IP). Consultamos DNS por meio de resolvedores DNS-over-HTTPS (Cloudflare cloudflare-dns.com, com fallback para Google dns.google), então esses provedores veem os nomes que estão sendo consultados. Não armazenamos os domínios que você verifica nem seu endereço IP. O site é executado no Cloudflare Workers, e a Cloudflare processa as solicitações para servi-lo. Os resultados são mantidos em memória por até 2 minutos para cache, e seu IP é usado apenas em contadores de curta duração para limite de taxa. Para manter o serviço gratuito dentro do orçamento de hospedagem, também mantemos totais diários em todo o site (contagens simples de verificações e solicitações de lista de espera, sem IPs, chaves ou domínios), excluídos após cerca de 2 dias.
Lista de notificação de resumo: se você optar por participar, armazenamos apenas seu endereço de e-mail e o horário de inscrição, no Cloudflare Workers KV. Usamos isso apenas para enviar e-mails sobre resumos de monitoramento semanais ou planos superiores quando forem lançados. Não vendemos nem compartilhamos, e não armazenamos seu endereço IP com isso. Você pode excluí-lo a qualquer momento com o formulário Remover meu e-mail de notificação de resumo; a remoção tem efeito imediato.
Conta de API gratuita (login do Google): quando o OAuth do Google está habilitado, armazenamos seu ID de conta do Google (sub), e-mail, ID da chave, hash da chave (SHA-256, nunca a chave bruta após a emissão) e horário de criação em um namespace separado do Workers KV. Solicitamos apenas os escopos openid e email do Google (sem nome ou foto de perfil). Para aplicar o limite diário gratuito, também mantemos um contador de uso diário por chave: o número de verificações feitas com sua chave em cada dia UTC, armazenado em um Cloudflare Durable Object sob seu ID de conta do Google. Os contadores são excluídos automaticamente após cerca de 2 dias. Não armazenamos seu endereço IP nem os domínios que você verifica com nada disso. Um cookie CSRF HttpOnly de curta duração é definido apenas durante o redirecionamento de login do Google e limpo em seguida. Você pode substituir uma chave perdida com Rotacionar chave (veja a seção da API). Para excluir os dados da sua conta de API gratuita, envie um e-mail para o endereço de contato abaixo.
DnsGuard Pro (Polar): as licenças Pro são validadas por meio de um armazenamento de licenças compartilhado gravado pelo nosso gateway de pagamento de frota após eventos de assinatura da Polar. O DnsGuard armazena apenas contadores de uso com hash para limites de taxa e diários (SHA-256 da chave de licença; nunca a chave bruta). A Polar é o comerciante de registro para checkout, impostos e reembolsos — cancele ou gerencie a cobrança pela Polar. O contato para solicitações de privacidade ou exclusão do DnsGuard permanece o mesmo endereço abaixo.
Sem análises e sem scripts de terceiros. Não usamos cookies, exceto o cookie CSRF OAuth de curta duração durante o login do Google.
Contato: perguntas ou solicitação de privacidade ou exclusão: digitalpromohub.support+dnsguard@gmail.com.