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.
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)
| Ferramenta | O que faz | Argumentos principais |
|---|---|---|
list_domains | Lista domínios personalizados no workspace. Paginação por cursor. | status (pending/verified/failed/expired), hostname (correspondência exata), limit, cursor |
get_domain | Objeto Domain completo: hostname, originUrl, status, monitorStatus, dnsRecords. | id |
create_domain | Registra 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_domain | Edita um domínio. O hostname é imutável — exclua e recrie para alterá-lo. | id + qualquer um de originUrl, mode, keepHost, redirectWww, redirectStatus, metadata |
delete_domain | Para de rotear um hostname; a borda para de servir em ~60s. | id |
get_connect_instructions | Etapas 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_domain | Força uma verificação imediata de DNS/SSL em vez de esperar o próximo ciclo do monitor. Alterna pending → verified. | id |
list_webhook_endpoints | Lista endpoints de webhook. Segredos de assinatura nunca são incluídos — eles são revelados uma única vez, na criação. | — |
create_webhook_endpoint | Registra 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_endpoint | Para de enviar eventos; novas tentativas em andamento são descartadas. | id |
dns_check_records_exist | Por 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_exactly | Mais 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
- MCP Registry —
dev.domainee/domaineeem https://registry.modelcontextprotocol.io - Glama — https://glama.ai/mcp/connectors/dev.domainee/domainee
- Smithery — https://smithery.ai/server/admin-cl6n/domainee
- Diretório de conectores Claude — listado como conector da comunidade; encontre-o no Claude em Configurações → Conectores
Links
- Produto: https://domainee.dev
- Documentação MCP: https://domainee.dev/mcp · https://domainee.dev/docs/mcp
- Documentação da API: https://domainee.dev/docs
- APIs gratuitas sem chave: https://domainee.dev/free-apis
- Para agentes: https://domainee.dev/llms.txt · https://domainee.dev/llms-full.txt
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.