ai.aivikings/registrar

AiVikings.ai

Find, register, and manage domains from any AI chat or agent

Endpointhttps://mcp.aivikings.ai/mcp (streamable-http)
Registry version1.0.3
Now34 tools · grade F (15) · pin ts_6200c18d750d8c36a8baa3b60dff8487 · protocol 2025-06-18
First / last listed2026-10-25 07:37 UTC / 2026-10-25 07:37 UTC
Grade over time2026-10-25: F (15), 34 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-25 07:37 UTC
34 tools, grade F (15)

Tools: get_domain_audit_log get_current_user check_domain_availability check_single_domain_availability get_domain_pricing get_prepaid_balance list_contact_countries list_contact_states create_contact get_contact list_contacts list_domain_registration_contacts assign_domain_registration_contact_roles remove_domain_registration_contact_roles register_domain get_domain_status list_domains renew_domain update_registrant_contact update_nameservers configure_dns_record list_dns_records add_dns_record update_dns_record delete_dns_record domain_transfer get_transfer_auth_code regenerate_transfer_auth_code lock_domain unlock_domain reconcile_domains create_customer get_customer reconcile_provider_client

Current tools (34)

get_domain_audit_logRead append-only domain change history for the authenticated customer. Omit domain for portfolio history. Requires audit:read. Results are newest recorded first; pass next_cursor with the same filters for another page. Times must include a timezone. Requested, state_changed, and outcome events share an operation_id. Accepted is not proof of provider completion. History starts when domain auditing
params: domain, action, from_timestamp, to_timestamp, cursor, limit
get_current_userReturn the authenticated AIvikings customer for the current bearer API key, including name and email when the key belongs to a customer.
params: none
check_domain_availabilityCheck availability for up to 200 domain names through AIvikings. depth="fast" answers in about a second without contacting the registry, for brainstorming many names; depth="confirm" (default) asks the registry about every name that might be free and returns prices. A good flow: check many names with depth="fast", then confirm the shortlist with depth="confirm". Each result has a status: available
params: domains*, currency, depth
check_single_domain_availabilityCheck availability for one domain through AIvikings. depth="confirm" (default) asks the registry and returns the price; depth="fast" answers quickly without a price. Each result has a status: available (confirmed by the registry, with price and is_premium), likely_available (no registration found by fast checks, NOT confirmed and has no price), taken, reserved, pending_delete, invalid, unsupported
params: domain*, currency, depth
get_domain_pricingGet a fresh price quote for one domain. Returns customer-facing registration, renewal, and transfer prices, plus is_premium so the user can be told when premium pricing applies. Omit currency to use the returned currency; USD and EUR can be requested explicitly. Prices are not converted: if the requested currency is unavailable, price fields are null with a price_unavailable_reason. Never exposes
params: domain*, currency
get_prepaid_balanceReturn the authenticated customer's prepaid balance for domain purchases. Returns both USD and EUR wallet balances. When automatic currency conversion is enabled, a zero balance in the requested currency does not block registration if the other wallet has enough credit; register_domain converts only the missing amount automatically.
params: currency
list_contact_countriesList exact ConnectReseller country names and IDs for creating or updating contacts.
params: none
list_contact_statesList exact ConnectReseller state names for a country name, country ID, or ISO code. Use the returned name in contact requests.
params: country*
create_contactCreate a reusable contact for domain registration. Use list_contact_countries and list_contact_states to choose valid country and state names. The returned handle can be passed to register_domain and reused for multiple domains. When handle is omitted, it is generated from the company initials (or contact-name initials), four digits, and the country code.
params: name*, email*, address*, city*, state*, country*, postal_code*, phone_country_code*, phone_number*, handle, organization, address_line_2, default_registrant, default_admin, default_technical, default_billing
get_contactGet one reusable contact by its handle.
params: contact_handle*
list_contactsList reusable contacts belonging to the authenticated customer.
params: none
list_domain_registration_contactsList the authenticated customer's registrant/contact handles for domain registrations. Returns whether each contact is complete enough for registration, its missing required fields, its default domain-contact roles, and the handle to pass to register_domain. Always call this before attempting a domain registration.
params: none
assign_domain_registration_contact_rolesAssign one existing contact handle as the default for selected domain-registration roles. Set assign_registrant, assign_admin, assign_technical, and/or assign_billing to true; false leaves that role unchanged. Assigning a role replaces any previous default for that role. Use this when registration validation reports a missing registrant, admin, technical, or billing contact.
params: contact_handle*, assign_registrant, assign_admin, assign_technical, assign_billing
remove_domain_registration_contact_rolesRemove selected default domain-registration roles from one existing contact handle. Set remove_registrant, remove_admin, remove_technical, and/or remove_billing to true; false leaves that role unchanged. This does not delete the contact. Removing a role without assigning it to another contact can make registration validation fail unless register_domain is called with an explicit registration-ready
params: contact_handle*, remove_registrant, remove_admin, remove_technical, remove_billing
register_domainRegister a domain through AIvikings using the authenticated account's configurable default nameservers when nameservers are omitted. Call list_domain_registration_contacts first and pass contact_handle to use one complete reusable contact for registrant, admin, technical, and billing roles. If there is no registration-ready contact, call create_contact before registration. Set currency to the same
params: domain*, period_years*, nameservers, currency, contact_handle, allow_premium
get_domain_statusFetch the latest domain status, expiry and nameservers from the registrar and refresh the saved AIvikings record. Use this for an on-demand update, including pending transfers.
params: domain*
list_domainsList domains recorded in the local registrar datastore.
params: none
renew_domainRenew a domain through AIvikings.
params: domain*, period_years*
update_registrant_contactUpdate the registrant contact for a domain owned by the authenticated customer. Pass contact_handle by itself to apply an existing reusable contact without copying its fields into a new contact record. Name, organization, or email changes require acknowledge_transfer_lock=true because they initiate registrant verification and can impose a 60-day inter-registrar transfer lock. A provider-accepted c
params: domain*, contact_handle, name, organization, email, address, city, state, country, postal_code, phone_country_code, phone_number, acknowledge_transfer_lock
update_nameserversReplace a domain's nameservers through AIvikings.
params: domain*, nameservers*
configure_dns_recordConfigure an A record for a domain through AIvikings. Use record_name=@ or omit it for the root/apex record. To create a subdomain, pass a relative name such as www for www.example.com or staging.api for staging.api.example.com. For compatibility, a complete hostname such as www.example.com may also be passed as domain; the server will resolve it against the authenticated customer's longest matchi
params: domain*, record_value*, record_name
list_dns_recordsList the managed DNS records for a domain owned by the authenticated customer. Use the returned DNS zone record ID when updating or deleting a record.
params: domain*
add_dns_recordAdd a managed DNS record to a domain owned by the authenticated customer. Supported types are A, AAAA, CNAME, MX, TXT, NS, and SRV. Relative names are expanded below the domain, including nested names such as staging.api; use @ for the zone apex. SRV records require port and weight.
params: domain*, record_name*, record_type*, record_value*, record_ttl, record_priority, record_port, record_weight
update_dns_recordReplace an existing managed DNS record. Call list_dns_records first and pass its DNS zone record ID. All record fields must describe the desired replacement.
params: domain*, dns_zone_record_id*, record_name*, record_type*, record_value*, record_ttl, record_priority, record_port, record_weight
delete_dns_recordPermanently delete a managed DNS record. Call list_dns_records first and pass the exact DNS zone record ID returned by the provider.
params: domain*, dns_zone_record_id*
domain_transferTransfer a domain in through AIvikings.
params: domain*, auth_code*, period_years
get_transfer_auth_codeReturn the EPP transfer auth code for a domain owned by the authenticated customer. The secret is fetched only on demand.
params: domain*
regenerate_transfer_auth_codeRegenerate and return a new EPP transfer auth code for a domain owned by the authenticated customer, invalidating the old code.
params: domain*
lock_domainEnable the registrar transfer lock for a domain owned by the authenticated customer.
params: domain*
unlock_domainDisable the registrar transfer lock for a domain owned by the authenticated customer before a transfer-out.
params: domain*
reconcile_domainsCompare locally recorded domains with AIvikings records.
params: none
create_customerCreate a new customer without generating or returning an API key.
params: email*, display_name, company_name, referral_code, referred_by, preferred_currency
get_customerGet the customer record linked to the current bearer token. A supplied customer ID must match that token.
params: customer_id
reconcile_provider_clientLink or create the authenticated customer's registrar client account, preventing duplicate creation.
params: customer_id

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.