Domainee

API de dominios personalizados para SaaS como herramientas MCP: conecta, verifica y gestiona dominios de clientes, SSL y DNS desde cualquier cliente MCP. 50 dominios gratis.

Documentación

Servidor MCP de Domainee

API de dominios personalizados para SaaS, expuesta como herramientas del Protocolo de Contexto de Modelos. Conecta, verifica y gestiona los dominios de tus clientes, SSL y DNS desde cualquier cliente MCP. 20 dominios gratis.

MCP Registry Glama Smithery Claude Directory License

Domainee es una API de dominios personalizados para SaaS con un servidor MCP nativo, 20 dominios y 100 GB gratis. Este es el servidor alojado y sin estado del Protocolo de Contexto de Modelos que permite a los agentes de IA (Claude, Cursor, Windsurf y cualquier cliente compatible con MCP) manejar la API de Domainee directamente: incorpora el nombre de host de un cliente, entrégale los pasos de DNS escritos para su proveedor de DNS real (o un enlace de aprobación de un clic cuando su DNS está en Cloudflare), fuerza sondeos de DNS y SSL, depura tickets de "mi dominio no funciona" y gestiona endpoints de webhooks. Misma clave Bearer, mismos límites de velocidad y mismo espacio de trabajo que la API REST. Nada que implementar.

Este no es un servidor MCP de registrador

La mayoría de los servidores MCP de dominios envuelven la API de un registrador para que un agente pueda gestionar dominios que tú posees — buscar, comprar, renovar, editar servidores de nombres en GoDaddy / Namecheap / Dynadot / NameSilo.

Domainee resuelve el otro problema: permitir que tus clientes apunten sus propios dominios a tu aplicación. Tú eres un SaaS, tu cliente es dueño de shop.acme.com, y necesitas que esté sirviendo su tienda en línea a través de HTTPS en un minuto sin que toquen tu infraestructura. Eso significa enrutamiento de nombres de host personalizados, emisión y renovación automática de certificados, verificación de DNS y un webhook cuando se activa — la forma de "Cloudflare para SaaS", no la forma de registrador.

Si quieres que un agente te compre un dominio, usa un servidor de registrador. Si quieres que un agente incorpore el dominio de un cliente a tu producto, este es el indicado.

Endpoint

https://mcp.domainee.dev/mcp

HTTP remoto, transmisible, sin estado. Sin instalación, sin proceso local, nada que implementar.

La autenticación es opcional para el descubrimiento. initialize, tools/list y las 18 herramientas de diagnóstico gratuitas responden de forma anónima. Una clave de API de Domainee (sk_live_…, creada en https://domainee.dev/developers) desbloquea las 12 herramientas del espacio de trabajo; llamar a una sin clave devuelve 401 más un encabezado WWW-Authenticate que apunta a nuestros metadatos OAuth, que es lo que inicia el flujo OAuth en los clientes MCP. OAuth también es compatible de extremo a extremo (metadatos de recursos protegidos RFC 9728 + metadatos del servidor de autorización RFC 8414).

Instalación

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 (cualquier cliente con transporte HTTP):

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

Pruébalo sin ninguna clave — esto devuelve las 18 herramientas gratuitas como una respuesta 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

Herramientas

30 herramientas en dos niveles. Las 18 herramientas de diagnóstico gratuitas no necesitan clave; las 12 herramientas del espacio de trabajo requieren un Bearer y solo se registran cuando hay un token presente, por lo que un tools/list no autenticado devuelve 18 y uno autenticado devuelve 30.

Herramientas del espacio de trabajo (12, clave de API Bearer requerida)

HerramientaQué haceArgumentos clave
list_domainsLista los dominios personalizados en el espacio de trabajo. Paginación con cursor.status (pending/verified/failed/expired), hostname (coincidencia exacta), limit, cursor
get_domainObjeto de dominio completo: hostname, originUrl, status, monitorStatus, dnsRecords.id
create_domainRegistra un nombre de host de cliente para proxy o redirección a través del edge. Devuelve advertencias de verificación previa (CAA, origen inalcanzable).hostname, originUrl, mode (proxy/redirect), keepHost, redirectWww, redirectStatus, metadata
update_domainEdita un dominio. El nombre de host es inmutable — elimina y recrea para cambiarlo.id + cualquiera de originUrl, mode, keepHost, redirectWww, redirectStatus, metadata
delete_domainDetiene el enrutamiento de un nombre de host; el edge deja de servir en ~60s.id
get_connect_instructionsPasos de configuración de DNS para el proveedor que realmente sirve el dominio del cliente: tipo y nombre de registro exactos, dónde está el editor de registros, advertencias del proveedor (proxy de Cloudflare, registro A estacionado de GoDaddy). También devuelve domainConnect: un enlace de un clic donde el proveedor de DNS ha habilitado las plantillas de Domain Connect de Domainee (activas en Cloudflare para todas las cuentas, y Glauca Digital), de lo contrario un reason. Llama a check_domain una vez que el cliente apruebe.id
check_domainFuerza un sondeo inmediato de DNS/SSL en lugar de esperar el siguiente tick del monitor. Cambia pending → verified.id
list_webhook_endpointsLista los endpoints de webhook. Los secretos de firma nunca se incluyen — se revelan una vez, en el momento de la creación.—
create_webhook_endpointRegistra una URL HTTPS a la que Domainee envía eventos de dominio mediante POST. Devuelve el secreto de firma una vez.url, events[] (vacío = todos)
delete_webhook_endpointDetiene el envío de eventos; los reintentos en curso se descartan.id
dns_check_records_existPor registro, match: true si al menos un valor de DNS es igual al esperado. Tolera registros adicionales junto al CNAME. Hasta 50 por llamada.records[] de { address, type, match_against }
dns_check_records_match_exactlyMás estricto: match: true solo si cada valor devuelto coincide. Úsalo cuando el cliente deba apuntar solo a ti.records[]

type acepta a, aaaa, cname, mx, txt, ns, caa. La comparación no distingue entre mayúsculas y minúsculas y los puntos finales se eliminan. Los eventos de webhook son domain.created, domain.verified, domain.failed, domain.expired, domain.deleted, domain.monitor_updated.

Herramientas de diagnóstico gratuitas (18, sin clave, sin registro)

Consultas de solo lectura de SSL / DNS / WHOIS, utilizables por cualquier agente contra cualquier dominio:

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.

Las mismas 18 están disponibles como endpoints REST sin clave en https://api.domainee.dev/v1/tools/<name> — consulta https://domainee.dev/free-apis.

Qué hacen los agentes con esto

Incorporar un dominio de cliente. "Conecta shop.acme.com a https://acme.myapp.com." El agente llama a create_domain, luego a get_connect_instructions para decirle al cliente exactamente qué publicar, en las palabras que usa el panel de su proveedor de DNS. Si su DNS está en Cloudflare, puede darle un enlace de un clic en su lugar: aprueban los registros en la propia pantalla de Cloudflare y no escriben nada. Una vez que terminan, llama a check_domain para verificar de inmediato en lugar de esperar al monitor.

Depurar un dominio roto. "¿Por qué shop.acme.com muestra un error de certificado?" El agente llama a get_domain para nuestra vista del estado, luego a tools_cname_lookup y tools_ssl_check para la verdad de fuente pública de DNS, y puede distinguir entre "el cliente nunca publicó el registro", "está publicado pero aún no se ha propagado" y "hay un registro CAA bloqueando la emisión".

Auditar la flota. "¿Qué dominios de clientes están fallando?" — list_domains con status: "failed", luego dns_check_records_exist en los resultados en una sola llamada por lotes de hasta 50 registros.

Precios

Nivel gratuito: 20 dominios personalizados + 100 GB de ancho de banda/mes, sin caducidad. Añades una tarjeta cuando conectas tu primer dominio; se cobra $0 dentro del nivel gratuito. Precios de uso más allá de eso en https://domainee.dev/pricing. Las 18 herramientas de diagnóstico son gratuitas y sin clave independientemente.

Listados

Enlaces

Acerca de este repositorio

Solo descubrimiento y documentación — el servidor está alojado, por lo que no hay nada que clonar o ejecutar. Contiene el server.json que lee el Registro MCP y este README. La implementación vive en el monorepo de Domainee.

Los problemas y preguntas son bienvenidos aquí.

Licencia

MIT — consulta LICENSE.