How do I serve my MCP on a custom domain?
Open the deployment → Settings → Custom domain. Enter the hostname you want to use (e.g. mcp.acme.com), add the CNAME record we show you at your DNS provider, and click Verify. Once DNS resolves, we provision a TLS certificate via Let's Encrypt and your MCP is reachable at that hostname within minutes. The mcp.commandplusk.com/<slug> URL keeps working as a fallback.
Step-by-step
- Pick a subdomain. Pick something like mcp.<your-domain> or api.<your-domain>. Apex/root domains aren't supported because we need CNAME-style routing.
- Add the CNAME at your DNS. Create a CNAME from your chosen hostname to ingress.commandplusk.com. TTL 300 is fine.
- Click Verify. We check DNS, then automatically issue a Let's Encrypt cert and bind it to your deployment.
- Update clients. Point your MCP clients at the new hostname. The old URL keeps redirecting.
The CNAME record
dns
mcp.acme.com. IN CNAME ingress.commandplusk.com.Both URLs stay live
Even after you add a custom domain, the default
mcp.commandplusk.com/<slug> URL keeps working. You can roll out the change to clients gradually.Next steps
FAQ
- Why a CNAME and not an A record?
- Our edge IPs change. A CNAME lets us fail traffic over without you touching DNS. We don't currently support apex domains for this reason; use a subdomain.
- How long does TLS provisioning take?
- Usually under 60 seconds after DNS resolves. If DNS is slow to propagate (large TTL on the previous record), it can take longer.
- Can one domain serve multiple deployments?
- No — one custom hostname maps to exactly one deployment. Use path-based slugs on the default mcp.commandplusk.com if you want one host fronting many.