DomainRef

Servidor MCP remoto para verificações de domínio e segurança de e-mail. domain_check retorna um relatório classificado de pass/warn/fail para SPF, DKIM, DMARC, MX, certificado TLS, tenant do Microsoft 365, DNSSEC, BIMI e uma verificação de blocklist do UCEPROTECT, com a correção DNS exata para cada problema. domain_age retorna o registrador, além das datas de criação e expiração. Pago por chamada ($0.01 / $0.005) com uma chave de API; listado no MCP Registry oficial como dev.domainref/domainref. Endpoint MCP: https://domainref.dev/mcp (streamable HTTP).

Servidor MCP hospedado

npx add-mcp 'https://domainref.dev/mcp'

Instala no Claude Code, Codex, Cursor e outros

Documentação

DomainRef

O que ele verifica

  • SPF

    Quais servidores têm permissão para enviar e-mail em nome do seu domínio. Guia de SPF
  • DKIM

    Uma assinatura no seu e-mail que prova que ele realmente veio de você. Guia de DKIM
  • DMARC

    O que os destinatários devem fazer com e-mails que falsificam seu domínio, e quem recebe os relatórios. Guia de DMARC
  • MX

    Se o seu domínio consegue receber e-mail, e quais servidores o recebem.
  • Certificado do site

    Se o certificado HTTPS do seu site é válido, corresponde ao nome e não está prestes a expirar.
  • Tenant do Microsoft 365

    Se o domínio roda no Microsoft 365, e se as chaves de assinatura estão ativadas.
  • DNSSEC

    Se as respostas do seu DNS são assinadas para que ninguém possa falsificá-las no caminho. Guia de DNSSEC
  • BIMI

    O registro que coloca seu logotipo ao lado do seu e-mail em algumas caixas de entrada, e seu certificado. Guia de BIMI
  • Blocklist

    Se os endereços dos seus servidores de e-mail estão na blocklist UCEPROTECT Nível 1. Guia de Blocklist
  • Idade do domínio

    Quem é o registrador, quando o domínio foi registrado e quando expira. Domínios muito novos são um sinal de fraude.

Também MTA-STS, TLS-RPT e CAA, que protegem o e-mail em trânsito e controlam quem pode emitir certificados para você. 13 verificações no total. Recursos opcionais que você não configurou aparecem como info com o registro a adicionar. Eles nunca reduzem a pontuação.

Detalhes técnicos de cada verificação

VerificaçãoO que é avaliado
SPFUm registro, no máximo 10 consultas DNS e 2 consultas void, sem ptr. ~all passa quando o DMARC está em enforcement.
DKIM46 seletores comuns sondados em paralelo, incluindo Microsoft 365 selector1 / selector2, Google, Zoho, Proton, Fastmail, Mandrill, Mailjet, SendGrid, Amazon SES e Mimecast. Sinaliza toda chave com menos de 2048 bits por seletor, com a etapa de rotação do provedor.
DMARCPolítica, sp=, pct, relatórios (rua) e autorização de relatórios externos. Um hostname recorre ao seu domínio organizacional (Public Suffix List).
MXPresente e resolvível. Apenas um MX nulo explícito (0 .) conta como sem e-mail.
MTA-STSO registro TXT _mta-sts e a política HTTPS em mta-sts.<domain>: modo, cobertura de mx, max_age. Uma política que os remetentes não conseguem aplicar (ilegível, inválida, TXT duplicado ou mode: none) é info como sem MTA-STS; linhas mx que não cobrem um MX falham no modo enforce.
TLS-RPTUm registro _smtp._tls com um rua válido.
DNSSECValidado pela Cloudflare e pelo Google (eles devem concordar): assinaturas quebradas (SERVFAIL que responde com a verificação desligada) falham, com o texto de erro do próprio resolvedor. Também sinaliza uma zona assinada sem DS no registrador, algoritmos RSA/SHA-1 5 e 7 e digests DS SHA-1 (RFC 8624).
CAAQuais CAs podem emitir, e se a CA do certificado atual é permitida.
Certificado do siteO certificado HTTPS na porta 443: emissor, dias para expirar, correspondência de hostname, cadeia. Uma pequena parte da pontuação.
RegistroRegistrador (apenas nome e IANA ID), idade, expiração e flags de hold do RDAP do registro. Um domínio com menos de seis meses é reportado como info aqui, já que só o tempo muda isso; o endpoint de idade o avalia. Se o registro não responder, o resumo diz que não foi verificado.
Microsoft 365Detecção de tenant a partir dos endpoints públicos de descoberta de login da Microsoft. Apenas info.
BIMIRegistro default._bimi e seu certificado de marca: VMC ou CMC, emissor, expiração, correspondência de domínio, e se a cadeia leva a uma raiz de Mark Verifying Authority da DigiCert, GlobalSign ou SSL.com (caso contrário, é reportado como uma alegação). Também se o DMARC está em enforcement. Apenas info, nunca pontuado.
BlocklistIPs de envio de MX e SPF (IPv4, até 10) na UCEPROTECT Nível 1, consultados apenas enquanto a própria entrada de teste da lista responder corretamente. O Nível 1 lista IPs individuais vistos atingindo spamtrap da UCEPROTECT ou outros abusos, automática ou manualmente; as entradas expiram 7 dias após o último incidente. Info ou warn, nunca pontuado. Copyright © 2001-2021 UCEPROTECT-Network http://www.uceprotect.net, usado sob a licença UCEPROTECT.

Veja um relatório de exemplo

Isto é o que uma pequena empresa típica no Microsoft 365 recebe. O domínio é fictício (.example é reservado para exemplos), mas cada linha é escrita pela verificação real.

D

yourbusiness.example

Pontuação 45/100. 1 falha, 2 avisos, 3 aprovados, 7 info.

Exemplo

  • FAIL DMARC Sem registro DMARC, aqui ou no domínio organizacional. Os destinatários não têm política para e-mails que falham SPF e DKIM, e você não recebe relatórios. Correção: Publique TXT em _dmarc.yourbusiness.example: "v=DMARC1; p=none; rua=mailto:[email protected] ", leia os relatórios por duas a quatro semanas, depois mude para p=quarantine. [email protected] é um placeholder: substitua por uma caixa de correio real que você lê (crie-a primeiro).
  • WARN SPF O SPF é válido (2 de 10 consultas) mas termina em ~all e o DMARC não está em enforcement, então e-mails falsificados só recebem soft-fail. Correção: Coloque o DMARC em enforcement (p=quarantine ou reject), ou mude ~all para -all quando todos os remetentes estiverem listados. "v=spf1 include:spf.protection.outlook.com -all"
  • WARN DKIM Nenhuma chave DKIM nos 46 seletores comuns. Um seletor personalizado não pode ser descoberto a partir do DNS, então isto pode ser um falso alarme. Correção: No portal do Microsoft Defender (Email & collaboration > Policies & rules > Threat policies > Email authentication settings, aba DKIM, ou https://security.microsoft.com/authentication?viewid=DKIM) ative a assinatura para este domínio e publique os dois registros CNAME que ele mostra para selector1._domainkey e selector2._domainkey.
  • PASS MX 1 host MX, todos resolvíveis.
  • PASS Certificado do site (HTTPS na 443) Certificado válido da Let's Encrypt R11, 71 dias restantes.
  • PASS Registro (registrador e idade) Registrado em 2014-03-02 via Example Registrar, 4615 dias de idade, expira em 2027-03-02. 7 extras opcionais (info, não pontuados)
  • INFO Tenant do Microsoft 365 Tenant do Microsoft 365 00000000-0000-0000-0000-000000000000 (login na nuvem). O e-mail vai para o Exchange Online, mas selector1/selector2 do DKIM não estão publicados. Correção: Ative o DKIM para o domínio no portal do Microsoft Defender e publique seus registros CNAME selector1 e selector2.
  • INFO MTA-STS Sem MTA-STS. Os servidores remetentes entregarão em texto simples se um downgrade de TLS for forçado. Correção: Publique TXT em _mta-sts.yourbusiness.example: "v=STSv1; id=2026102001" e sirva https://mta-sts.yourbusiness.example/.well-known/mta-sts.txt como text/plain contendo: version: STSv1 mode: testing mx: *.mail.protection.outlook.com max_age: 604800 Mude para mode: enforce quando os relatórios TLS-RPT estiverem limpos.
  • INFO TLS-RPT Sem registro TLS-RPT, então você não recebe relatórios quando os remetentes falham em alcançá-lo via TLS. Correção: Publique TXT em _smtp._tls.yourbusiness.example: "v=TLSRPTv1; rua=mailto:[email protected] ". [email protected] é um placeholder: substitua por uma caixa de correio real que você lê (crie-a primeiro).
  • INFO DNSSEC O DNSSEC não está ativado. As respostas DNS deste domínio podem ser falsificadas no caminho. Correção: Ative o DNSSEC no seu host de DNS, espere até que ele sirva o DNSKEY, depois publique o registro DS que ele fornece no registrador para yourbusiness.example (algoritmo 13, tipo de digest 2). Publique o DS por último: um DS que não corresponde à zona tira o domínio do ar para resolvedores que validam até o TTL do DS expirar.
  • INFO CAA Sem registro CAA, então qualquer CA pública pode emitir certificados para este domínio. Correção: Publique CAA em yourbusiness.example: 0 issue "letsencrypt.org", mais um registro 0 issue para cada outra CA que emite para você (verifique seu CDN, por exemplo Cloudflare ou AWS, e qualquer segunda CA), e 0 iodef "mailto:[email protected] ". Uma CA deixada de fora da lista não consegue renovar. [email protected] é um placeholder: substitua por uma caixa de correio real que você lê (crie-a primeiro).
  • INFO BIMI Sem registro BIMI (opcional: mostra seu logotipo no Gmail, Apple Mail e Yahoo).
  • INFO Blocklist (UCEPROTECT Nível 1) Não listado na UCEPROTECT Nível 1 (1 IP de e-mail verificado).

FAILQuebrado ou ausente. Corrija isto primeiro. WARNFunciona, mas mais fraco do que deveria. PASSConfigurado corretamente. INFOOpcional ou informativo. Nunca reduz a pontuação.

Como executar uma verificação

  1. Obtenha uma forma de pagar. Compre crédito de cartão para uma chave de API do Afriref em afriref.dev/pricing, ou use qualquer carteira ou agente de IA que pague x402 ou MPP. Não há conta para criar aqui.
  2. Peça o relatório. Execute um comando, com o seu próprio domínio no lugar de yours.com:
    curl -H "X-API-Key: YOUR_KEY" "https://domainref.dev/v1/domain/check?domain=yours.com"
    
  3. Corrija o que ele encontrar. Comece pelo FAIL, depois o WARN. Cada linha traz sua correção, e os guias abaixo explicam cada registro.

Só precisa da idade e do registrador? GET /v1/domain/age?domain=example.com custa $0.005. Não disponível para registros sem RDAP, por exemplo .za/.co.za, .me, .de, .io, .eu: a consulta de idade é recusada gratuitamente (422). Um nome de domínio inválido, um domínio que não existe, um domínio apenas privado, uma queda de DNS ou um limite de taxa é recusado gratuitamente, antes de qualquer cobrança.

Como corrigir o que ele encontra

Guias curtos com registros de exemplo, gratuitos para ler:

  • SPF

    Corrija o SPF passo a passo: um registro v=spf1, o limite de 10 consultas DNS, os includes do Microsoft 365 e do Google Workspace, ~all vs -all, e domínios que não enviam e-mail.
  • DKIM

    Configure a assinatura DKIM: CNAMEs selector1 e selector2 do Microsoft 365, a chave google._domainkey do Google Workspace, outros remetentes, chaves de 2048 bits e como verificá-las.
  • DMARC

    Implante o DMARC com segurança: publique p=none com relatórios, alinhe SPF e DKIM para cada remetente, depois mude para p=quarantine e p=reject. Registros de exemplo incluídos.
  • MTA-STS e TLS-RPT

    Configure o MTA-STS para que os servidores remetentes devam usar TLS até seu MX, mais relatórios TLS-RPT: o registro TXT _mta-sts, o arquivo de política, modo testing e depois enforce.
  • DNSSEC

    Ative o DNSSEC com segurança (assine no seu host de DNS, depois publique o DS no registrador) e corrija o SERVFAIL causado por um DS que não corresponde mais às suas chaves.
  • BIMI

    Configure o BIMI passo a passo: DMARC em enforcement, um logotipo SVG Tiny PS, o registro TXT default._bimi, e um certificado de marca VMC ou CMC com sua cadeia completa.
  • Verificação de blacklist

    Verifique se o IP do seu servidor de e-mail está em uma blocklist DNS (DNSBL): encontre seus IPs de envio, consulte a lista via DNS, leia a resposta e saia da lista.

Para desenvolvedores e agentes de IA

  • API: GET /v1/domain/check?domain= ($0.01) e GET /v1/domain/age?domain= ($0.005). Veja /openapi.json.
  • MCP: https://domainref.dev/mcp (streamable HTTP) com duas ferramentas, domain_check e domain_age. Passe api_key; o pagamento x402 e MPP por chamada é apenas HTTP.
  • Para LLMs: /llms.txt. Descoberta x402: /.well-known/x402.

Chame sem pagamento e você recebe o desafio de preço x402:

$ curl -si "https://domainref.dev/v1/domain/check?domain=example.com" | grep -iE "^HTTP|^payment-required"
HTTP/2 402
payment-required: eyJ4NDAyVmVyc2lvbiI6Mi...

Qualquer cliente x402 lê esse 402, paga $0.01 em USDC na Base (eip155:8453) e tenta novamente. Sem chave, sem cadastro.

A resposta é JSON. Saída real para example.com, reduzida a três verificações:

{
  "domain": "example.com",
  "score": 100,
  "letter": "A",
  "summary": "example.com scores 100/100 (A): 6 pass, 0 warn, 0 fail, 7 info. Nothing to fix.",
  "checks": [
    { "check": "dmarc", "label": "DMARC", "grade": "pass",
      "finding": "DMARC enforces p=reject on 100% of mail.", "fix": null },
    { "check": "mta_sts", "label": "MTA-STS", "grade": "info",
      "finding": "Not applicable: the domain publishes a null MX, so it takes no mail.", "fix": null },
    { "check": "registration", "label": "Registration (registrar and age)", "grade": "pass",
      "finding": "Registered 1995-08-14 via RESERVED-Internet Assigned Numbers Authority (IANA 376), 11390 days old, expires 2027-08-13.", "fix": null }
  ]
}

Não intrusivo e privado. Apenas as requisições comuns que um navegador ou servidor de e-mail faz: DNS público, o RDAP do registro, os endpoints públicos de descoberta da Microsoft, um handshake TLS na porta 443 e, quando publicado, a política MTA-STS na porta 443. Sem varreduras de porta. O aplicativo DomainRef não armazena domínios consultados; nosso log de firewall mantém URLs de requisição (com o domínio) por cerca de 6 meses. Os resolvedores DNS, a Microsoft e o registro veem o domínio, mas nunca quem perguntou. Nosso CDN necessariamente vê seu IP e a requisição. Veja privacidade e termos.