Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.shingleai.com/llms.txt

Use this file to discover all available pages before exploring further.

The ShingleAI MCP server provides 15 tools for managing domains and their associated registration data. These tools are organized into three categories: domains, domain contacts, and domain registrations.
Domain Contacts on this page are the registrant, admin, and tech contacts attached to a domain registration (WHOIS data). They are distinct from CRM Contacts (people in your address book) — see Contact Tools for those.

Domains

Tools for managing domain records used for DNS and email.

createDomain

Create a new domain record for DNS and email management. Permission: domains:write Parameters:
NameTypeRequiredDefaultDescription
domainstringYes-The domain name (e.g., example.com)
statusstringNo”pending”Domain status (e.g., active, pending, inactive)
zoneIdstring | nullNo-Optional DNS zone ID for the domain
createdBystring (UUID) | nullNo-Optional user ID who created the domain
Verification, registrar, and Resend-related fields are managed by the platform — do not pass them in here, as they are overwritten or ignored.
Returns: The created domain object.

getDomain

Get a specific domain by ID. Permission: domains:read Parameters:
NameTypeRequiredDescription
idstring (UUID)YesThe ID of the domain to retrieve
Returns: Domain object, or null if not found.

listDomains

List all domains for the organization with pagination. Permission: domains:read Parameters:
NameTypeRequiredDefaultDescription
limitnumberNo10Maximum number of items to return (max: 100)
offsetnumberNo0Number of items to skip for pagination
sortOrderstringNo”desc”Sort order by creation date (“asc” or “desc”)
Returns:
{
  "domains": [...],
  "count": 12,
  "limit": 10,
  "offset": 0
}

updateDomain

Update an existing domain record. Permission: domains:write Parameters:
NameTypeRequiredDescription
idstring (UUID)YesThe ID of the domain to update
domainstringNoThe domain name (e.g., example.com)
statusstringNoDomain status (e.g., active, pending, inactive)
zoneIdstring | nullNoDNS zone ID for the domain
createdBystring (UUID) | nullNoUser ID who created the domain
Returns: The updated domain object.

deleteDomain

Delete a domain (soft delete). Permission: domains:delete Parameters:
NameTypeRequiredDescription
idstring (UUID)YesThe ID of the domain to delete
Returns: The deleted domain object.

Domain Contacts

Tools for managing the registrant, admin, and tech contacts attached to a domain registration. These are WHOIS-style contacts at the domain registrar — not CRM contacts.

createDomainContact

Create a new domain contact for domain registration and administrative purposes. Permission: domain-contacts:write Parameters:
NameTypeRequiredDescription
externalIdstringYesExternal ID from the domain registrar
accountIdstringYesAccount ID at the domain registrar
labelstring | nullNoOptional label for the contact (e.g., “Primary Contact”)
firstNamestringYesFirst name of the contact
lastNamestringYesLast name of the contact
organizationNamestring | nullNoOptional organization/company name
jobTitlestring | nullNoOptional job title of the contact
address1string | nullNoPrimary address line
address2string | nullNoSecondary address line
citystring | nullNoCity
stateProvincestring | nullNoState or province
postalCodestring | nullNoPostal/ZIP code
countrystring | nullNoCountry code (e.g., US, CA)
emailstringYesContact email address
phonestringYesContact phone number
createdBystring (UUID) | nullNoOptional user ID who created the contact
Returns: The created domain contact object.

getDomainContact

Get a specific domain contact by ID. Permission: domain-contacts:read Parameters:
NameTypeRequiredDescription
idstring (UUID)YesThe ID of the domain contact to retrieve
Returns: Domain contact object, or null if not found.

listDomainContacts

List all domain contacts for the organization with pagination. Permission: domain-contacts:read Parameters:
NameTypeRequiredDefaultDescription
limitnumberNo10Maximum number of items to return (max: 100)
offsetnumberNo0Number of items to skip for pagination
sortOrderstringNo”desc”Sort order by creation date (“asc” or “desc”)
Returns:
{
  "domainContacts": [...],
  "count": 8,
  "limit": 10,
  "offset": 0
}

updateDomainContact

Update an existing domain contact record. Permission: domain-contacts:write Parameters:
NameTypeRequiredDescription
idstring (UUID)YesThe ID of the domain contact to update
externalIdstringNoExternal ID from the domain registrar
accountIdstringNoAccount ID at the domain registrar
labelstring | nullNoLabel for the contact (e.g., “Primary Contact”)
firstNamestringNoFirst name of the contact
lastNamestringNoLast name of the contact
organizationNamestring | nullNoOrganization/company name
jobTitlestring | nullNoJob title of the contact
address1string | nullNoPrimary address line
address2string | nullNoSecondary address line
citystring | nullNoCity
stateProvincestring | nullNoState or province
postalCodestring | nullNoPostal/ZIP code
countrystring | nullNoCountry code (e.g., US, CA)
emailstringNoContact email address
phonestringNoContact phone number
createdBystring (UUID) | nullNoUser ID who created the contact
Returns: The updated domain contact object.

deleteDomainContact

Delete a domain contact (soft delete). Permission: domain-contacts:delete Parameters:
NameTypeRequiredDescription
idstring (UUID)YesThe ID of the domain contact to delete
Returns: The deleted domain contact object.

Domain Registrations

Tools for managing domain registration records that track ownership, renewal, and registrar metadata.

createDomainRegistration

Create a new domain registration record to track domain ownership and renewal. Permission: domain-registrations:write Parameters:
NameTypeRequiredDescription
statestringYesRegistration state (e.g., registered, pending, expired)
externalDomainIdstringYesExternal domain ID from the registrar
externalIdstringYesExternal registration ID from the registrar
autoRenewbooleanYesWhether auto-renewal is enabled
whoisPrivacybooleanYesWhether WHOIS privacy is enabled
transferLockbooleanYesWhether domain transfer lock is enabled
periodnumberYesRegistration period in years
domainIdstring (UUID) | nullNoOptional reference to the related domain record
createdBystring (UUID) | nullNoOptional user ID who created the registration
Returns: The created domain registration object.

getDomainRegistration

Get a specific domain registration by ID. Permission: domain-registrations:read Parameters:
NameTypeRequiredDescription
registrationIdstring (UUID)YesThe ID of the domain registration to retrieve
Returns: Domain registration object, or null if not found.

listDomainRegistrations

List all domain registrations for the organization with pagination. Permission: domain-registrations:read Parameters:
NameTypeRequiredDefaultDescription
limitnumberNo10Maximum number of items to return (max: 100)
offsetnumberNo0Number of items to skip for pagination
sortOrderstringNo”desc”Sort order by creation date (“asc” or “desc”)
Returns:
{
  "domainRegistrations": [...],
  "count": 5,
  "limit": 10,
  "offset": 0
}

updateDomainRegistration

Update an existing domain registration record - all fields are optional except registrationId. Permission: domain-registrations:write Parameters:
NameTypeRequiredDescription
registrationIdstring (UUID)YesThe ID of the domain registration to update
statestringNoUpdate the registration state (e.g., registered, pending, expired)
externalDomainIdstringNoUpdate the external domain ID from the registrar
externalIdstringNoUpdate the external registration ID from the registrar
autoRenewbooleanNoUpdate whether auto-renewal is enabled
whoisPrivacybooleanNoUpdate whether WHOIS privacy is enabled
transferLockbooleanNoUpdate whether domain transfer lock is enabled
periodnumberNoUpdate the registration period in years
createdBystring (UUID) | nullNoUpdate the user ID who created the registration
Returns: The updated domain registration object.

deleteDomainRegistration

Delete a domain registration (soft delete). Permission: domain-registrations:delete Parameters:
NameTypeRequiredDescription
registrationIdstring (UUID)YesThe ID of the domain registration to delete
Returns: The deleted domain registration object.

Next Steps

Contact Tools

Manage CRM contacts, distinct from the WHOIS-style domain contacts above

Authentication

Learn how MCP clients authenticate to the server