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
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ção | O que é avaliado |
|---|---|
| SPF | Um registro, no máximo 10 consultas DNS e 2 consultas void, sem ptr. ~all passa quando o DMARC está em enforcement. |
| DKIM | 46 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. |
| DMARC | Política, sp=, pct, relatórios (rua) e autorização de relatórios externos. Um hostname recorre ao seu domínio organizacional (Public Suffix List). |
| MX | Presente e resolvível. Apenas um MX nulo explícito (0 .) conta como sem e-mail. |
| MTA-STS | O 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-RPT | Um registro _smtp._tls com um rua válido. |
| DNSSEC | Validado 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). |
| CAA | Quais CAs podem emitir, e se a CA do certificado atual é permitida. |
| Certificado do site | O certificado HTTPS na porta 443: emissor, dias para expirar, correspondência de hostname, cadeia. Uma pequena parte da pontuação. |
| Registro | Registrador (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 365 | Detecção de tenant a partir dos endpoints públicos de descoberta de login da Microsoft. Apenas info. |
| BIMI | Registro 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. |
| Blocklist | IPs 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
- 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.
- 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" - 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) eGET /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.