servers / aivikings-ai
AiVikings.ai MCP server
communitystreamable_httpremotedestructive capablehealthy
Find, register, and manage domains from any AI chat or agent
01Tools · 34
How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.
| Tool | Risk | Side effects | Approval |
|---|---|---|---|
| add_dns_record Add 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. | write | true | unknown |
| assign_domain_registration_contact_roles Assign 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. | write | true | unknown |
| check_domain_availability Check availability for up to 200 domain names through AIvikings. The is_premium field identifies premium pricing; domain_type only classifies name length. Use get_domain_pricing for full price schedules. | unknown | unknown | unknown |
| check_single_domain_availability Check availability for one domain through AIvikings. The is_premium field identifies premium pricing; domain_type only classifies name length. Use get_domain_pricing for the full price schedule. | unknown | unknown | unknown |
| configure_dns_record Configure 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 matching parent domain. | unknown | unknown | unknown |
| create_contact Create 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. | write | true | unknown |
| create_customer Create a new customer without generating or returning an API key. | write | true | unknown |
| delete_dns_record Permanently delete a managed DNS record. Call list_dns_records first and pass the exact DNS zone record ID returned by the provider. | destructive | true | true |
| domain_transfer Transfer a domain in through AIvikings. | write | true | unknown |
| get_contact Get one reusable contact by its handle. | read | false | unknown |
| get_current_user Return the authenticated AIvikings customer for the current bearer API key, including name and email when the key belongs to a customer. | read | false | unknown |
| get_customer Get the customer record linked to the current bearer token. A supplied customer ID must match that token. | read | false | unknown |
| get_domain_audit_log Read 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 was enabled; agent labels are self-reported. | read | false | unknown |
| get_domain_pricing Get 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 upstream cost prices. | read | false | unknown |
| get_domain_status Fetch 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. | read | false | unknown |
| get_prepaid_balance Return 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. | read | false | unknown |
| get_transfer_auth_code Return the EPP transfer auth code for a domain owned by the authenticated customer. The secret is fetched only on demand. | write | true | unknown |
| list_contact_countries List exact ConnectReseller country names and IDs for creating or updating contacts. | read | false | unknown |
| list_contact_states List exact ConnectReseller state names for a country name, country ID, or ISO code. Use the returned name in contact requests. | read | false | unknown |
| list_contacts List reusable contacts belonging to the authenticated customer. | read | false | unknown |
| list_dns_records List 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. | read | false | unknown |
| list_domain_registration_contacts List 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. | read | false | unknown |
| list_domains List domains recorded in the local registrar datastore. | read | false | unknown |
| lock_domain Enable the registrar transfer lock for a domain owned by the authenticated customer. | unknown | unknown | unknown |
| reconcile_domains Compare locally recorded domains with AIvikings records. | unknown | unknown | unknown |
| reconcile_provider_client Link or create the authenticated customer's registrar client account, preventing duplicate creation. | unknown | unknown | unknown |
| regenerate_transfer_auth_code Regenerate and return a new EPP transfer auth code for a domain owned by the authenticated customer, invalidating the old code. | write | true | unknown |
| register_domain Register 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 USD or EUR currency used for the price quote; otherwise the customer's preferred currency is used. If that wallet is short and automatic conversion is enabled, only the missing amount is converted from the other supported wallet. For a premium domain, first show the current get_domain_pricing quote to the user and set allow_premium=true only after the user explicitly accepts that price. | read | false | unknown |
| remove_domain_registration_contact_roles Remove 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 contact_handle. | destructive | true | true |
| renew_domain Renew a domain through AIvikings. | unknown | unknown | unknown |
| unlock_domain Disable the registrar transfer lock for a domain owned by the authenticated customer before a transfer-out. | unknown | unknown | unknown |
| update_dns_record Replace 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. | write | true | unknown |
| update_nameservers Replace a domain's nameservers through AIvikings. | write | true | unknown |
| update_registrant_contact Update 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 change is reported as verification pending until the registrant completes that step. | write | true | unknown |
02Install & source
https://mcp.aivikings.ai/mcp
remote_url- homepagehttps://mcp.aivikings.ai/mcp
03Access granted
Update a CRM · write
The access this server can exercise, inferred from its verified tools — not a declared OAuth scope.
05Provenance & freshness
sourcesOfficial MCP Registry [p1]
last_checked2026-10-09 19:41Z
next_check2026-10-11 12:50Z
cadenceevery 48h
verifiedtools_list:passed handshake:passed metadata:passed
index_statusindex — 5 unique facts >= 5
06Badge
Add the “as seen on MCPExplorer” badge to your README.
[](https://mcpexplorer.com/servers/aivikings-ai)
Next step
This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.
Explore loadouts →