AiVikings.ai
ai.aivikings/registrarVersion 1.0.3Find, register, and manage domains from any AI chat or agent
Status
Responds157 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 13:26 UTC
- Latency
- 157 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- EU hosting detected (detected, not a legal statement)
- Registry data as of
- Nov 14, 2026, 22:14 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://mcp.aivikings.ai/mcpResponds157 msNo sign-in
Claude Code
claude mcp add --transport http registrar https://mcp.aivikings.ai/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: registrar
Remote MCP server URL: https://mcp.aivikings.ai/mcpCursor
{
"mcpServers": {
"registrar": {
"url": "https://mcp.aivikings.ai/mcp"
}
}
}VS Code
code --add-mcp '{"name":"registrar","type":"http","url":"https://mcp.aivikings.ai/mcp"}'Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
37 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
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. | No | No | No | Yes |
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. | No | No | No | Yes |
check_domain_availabilityCheck whether domain names can be registered through AIvikings. Takes a list of one or more names (up to 200). Each result has a status: available (confirmed free by the registry), probably_available (not registered as far as we can see, but NOT confirmed: lists of more than 50 names are not sent to the registry; check the shortlist again to confirm), taken, not_offered (AIvikings does not sell that TLD), invalid (see message), or try_again (could not be confirmed right now). Never tell the user a probably_available name is available. This tool does not return prices or premium status: before the user buys, always call get_domain_pricing for the chosen name and tell them if it is premium. For a single name or a short list (up to 10), include_price=true adds premium and prices in the same call. | No | Yes | Not declared | Yes |
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 matching parent domain. | Yes | No | No | Yes |
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. | No | No | No | Yes |
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. | Yes | No | No | Yes |
domain_transferTransfer a domain in through AIvikings. | No | No | No | Yes |
get_contactGet one reusable contact by its handle. | No | Yes | Not declared | No |
get_current_userReturn the authenticated AIvikings customer for the current bearer API key, including name and email when the key belongs to a customer. | No | Yes | Not declared | No |
get_customerGet the customer record linked to the current bearer token. A supplied customer ID must match that token. | No | Yes | Not declared | No |
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 was enabled; agent labels are self-reported. | No | Yes | Not declared | No |
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 upstream cost prices. | No | Yes | Not declared | Yes |
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. | No | Yes | Not declared | Yes |
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. | No | Yes | Not declared | No |
get_transfer_auth_codeReturn the EPP transfer auth code for a domain owned by the authenticated customer. The secret is fetched only on demand. | No | Yes | Not declared | No |
list_contact_countriesList exact ConnectReseller country names and IDs for creating or updating contacts. | No | Yes | Not declared | No |
list_contact_statesList exact ConnectReseller state names for a country name, country ID, or ISO code. Use the returned name in contact requests. | No | Yes | Not declared | No |
list_contactsList reusable contacts belonging to the authenticated customer. | No | Yes | Not declared | No |
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. | No | Yes | Not declared | Yes |
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. | No | Yes | Not declared | No |
list_domainsList domains recorded in the local registrar datastore. | No | Yes | Not declared | No |
lock_domainEnable the registrar transfer lock for a domain owned by the authenticated customer. | Yes | No | No | Yes |
middleware_get_capabilitiesMiddleware admin only: read enabled provider accounts, capabilities and transaction input schemas. Use this before middleware_submit_transaction. Requires the static MCP/REST admin bearer token. Provider operations and credentials remain in the existing middleware service. For linked tenants, pass the public customer_id (cus_…) on all middleware admin calls. | No | Yes | Not declared | Yes |
middleware_get_contactMiddleware admin only: read a local middleware contact by contact_id. | No | Yes | Not declared | Yes |
middleware_get_domainMiddleware admin only: read the middleware's domain projection by domain_id. For a live provider refresh submit action=refresh first and wait for completion. | No | Yes | Not declared | Yes |
middleware_get_transactionMiddleware admin only: read a middleware transaction's status and result by transaction_id. succeeded confirms completion; pending_provider, outcome_unknown and manual_review must not trigger a duplicate order. Authcodes require middleware_get_transaction_secret. | No | Yes | Not declared | Yes |
middleware_get_transaction_secretMiddleware admin only: read a protected transaction secret through the middleware API. Requires the upstream secret-read scope and is audited. | No | Yes | Not declared | Yes |
middleware_list_transactionsMiddleware admin only: list persisted middleware transactions for the selected middleware account, optionally filtered by domain. Pass nextCursor as cursor for the next page. | No | Yes | Not declared | Yes |
middleware_submit_transactionMiddleware admin only: submit a middleware transaction using action/input from middleware_get_capabilities. For account actions the selected enabled middleware account is used. For domain actions supply the middleware domain_id. Choose account_id from middleware_get_capabilities when several accounts are enabled. Every submission needs a stable idempotency_key: retry an identical request with the SAME key. 202/queued means accepted, not completed; poll middleware_get_transaction. Paid or destructive actions require explicit user intent. These operator orders use the linked tenant's AIvikings prepaid wallet and do not update the local domain portfolio. | Yes | No | Yes | Yes |
regenerate_transfer_auth_codeRegenerate and return a new EPP transfer auth code for a domain owned by the authenticated customer, invalidating the old code. | Yes | No | No | Yes |
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 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. | No | No | No | Yes |
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 contact_handle. | Yes | No | No | Yes |
renew_domainRenew a domain through AIvikings. | No | No | No | Yes |
unlock_domainDisable the registrar transfer lock for a domain owned by the authenticated customer before a transfer-out. | Yes | No | No | Yes |
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. | Yes | No | No | Yes |
update_nameserversReplace a domain's nameservers through AIvikings. | Yes | No | No | Yes |
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 change is reported as verification pending until the registrant completes that step. | Yes | No | No | Yes |
Details
- Registry status
- Active
- Published
- Oct 24, 2026
- Updated
- Oct 24, 2026
- Categories (suggested)
- SecuritySuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared