Skip to content
Last updated
Edit

Available Tools

The following section is a detailed description of all the tools available in the Unstoppable Domains MCP server. While this documentation is provided for your information, the LLM will automatically choose the specific tools required to complete the tasks from your conversation.

Search for domain availability and pricing across TLDs.

Parameters:

ParameterTypeRequiredDescription
querystring or string[]YesDomain name(s) to search. Can be full domain ("example.com") or search term ("mybusiness"). Up to 10 queries.
tldsstring[]NoTLDs to search (e.g., ["com", "org", "io"]). Max 5. Use ud_tld_list to verify support.
limitnumberNoResults to return (1-100, default: 20)
offsetnumberNoResults to skip for pagination (default: 0)

Example prompts:

  • "Search for available domains with 'startup' in the name"
  • "Check if example.com is available"
  • "Find .io domains containing 'dev'"

Not all ICANN TLDs are supported. Use ud_tld_list first to verify. Prices are returned in cents (USD).

ud_tld_list

List all available ICANN TLDs supported by the registrar.

Parameters: None

Example prompts:

  • "What TLDs can I register?"
  • "Show me all available domain extensions"
  • "Is .ai supported?"

Portfolio Management

ud_portfolio_list

List domains in your portfolio with filtering and sorting.

Parameters:

ParameterTypeRequiredDescription
pagenumberNoPage number, 1-indexed (default: 1)
pageSizenumberNoDomains per page (1-100, default: 50)
searchTermstringNoFilter by domain name
statusstringNo"all", "for-sale", or "unlisted" (default: "all")
registryTypestringNo"dns" (ICANN) or "web3" (default: "dns")
expiringWithinDaysnumberNoFilter domains expiring within N days (1-365)
expiredbooleanNoFilter for expired domains
minLength / maxLengthnumberNoFilter by domain label length
autoRenewalstringNo"true" or "false"
tagFiltersstring[]NoFilter by tags (e.g., ["personal", "business"])
orderBystringNoSort by: "name", "length", "purchasedAt", "expiresAt", "listingPrice", "offers", "leads", "watchlistCount"
orderDirectionstringNo"asc" or "desc" (default: "asc")

Example prompts:

  • "Show me all my domains"
  • "List domains expiring in the next 30 days"
  • "Show domains I have listed for sale, sorted by price"
  • "Find my 4-letter domains"

ICANN Contacts

ud_contacts_list

List ICANN contacts for domain registration.

Parameters:

ParameterTypeRequiredDescription
includeDisabledbooleanNoInclude disabled contacts (default: false)

Example prompts:

  • "Show my ICANN contacts"
  • "List all registration contacts including disabled ones"

ud_contact_create

Create a new ICANN contact for DNS domain registration.

Parameters:

ParameterTypeRequiredDescription
firstNamestringYesContact first name
lastNamestringYesContact last name
emailstringYesContact email address
phoneobjectYes{ dialingPrefix: "+1", number: "5551234567" }
streetstringYesStreet address
citystringYesCity
stateProvincestringYesState/province code
postalCodestringYesPostal/ZIP code
countryCodestringYesTwo-letter ISO country code (e.g., "US")
organizationstringNoCompany name

Example prompts:

  • "Create an ICANN contact for John Smith at 123 Main St, New York, NY 10001"
  • "Add a business contact for Acme Corp"

Required before purchasing .com, .org, .net, and other ICANN domains.

Cart Management

ud_cart_get

Get shopping cart contents with pricing breakdown.

Parameters:

ParameterTypeRequiredDescription
discountCodestringNoPromo code to apply

Example prompts:

  • "Show my cart"
  • "What's in my shopping cart?"
  • "Apply promo code SAVE20 to my cart"

ud_cart_add_domain

Add primary (unregistered) domains to cart.

Parameters:

ParameterTypeRequiredDescription
domainsarrayYesArray of domain objects
domains[].namestringYesFull domain name (e.g., "example.com")
domains[].quantitynumberNoRegistration years (1-10, default: 1)

Example prompts:

  • "Add example.com to my cart"
  • "Add mybrand.io for 2 years"
  • "Add startup.com and startup.io to my cart"

ud_cart_add_domain_listed

Add marketplace-listed domains to cart (buy-now or lease-to-own).

Parameters:

ParameterTypeRequiredDescription
domainsarrayYesArray of domain objects (max 50)
domains[].namestringYesListed domain name
domains[].leaseToOwnOptionsobjectNoLease-to-own configuration
domains[].leaseToOwnOptions.typestringNo"equal_installments" or "down_payment_plus_equal_installments"
domains[].leaseToOwnOptions.termLengthnumberNoPayment term (3-24 months)
domains[].leaseToOwnOptions.downPaymentPercentagenumberNoDown payment (10-90%, required for down_payment type)

Example prompts:

  • "Add premium.com to my cart"
  • "Add premium.com with lease-to-own over 12 months"
  • "Add premium.com with 20% down payment and 12 monthly installments"

ud_cart_add_domain_renewal

Add domain renewals to cart.

Parameters:

ParameterTypeRequiredDescription
domainsarrayYesArray of domain objects (max 50)
domains[].namestringYesDomain to renew (must own)
domains[].quantitynumberNoRenewal years (1-10, default: 1)

Example prompts:

  • "Renew example.com for 1 year"
  • "Add 3-year renewal for mybrand.io"

ud_cart_remove

Remove items from cart.

Parameters:

ParameterTypeRequiredDescription
productIdsstring[]YesProduct IDs to remove (from cart response)

Example prompts:

  • "Remove example.com from my cart"
  • "Clear the domain I just added"

Payment & Checkout

ud_cart_get_payment_methods

Get saved payment methods and account balance.

Parameters: None

Example prompts:

  • "Show my payment methods"
  • "What's my account balance?"
  • "What cards do I have on file?"

ud_payment_method_add_url

Get a URL to add a new payment method (for example, when you don't have any cards on file).

Parameters: None

Example prompts:

  • "Give me a link to add a new card"
  • "I don't have any payment methods, how do I add one?"
  • "Generate a URL so I can add a payment method"

ud_cart_checkout

Complete checkout using saved payment method or account balance.

Parameters:

ParameterTypeRequiredDescription
paymentMethodIdstringNoStripe payment method ID
useAccountBalancebooleanNoUse account balance (default: true)
discountCodestringNoPromo code
contactIdstringNoICANN contact ID for DNS domains

Example prompts:

  • "Complete my purchase using my account balance"
  • "Checkout using my Visa ending in 4242"
  • "Complete checkout with contact ID abc123"

For DNS domains (.com, .org, etc.), you must have an ICANN contact. Use ud_contacts_list to find your contact ID.

ud_cart_get_url

Generate a checkout URL for browser-based purchase.

Parameters:

ParameterTypeRequiredDescription
discountCodestringNoPromo code for checkout

Example prompts:

  • "Give me a checkout link"
  • "Generate a URL to complete my purchase"

Marketplace Listings

ud_listing_create

Create marketplace listings to sell domains.

Parameters:

ParameterTypeRequiredDescription
domainsarrayYesArray of listing objects (max 50)
domains[].domainNamestringYesDomain to list
domains[].priceInCentsnumberNoBuy-now price in cents (0 for offers-only)
domains[].expiresAtstringNoListing expiration (ISO 8601)
domains[].isEmailAliasUsedbooleanNoEnable email contact feature
domains[].listingSettingsobjectNoAdditional settings
domains[].listingSettings.isOfferFeatureEnabledbooleanNoAccept offers
domains[].listingSettings.minOfferAmountInCentsnumberNoMinimum offer amount
domains[].leaseToOwnOptionsobjectNoLease-to-own configuration

Example prompts:

  • "List mydomain.com for $5,000"
  • "List mydomain.com for offers only with $1,000 minimum"
  • "List mydomain.com for $10,000 with lease-to-own option"

Prices are in cents (e.g., $5,000 = 500000 cents). Set priceInCents to 0 for offers-only listings.

ud_listing_update

Update existing marketplace listings.

Parameters:

ParameterTypeRequiredDescription
listingsarrayYesArray of update objects (max 50)
listings[].idnumberYesListing ID
listings[].priceInCentsnumberNoNew price in cents
listings[].expiresAtstringNoNew expiration date
listings[].listingSettingsobjectNoUpdated settings

Example prompts:

  • "Change mydomain.com listing price to $7,500"
  • "Enable offers on my listing with ID 12345"

ud_listing_cancel

Cancel marketplace listings.

Parameters:

ParameterTypeRequiredDescription
listingIdsnumber[]YesListing IDs to cancel (max 50)

Example prompts:

  • "Cancel my listing for mydomain.com"
  • "Remove mydomain.com from the marketplace"

ud_offers_list

List incoming offers on your domains.

Parameters:

ParameterTypeRequiredDescription
domainNamestringNoFilter by domain
groupstringNo"active" or "sold"
pagenumberNoPage number

Example prompts:

  • "Show me all incoming offers"
  • "What offers do I have on mydomain.com?"
  • "Show my accepted offers"

ud_offer_respond

Accept or reject offers on your domains.

Parameters:

ParameterTypeRequiredDescription
offersarrayYesArray of response objects (max 50)
offers[].idnumberYesOffer ID
offers[].actionstringYes"accept" or "reject"

Example prompts:

  • "Accept offer 12345"
  • "Reject the $500 offer on mydomain.com"

Domain Conversations

ud_leads_list

List domain conversation leads (buyer-seller messages).

Parameters:

ParameterTypeRequiredDescription
domainstringNoFilter by domain name
skipEmptybooleanNoSkip conversations with no messages (default: false)
skipnumberNoPagination offset (default: 0)
takenumberNoConversations to return (1-100, default: 20)

Example prompts:

  • "Show my domain conversations"
  • "List leads for mydomain.com"

ud_domain_contact_seller

Contact a domain seller to start a conversation.

Parameters:

ParameterTypeRequiredDescription
domainstringYesDomain to inquire about
buyerIdstringNoEncoded buyer ID (for offer responses)

Example prompts:

  • "Contact the seller of premium.com"
  • "Start a conversation about example.io"

ud_lead_messages_list

Get messages in a domain conversation.

Parameters:

ParameterTypeRequiredDescription
conversationIdnumberYesConversation ID
cursorstringNoPagination cursor for older messages

Example prompts:

  • "Show messages in conversation 12345"
  • "What did the seller say?"

ud_lead_message_send

Send a message in a domain conversation.

Parameters:

ParameterTypeRequiredDescription
conversationIdnumberYesConversation ID
contentstringYesMessage text (1-1000 characters)

Example prompts:

  • "Send 'I'm interested in your domain' to conversation 12345"
  • "Reply asking about their minimum price"

DNS Records

ud_dns_records_list

List DNS records for a domain.

Parameters:

ParameterTypeRequiredDescription
domainstringYesDomain name
typestringNoFilter by record type (A, AAAA, CNAME, MX, TXT, NS)
subNamestringNoFilter by subdomain
cursorstringNoPagination cursor

Example prompts:

  • "Show DNS records for mybrand.io"
  • "List all MX records for example.com"
  • "What A records does mydomain.com have?"

ud_dns_record_add

Add a DNS record to a domain.

Parameters:

ParameterTypeRequiredDescription
domainstringYesDomain name
typestringYesRecord type: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA
valuesstring[]YesRecord values
subNamestringNoSubdomain (default: "@" for root)
ttlnumberNoTime-to-live in seconds (60-86400, default: 3600)
upsertModestringNo"append", "replace", or "disallowed"

Example prompts:

  • "Add an A record for mybrand.io pointing to 192.0.2.1"
  • "Add a CNAME for www.mybrand.io pointing to mybrand.io"
  • "Add MX records for Google Workspace"
  • "Add a TXT record for domain verification"

Use subName: "@" for root domain records. Use upsertMode: "replace" to overwrite existing records of the same type/subname.

ud_dns_record_update

Update an existing DNS record.

Parameters:

ParameterTypeRequiredDescription
domainstringYesDomain name
recordIdstringYesRecord ID (from ud_dns_records_list)
valuesstring[]YesNew record values
ttlnumberNoNew TTL (60-86400, default: 3600)

Example prompts:

  • "Update my A record to point to 192.0.2.2"
  • "Change the TTL on record abc123 to 300 seconds"

ud_dns_record_remove

Remove a specific DNS record.

Parameters:

ParameterTypeRequiredDescription
domainstringYesDomain name
recordIdstringYesRecord ID to remove

Example prompts:

  • "Delete the old A record"
  • "Remove DNS record abc123"

ud_dns_records_remove_all

Remove ALL user-created DNS records from a domain.

Parameters:

ParameterTypeRequiredDescription
domainstringYesDomain name
confirmbooleanYesMust be true to confirm deletion

Example prompts:

  • "Remove all DNS records from mybrand.io"
  • "Clear all my custom DNS settings"

This is destructive. The confirm: true parameter is required.

DNS Nameservers

ud_dns_nameservers_list

List nameservers for a domain.

Parameters:

ParameterTypeRequiredDescription
domainstringYesDomain name
includeDnssecbooleanNoInclude DNSSEC information

Example prompts:

  • "What nameservers is mybrand.io using?"
  • "Show nameserver configuration with DNSSEC status"

ud_dns_nameservers_set_custom

Set custom (external) nameservers.

Parameters:

ParameterTypeRequiredDescription
domainstringYesDomain name
nameserversstring[]YesNameserver hostnames (2-12 required)
dnssecobjectNoDNSSEC DS records

Example prompts:

  • "Point mybrand.io to Cloudflare nameservers"
  • "Set custom nameservers: ns1.example.com and ns2.example.com"

Requires 2-12 nameserver hostnames. DNS record management through this tool will be disabled when using custom nameservers.

ud_dns_nameservers_set_default

Reset to Unstoppable Domains default nameservers.

Parameters:

ParameterTypeRequiredDescription
domainstringYesDomain name

Example prompts:

  • "Switch mybrand.io back to default nameservers"
  • "Reset nameservers to UD defaults"

Re-enables DNS record management through these tools.

DNS Hosting

ud_dns_hosting_list

List hosting/forwarding configurations.

Parameters:

ParameterTypeRequiredDescription
domainstringYesDomain name
cursorstringNoPagination cursor

Example prompts:

  • "Show hosting configuration for mybrand.io"
  • "What redirects are set up for my domain?"

ud_dns_hosting_add

Add hosting configuration (for-sale page, redirect, or reverse proxy).

Parameters:

ParameterTypeRequiredDescription
domainstringYesDomain name
typestringYes"LISTING_PAGE", "REDIRECT_301", "REDIRECT_302", or "REVERSE_PROXY"
targetUrlstringConditionalRequired for REDIRECT_301, REDIRECT_302, and REVERSE_PROXY
subNamestringNoSubdomain to configure
forceCompatibilitybooleanNoAuto-configure nameservers if needed

Example prompts:

  • "Set up a for-sale landing page for mybrand.io"
  • "Redirect mybrand.io to https://mynewsite.com with a 301"
  • "Add a 302 redirect from old.mybrand.io to mybrand.io/new"
  • "Set up a reverse proxy from mybrand.io to my web app"

ud_dns_hosting_remove

Remove hosting/forwarding configuration.

Parameters:

ParameterTypeRequiredDescription
domainstringYesDomain name
subNamestringNoSubdomain to remove config from
deleteAllbooleanNoRemove ALL hosting configs
confirmDeleteAllbooleanConditionalRequired if deleteAll is true

Example prompts:

  • "Remove the redirect from mybrand.io"
  • "Delete all hosting configurations"

AI Landing Pages

ud_domain_generate_lander

Trigger AI-generated landing page creation for one or more domains.

Parameters:

ParameterTypeRequiredDescription
domainsstring[]YesArray of domain names (1-50)
instructionsstringNoCustom instructions to guide AI generation (e.g., tone, color scheme, content focus). Applied to all domains in the request.

Example prompts:

  • "Generate a landing page for mybrand.com"
  • "Create a landing page for mybrand.com with a blue color scheme and professional tone"
  • "Generate landing pages for mybrand.com and mybrand.io"

ud_domain_lander_status

Check the status of AI landing page generation for one or more domains.

Parameters:

ParameterTypeRequiredDescription
domainsstring[]YesArray of domain names (1-50)

Example prompts:

  • "Check the lander status for mybrand.com"
  • "Is my landing page ready?"

Possible statuses: pending, generating, processing, hosted, failed, or none.

ud_domain_remove_lander

Remove AI-generated landing pages from one or more domains.

Parameters:

ParameterTypeRequiredDescription
domainsstring[]YesArray of domain names (1-50)

Example prompts:

  • "Remove the landing page from mybrand.com"
  • "Delete AI landing pages from all my domains"

ud_domain_download_lander

Download existing hosted lander content from one or more domains.

Parameters:

ParameterTypeRequiredDescription
domainsstring[]YesArray of domain names (1-50)

Example prompts:

  • "Download the landing page from mybrand.com"
  • "Get the HTML content of my lander"

Single-page landers return raw HTML (htmlContent). Multi-file sites return a base64-encoded zip (zipContent).

ud_domain_upload_lander

Upload custom landing page content to one or more domains.

Parameters:

ParameterTypeRequiredDescription
domainsarrayYesArray of domain objects with content (1-50)
domains[].namestringYesDomain name
domains[].htmlContentstringConditionalRaw HTML for single-page landers
domains[].zipContentstringConditionalBase64-encoded zip for multi-file sites

Each domain must have exactly one of htmlContent or zipContent. Existing lander content is replaced.

Example prompts:

  • "Upload a custom landing page to mybrand.com"
  • "Replace my lander with custom HTML"

Backorders

ud_backorders_list

List your domain backorders with optional filtering and pagination.

Parameters:

ParameterTypeRequiredDescription
statusstring[]NoFilter by backorder status
querystringNoSearch by domain name (partial match)
offsetnumberNoPagination offset (default: 0)
limitnumberNoItems per page (1-100, default: 20)

Example prompts:

  • "Show my backorders"
  • "List pending backorders"
  • "Search my backorders for coffee"

ud_backorder_create

Create backorders for one or more expiring DNS domains.

Parameters:

ParameterTypeRequiredDescription
domainsarrayYesArray of domain objects to backorder

Example prompts:

  • "Backorder expiring-domain.com"
  • "Create a backorder for premium.net"

The system monitors the domain and automatically registers it when it drops. An Account Balance hold is placed when the backorder is created.

ud_backorder_cancel

Cancel one or more pending domain backorders.

Parameters:

ParameterTypeRequiredDescription
backorderIdsstring[]YesArray of backorder IDs to cancel

Example prompts:

  • "Cancel my backorder for expiring-domain.com"
  • "Cancel backorder ID abc123"

Refunds the Account Balance hold (minus non-refundable service fee) and removes the scheduled registration job.

ud_expireds_list

Browse the expireds/pending-delete domain marketplace.

Parameters:

ParameterTypeRequiredDescription
querystringNoSearch by domain name (exact match if contains dot) or label substring
statusstringNo"COMING_SOON" (not yet dropped) or "AVAILABLE_BACKORDER" (already dropped)
tldsstring[]NoFilter by TLD extensions (e.g., ["com", "net"])
sortBystringNoSort field (default: "deletionAt")
sortDirectionstringNo"ASC" or "DESC" (default: "ASC")
lengthRangenumber[]NoFilter by label length [min, max] (max=0 for no upper bound)
bidsRangenumber[]NoFilter by backorder count [min, max] (max=0 for no upper bound)
watchlistRangenumber[]NoFilter by watchlist count [min, max] (max=0 for no upper bound)
offsetnumberNoPagination offset (default: 0)
limitnumberNoItems to return (1-500, default: 50)

Example prompts:

  • "Show me expiring domains"
  • "Find expiring .com domains with short names"
  • "Browse domains available for backorder"
  • "Show me expiring domains with at least 5 backorders"

Session

ud_authenticated_url_get

Generate a one-time authenticated URL that signs the user in and redirects to a specified page.

Parameters:

ParameterTypeRequiredDescription
pathstringYesPage path to open in the browser (e.g., "/account/payments/card")

Example prompts:

  • "Give me a link to manage my account settings"
  • "Open my payment methods page"

The URL expires after 60 seconds and is single-use. Use this whenever the user needs to complete an action in the browser.

Domain Operations

ud_domain_pending_operations

Check status of pending DNS operations.

Parameters:

ParameterTypeRequiredDescription
domainstringYesDomain name
includeCompletedbooleanNoInclude operations completed in last 24 hours

Example prompts:

  • "Are there any pending DNS changes for mybrand.io?"
  • "Check the status of my nameserver update"

ud_domain_auto_renewal_update

Enable or disable auto-renewal for ICANN domains.

Parameters:

ParameterTypeRequiredDescription
actionstringYes"enable" or "disable"
domainsarrayYesArray of domain objects (max 50)
domains[].namestringYesDomain name
paymentMethodIdstringNoPayment method ID (uses default card if omitted)

Example prompts:

  • "Enable auto-renewal for mybrand.io"
  • "Turn off auto-renewal for example.com"
  • "Enable auto-renewal for all my domains using my Visa"

When enabling, a payment method is used. If paymentMethodId is omitted, your default card will be used. Use ud_cart_get_payment_methods to see available methods.