mcpField
Z
zeabur-domain-register

zeabur-domain-register

github.com/zeaburCloud & DevOps39173 installsUpdated 7w ago
Repository

About zeabur-domain-register

zeabur-domain-register is a skill for registering and managing domains through the Zeabur CLI. It covers availability checks, purchases, renewals, registrant profiles, and ICANN email verification.

Key features

  1. 01Check domain availability and price
  2. 02Purchase and list registered domains
  3. 03Renew domains and toggle auto-renewal
  4. 04Manage registrant profiles
  5. 05Check and resolve ICANN verification

Use cases

  1. 01Purchase a new domain
  2. 02Review renewal and auto-renewal status
  3. 03Handle registrant email verification or domain suspension

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/zeabur/agent-skills --skill zeabur-domain-register

After installing, type/zeabur-domain-registerin Claude Code to confirm it loaded.

Details

From the project README

Zeabur Domain Registration & Management

Always use npx zeabur@latest to invoke Zeabur CLI. Never use zeabur directly or any other installation method. If npx is not available, install Node.js first.

Zeabur can register and manage domains directly — no need for GoDaddy, Namecheap, or other registrars.

Search Domain Availability

npx zeabur@latest domain search example.com -i=false

Returns availability and price (in USD). Only checks one domain at a time.

Supported TLDs: .com, .net, .org, .io, .dev, .app, .co, .me, .xyz

Purchase a Domain

1. Create a registrant profile (if none exists)

A registrant profile is the WHOIS contact info required for domain registration.

npx zeabur@latest domain registrant list -i=false --json

If empty, create one:

npx zeabur@latest domain registrant create \
  --first-name John \
  --last-name Doe \
  --email [email protected] \
  --phone "+1.5551234567" \
  --address1 "123 Main St" \
  --city "San Francisco" \
  --state CA \
  --country US \
  --postal-code 94105 \
  -i=false

Required fields: --first-name, --last-name, --email, --phone, --address1, --city, --state, --country (ISO 3166-1 alpha-2), --postal-code

Optional: --address2, --organization

2. Purchase
npx zeabur@latest domain purchase example.com --registrant-id <profile-id> -y -i=false
  • Purchase may take up to 60 seconds (registers with OpenSRS + creates Cloudflare DNS zone)
  • Requires Developer Plan or above
  • Prices are in USD

After purchasing, use the zeabur-domain-dns skill to manage DNS records, or use the zeabur-domain-url skill to bind the domain to a Zeabur service.

Payment Errors
ERROR  Purchase failed: please bind a credit card or recharge credits first

Action: Direct the user to https://zeabur.com/account/billing

List Purchased Domains

Shows ID, domain, status, ICANN verification status, auto-renew, expiry, and price:

npx zeabur@latest domain list-registered -i=false

Get Domain Details

Shows domain info plus the associated registrant profile (name, email, phone, country):

npx zeabur@latest domain get-registered --id <domain-id> -i=false

Use --json for structured output including the full registrant profile.

Renew a Domain

npx zeabur@latest domain renew --id <domain-id> -y -i=false

Toggle Auto-Renew

# Enable
npx zeabur@latest domain auto-renew --id <domain-id> --enable -i=false

# Disable
npx zeabur@latest domain auto-renew --id <domain-id> --disable -i=false

Registrant Profile Management

Update a profile
npx zeabur@latest domain registrant update --id <profile-id> --email [email protected] -i=false

Only provided fields are changed.

Delete a profile

Cannot delete a profile in use by registered domains.

npx zeabur@latest domain registrant delete --id <profile-id> -y -i=false
Important: Profile vs WHOIS Contact

Updating a registrant profile does not update the WHOIS contact on domains already purchased with that profile. To update the actual WHOIS contact on a domain, use domain verification update-contact (see below).


ICANN Verification

After purchasing a domain, ICANN requires the registrant email to be verified. A verification email is sent automatically. If not verified within 15 days, the domain may be suspended.

Check verification status
npx zeabur@latest domain verification status --id <domain-id> -i=false
StatusMeaning
verifiedEmail verified, domain is good
pendingVerification email sent, waiting for user action
suspendedNot verified in time, domain suspended
unknownStatus not available (new domain or unsupported TLD)
Resend verification email
npx zeabur@latest domain verification resend --id <domain-id> -i=false

The email is sent by OpenSRS/Tucows. Remind the user to check spam/junk folders.

Find which email verification is sent to
npx zeabur@latest domain get-registered --id <domain-id> -i=false

The "Registrant Profile" section shows the email.

Update WHOIS contact (fix wrong email)

If the registrant email is wrong, update the WHOIS contact directly on the domain:

npx zeabur@latest domain verification update-contact --id <domain-id> \
  --first-name John \
  --last-name Doe \
  --email [email protected] \
  --phone "+1.5551234567" \
  --address1 "123 Main St" \
  --city "San Francisco" \
  --state CA \
  --country US \
  --postal-code 94105 \
  -i=false

Changing the email triggers a new ICANN verification flow.

In interactive mode, the command pre-fills current values so the user only changes what's needed.

Troubleshooting: domain suspended
  1. Check status: npx zeabur@latest domain verification status --id <id> -i=false
  2. Update email if needed: npx zeabur@latest domain verification update-contact --id <id>
  3. Resend verification: npx zeabur@latest domain verification resend --id <id> -i=false
  4. User clicks the link in the email
  5. Re-check status after a few minutes
Troubleshooting: verification stuck on "pending"
  • Check spam/junk folder
  • Email provider may block OpenSRS/Tucows emails
  • Try resending: npx zeabur@latest domain verification resend --id <domain-id> -i=false
  • If still not received, update to a different email: npx zeabur@latest domain verification update-contact --id <domain-id>

Comments

Markdown supported