Domainee

API de domínios personalizados para SaaS como ferramentas MCP: conecte, verifique e gerencie domínios de clientes, SSL e DNS a partir de qualquer cliente MCP. 50 domínios grátis.

Documentação

Servidor MCP Domainee

API de domínios personalizados para SaaS, exposta como ferramentas do Model Context Protocol. Conecte, verifique e gerencie os domínios dos seus clientes, SSL e DNS a partir de qualquer cliente MCP. 20 domínios grátis.

MCP Registry Glama Smithery Claude Directory License

Domainee é uma API de domínios personalizados para SaaS com um servidor MCP nativo, 20 domínios e 100 GB grátis. Este é o servidor hospedado e sem estado do Model Context Protocol que permite que agentes de IA (Claude, Cursor, Windsurf e qualquer cliente compatível com MCP) usem a API Domainee diretamente: integre o hostname de um cliente, forneça a ele etapas de DNS escritas para o provedor de DNS real dele (ou um link de aprovação em um clique quando o DNS dele estiver na Cloudflare), force verificações de DNS e SSL, depure chamados de "meu domínio não está funcionando" e gerencie endpoints de webhook. Mesma chave Bearer, mesmos limites de taxa e mesmo workspace da API REST. Nada para implantar.

Este não é um servidor MCP de registrador

A maioria dos servidores MCP de domínio envolve a API de um registrador para que um agente possa gerenciar domínios que você possui — pesquisar, comprar, renovar, editar nameservers na GoDaddy / Namecheap / Dynadot / NameSilo.

A Domainee resolve o outro problema: permitir que seus clientes apontem os próprios domínios para o seu aplicativo. Você é um SaaS, seu cliente possui shop.acme.com, e você precisa que ele esteja servindo a loja dele via HTTPS em um minuto, sem que ele toque na sua infraestrutura. Isso significa roteamento de hostname personalizado, emissão e renovação automática de certificados, verificação de DNS e um webhook quando ele entrar no ar — o formato "Cloudflare for SaaS", não o formato de registrador.

Se você quer que um agente compre um domínio para você, use um servidor de registrador. Se você quer que um agente integre o domínio de um cliente ao seu produto, este é o servidor certo.

Endpoint

https://mcp.domainee.dev/mcp

HTTP remoto e transmissível, sem estado. Sem instalação, sem processo local, nada para implantar.

A autenticação é opcional para descoberta. initialize, tools/list e todas as 18 ferramentas de diagnóstico gratuitas respondem anonimamente. Uma chave de API Domainee (sk_live_…, gerada em https://domainee.dev/developers) desbloqueia as 12 ferramentas do workspace; chamar uma delas sem chave retorna 401 mais um cabeçalho WWW-Authenticate apontando para nossos metadados OAuth, que é o que inicia o fluxo OAuth nos clientes MCP. OAuth também é suportado de ponta a ponta (metadados de recurso protegido RFC 9728 + metadados de servidor de autorização RFC 8414).

Instalação

Claude Code / CLI:

claude mcp add --transport http domainee https://mcp.domainee.dev/mcp \
  --header "Authorization: Bearer sk_live_YOUR_KEY"

Claude Desktop / Cursor / Windsurf (qualquer cliente com transporte HTTP):

{
  "mcpServers": {
    "domainee": {
      "url": "https://mcp.domainee.dev/mcp",
      "headers": { "Authorization": "Bearer sk_live_YOUR_KEY" }
    }
  }
}

Experimente sem nenhuma chave — isso retorna as 18 ferramentas gratuitas como uma resposta text/event-stream:

curl -s https://mcp.domainee.dev/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' \
  | grep '^data: ' | sed 's/^data: //' | jq '.result.tools | length'
# 18

Ferramentas

30 ferramentas em dois níveis. As 18 ferramentas de diagnóstico gratuitas não precisam de chave; as 12 ferramentas do workspace exigem um Bearer e só são registradas quando um token está presente, então um tools/list não autenticado retorna 18 e um autenticado retorna 30.

Ferramentas do workspace (12, chave de API Bearer obrigatória)

FerramentaO que fazArgumentos principais
list_domainsLista domínios personalizados no workspace. Paginação por cursor.status (pending/verified/failed/expired), hostname (correspondência exata), limit, cursor
get_domainObjeto Domain completo: hostname, originUrl, status, monitorStatus, dnsRecords.id
create_domainRegistra um hostname de cliente para proxy ou redirecionamento pela borda. Retorna avisos de pré-verificação (CAA, origin inacessível).hostname, originUrl, mode (proxy/redirect), keepHost, redirectWww, redirectStatus, metadata
update_domainEdita um domínio. O hostname é imutável — exclua e recrie para alterá-lo.id + qualquer um de originUrl, mode, keepHost, redirectWww, redirectStatus, metadata
delete_domainPara de rotear um hostname; a borda para de servir em ~60s.id
get_connect_instructionsEtapas de configuração de DNS para o provedor que realmente atende o domínio do cliente: tipo e nome exatos do registro, onde fica o editor de registros, pegadinhas do provedor (proxy Cloudflare, registro A estacionado na GoDaddy). Também retorna domainConnect: um link de um clique onde o provedor de DNS habilitou os modelos Domain Connect da Domainee (ativo na Cloudflare para todas as contas e na Glauca Digital), caso contrário, um reason. Chame check_domain quando o cliente aprovar.id
check_domainForça uma verificação imediata de DNS/SSL em vez de esperar o próximo ciclo do monitor. Alterna pending → verified.id
list_webhook_endpointsLista endpoints de webhook. Segredos de assinatura nunca são incluídos — eles são revelados uma única vez, na criação.—
create_webhook_endpointRegistra uma URL HTTPS para a qual a Domainee envia eventos de domínio via POST. Retorna o segredo de assinatura uma única vez.url, events[] (vazio = todos)
delete_webhook_endpointPara de enviar eventos; novas tentativas em andamento são descartadas.id
dns_check_records_existPor registro, match: true se pelo menos um valor de DNS for igual ao esperado. Tolera registros extras junto com o CNAME. Até 50 por chamada.records[] de { address, type, match_against }
dns_check_records_match_exactlyMais rigoroso: match: true somente se todos os valores retornados corresponderem. Use quando o cliente precisar apontar somente para você.records[]

type aceita a, aaaa, cname, mx, txt, ns, caa. A comparação é insensível a maiúsculas/minúsculas e pontos finais são removidos. Eventos de webhook são domain.created, domain.verified, domain.failed, domain.expired, domain.deleted, domain.monitor_updated.

Ferramentas de diagnóstico gratuitas (18, sem chave, sem cadastro)

Consultas somente leitura de SSL / DNS / WHOIS, utilizáveis por qualquer agente contra qualquer domínio:

tools_ssl_check, tools_dns_provider_lookup, tools_domain_connect_checker, tools_dns_record_lookup, tools_whois_lookup, tools_cname_lookup, tools_http_header_checker, tools_dns_propagation_checker, tools_redirect_checker, tools_spf_record_checker, tools_dkim_record_checker, tools_dmarc_record_checker, tools_txt_record_lookup, tools_domain_age_checker, tools_domain_availability_checker, tools_subdomain_finder, tools_reverse_ip_lookup, tools_website_status_checker.

As mesmas 18 estão disponíveis como endpoints REST sem chave em https://api.domainee.dev/v1/tools/<name> — veja https://domainee.dev/free-apis.

O que os agentes fazem com isso

Integre um domínio de cliente. "Conecte shop.acme.com a https://acme.myapp.com." O agente chama create_domain e depois get_connect_instructions para dizer ao cliente exatamente o que publicar, nas palavras que o painel do provedor de DNS dele usa. Se o DNS dele estiver na Cloudflare, ele pode entregar um link de um clique: o cliente aprova os registros na própria tela da Cloudflare e não digita nada. Quando terminar, o agente chama check_domain para verificar imediatamente em vez de esperar o monitor.

Depure um domínio quebrado. "Por que shop.acme.com está mostrando um erro de certificado?" O agente chama get_domain para nossa visão do status e depois tools_cname_lookup e tools_ssl_check para a verdade real do DNS público, e consegue diferenciar entre "o cliente nunca publicou o registro", "está publicado mas ainda não propagou" e "há um registro CAA bloqueando a emissão".

Audite a frota. "Quais domínios de clientes estão falhando?" — list_domains com status: "failed" e depois dns_check_records_exist nos resultados em uma única chamada em lote de até 50 registros.

Preços

Plano gratuito: 20 domínios personalizados + 100 GB de banda/mês, sem expiração. Você adiciona um cartão ao conectar seu primeiro domínio; ele é cobrado em $0 dentro do plano gratuito. Preço de uso acima disso em https://domainee.dev/pricing. As 18 ferramentas de diagnóstico são gratuitas e sem chave, independentemente.

Listagens

Links

Sobre este repositório

Apenas descoberta e documentação — o servidor é hospedado, então não há nada para clonar ou executar. Ele contém o server.json que o MCP Registry lê e este README. A implementação vive no monorepo da Domainee.

Problemas e perguntas são bem-vindos aqui.

Licença

MIT — veja LICENSE.