Custom domains API for SaaS: connect, verify, and manage customer domains, SSL, and DNS
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional. Bearer token using a Domainee API key, e.g. `Bearer sk_live_...`. Without it the 18 free diagnostic tools still work and tools/list enumerates them; with it you also get the 12 workspace tools. Create one at https://domainee.dev/developers
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Free public API. Resolve a hostname's CNAME chain. Useful for debugging custom-domain CNAME setups.
Hostname to resolve, e.g. www.example.com.
Free public API. Resolve a hostname's CNAME chain. Useful for debugging custom-domain CNAME setups.
| Argument | Type | Description |
|---|---|---|
| host* | string | Hostname to resolve, e.g. www.example.com. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"host"
],
"properties": {
"host": {
"type": "string",
"minLength": 1,
"description": "Hostname to resolve, e.g. www.example.com."
}
},
"additionalProperties": false
}Free public API. Look up the DKIM record at <selector>._domainkey.<domain>, parse the public key, flag issues.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain to check DKIM for. |
| selector* | string | DKIM selector — `google`, `k1`, `mxvault`, `s1`, etc. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain",
"selector"
],
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Domain to check DKIM for."
},
"selector": {
"type": "string",
"minLength": 1,
"description": "DKIM selector — `google`, `k1`, `mxvault`, `s1`, etc."
}
},
"additionalProperties": false
}Free public API. Look up the DMARC record at _dmarc.<domain>, parse policy/alignment/reporting tags, flag missing or too-permissive settings.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain to check DMARC for. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Domain to check DMARC for."
}
},
"additionalProperties": false
}Free public API. Query the same hostname across ~10 public DNS resolvers worldwide and report which ones return the same answer. Useful right after a DNS change.
| Argument | Type | Description |
|---|---|---|
| host* | string | Hostname to check. |
| type | string | Record type. Default: A. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"host"
],
"properties": {
"host": {
"type": "string",
"minLength": 1,
"description": "Hostname to check."
},
"type": {
"enum": [
"A",
"AAAA",
"CNAME",
"MX",
"TXT",
"NS"
],
"type": "string",
"description": "Record type. Default: A."
}
},
"additionalProperties": false
}Free public API. Identify which DNS provider actually serves a domain, fingerprinted from its public NS records. Returns the record name written the way that provider's form expects it (providers disagree about whether the apex is '@', blank, or the full domain, and getting it wrong is the most common way a correct record lands in the wrong place), whether the provider can point a zone apex at a hostname, where its record editor lives, and the provider-specific settings that silently break custom domain setups. Use this before telling someone what DNS record to add. No Bearer required.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain or hostname. Subdomains are walked up to the zone holding the NS records. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Domain or hostname. Subdomains are walked up to the zone holding the NS records."
}
},
"additionalProperties": false
}Free public API. Look up DNS records (A, AAAA, CNAME, MX, TXT, NS, SOA) for any domain.
| Argument | Type | Description |
|---|---|---|
| type | string | Restrict to one record type. Default: all common types. |
| domain* | string | Domain to query, e.g. example.com. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"type": {
"enum": [
"A",
"AAAA",
"CNAME",
"MX",
"TXT",
"NS",
"SOA"
],
"type": "string",
"description": "Restrict to one record type. Default: all common types."
},
"domain": {
"type": "string",
"minLength": 1,
"description": "Domain to query, e.g. example.com."
}
},
"additionalProperties": false
}Free public API. Returns a domain's registration date, age in days + years, last-updated date, and expiration.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain to check. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Domain to check."
}
},
"additionalProperties": false
}Free public API. Check availability of a name across one or more TLDs. Pass a `name` (no TLD) and an optional `tlds` array.
| Argument | Type | Description |
|---|---|---|
| name* | string | Bare name without TLD, e.g. `mybrand`. |
| tlds | array | Optional list of TLDs to check, e.g. ['com', 'io', 'dev']. Default: a standard SaaS set. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Bare name without TLD, e.g. `mybrand`."
},
"tlds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional list of TLDs to check, e.g. ['com', 'io', 'dev']. Default: a standard SaaS set."
}
},
"additionalProperties": false
}Free public API. Check whether a domain's DNS provider implements the Domain Connect protocol, read live from the _domainconnect TXT record and the provider's settings endpoint. Reports the provider and whether it offers the synchronous flow (a signed redirect with no token exchanged, the one that works in practice) or only the asynchronous OAuth flow. Note that provider support is necessary but not sufficient for one-click setup: the service being connected must also have a template the provider has synced and enabled, which many providers do only after a per-service onboarding. No Bearer required.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain to check, e.g. example.com. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Domain to check, e.g. example.com."
}
},
"additionalProperties": false
}Free public API. Fetch a URL and return its response headers + security grade based on common security headers.
| Argument | Type | Description |
|---|---|---|
| url* | string | Full URL with scheme, e.g. https://example.com. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Full URL with scheme, e.g. https://example.com."
}
},
"additionalProperties": false
}Free public API. Follow a URL's redirect chain and return every hop with status code, response time, final destination.
| Argument | Type | Description |
|---|---|---|
| url* | string | Starting URL. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Starting URL."
}
},
"additionalProperties": false
}Free public API. Reverse-DNS (PTR) lookup for an IP address. Returns one or more hostnames if configured.
| Argument | Type | Description |
|---|---|---|
| ip* | string | IPv4 or IPv6 address, e.g. 8.8.8.8. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ip"
],
"properties": {
"ip": {
"type": "string",
"minLength": 1,
"description": "IPv4 or IPv6 address, e.g. 8.8.8.8."
}
},
"additionalProperties": false
}Free public API. Look up and validate the SPF record for a domain. Counts void/total DNS lookups, flags syntax issues, validates against RFC 7208's 10-lookup limit.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain to check SPF for. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Domain to check SPF for."
}
},
"additionalProperties": false
}Free public API. Check the TLS certificate of any public hostname. Returns issuer, subject, validity dates, days until expiry, full chain, cipher, protocol, and SAN list. No Bearer required.
| Argument | Type | Description |
|---|---|---|
| host* | string | Hostname to check. Optionally with port, e.g. example.com:443. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"host"
],
"properties": {
"host": {
"type": "string",
"minLength": 1,
"description": "Hostname to check. Optionally with port, e.g. example.com:443."
}
},
"additionalProperties": false
}Free public API. Enumerate subdomains for a target domain via Certificate Transparency logs + DNS resolution.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Apex domain to enumerate. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Apex domain to enumerate."
}
},
"additionalProperties": false
}Free public API. Fetch all TXT records on a domain, classifying each as SPF, DKIM, DMARC, BIMI, verification token, or general.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain to fetch TXT records for. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Domain to fetch TXT records for."
}
},
"additionalProperties": false
}Free public API. Check if a website is up or down. Returns HTTP status, response time, final URL after redirects, basic SSL info.
| Argument | Type | Description |
|---|---|---|
| url* | string | URL to check (include scheme). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "URL to check (include scheme)."
}
},
"additionalProperties": false
}Free public API. WHOIS / RDAP lookup for a domain — registrar, status, created/updated/expires dates, nameservers.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Domain to look up. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"description": "Domain to look up."
}
},
"additionalProperties": false
}