{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_htbgyhsws28n","handle":"aivikings-ai","url":"https://wellknown.network/agents/aivikings-ai","links":{"self":"https://wellknown.network/agents/aivikings-ai/record.json","html":"https://wellknown.network/agents/aivikings-ai","markdown":"https://wellknown.network/agents/aivikings-ai/record.md","api":"https://wellknown.network/api/v1/agents/aivikings-ai","status":"https://wellknown.network/api/v1/agents/aivikings-ai/status","claim":"https://wellknown.network/agents/aivikings-ai/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/aivikings-ai/claim.json","badge":"https://wellknown.network/agents/aivikings-ai/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/aivikings-ai/history","tools":"https://wellknown.network/api/v1/agents/aivikings-ai/tools"},"ard":{"identifier":"urn:air:mcp.aivikings.ai:server:aivikings-ai","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"AiVikings.ai","summary":"Find, register, and manage domains from any AI chat or agent","description":"Find, register, and manage domains from any AI chat or agent","publisher":{"name":"ai.aivikings","url":null},"homepage":"https://aivikings.ai","repository":null,"version":"1.0.2","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.aivikings.ai/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-09T11:53:26.129253Z","publishedAt":"2026-10-09T11:53:26.129253Z","registryName":"ai.aivikings/registrar"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.992,"provenance":"derived"},{"slug":"documents.conversion","name":"Document Conversion","confidence":0.554,"provenance":"derived"},{"slug":"finance.markets","name":"Markets & Trading","confidence":0.54,"provenance":"derived"}],"categories":["commerce","documents","finance"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-22T04:28:47.761Z","lastProbedAt":"2026-10-22T04:28:47.761Z","statusComputedAt":"2026-10-22T04:31:05.753Z","reliability30d":{"probes":39,"successRate":1,"p50Ms":44,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":39,"ok":39,"authBoundaryOk":0,"serviceOk":39,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-22T04:28:47.761Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":40,"error":null,"detail":{"tools":[{"name":"get_domain_audit_log","description":"Read append-only domain change history for the authenticated customer. Omit domain for portfolio history. Requires audit:read. Results are newest recorded first"},{"name":"get_current_user","description":"Return the authenticated AIvikings customer for the current bearer API key, including name and email when the key belongs to a customer."},{"name":"check_domain_availability","description":"Check availability for up to 200 domain names through AIvikings. depth=\"fast\" answers in about a second without contacting the registry, for brainstorming many "},{"name":"check_single_domain_availability","description":"Check availability for one domain through AIvikings. depth=\"confirm\" (default) asks the registry and returns the price; depth=\"fast\" answers quickly without a p"},{"name":"get_domain_pricing","description":"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"},{"name":"get_prepaid_balance","description":"Return the authenticated customer's prepaid balance for domain purchases. Returns both USD and EUR wallet balances. When automatic currency conversion is enable"},{"name":"list_contact_countries","description":"List exact ConnectReseller country names and IDs for creating or updating contacts."},{"name":"list_contact_states","description":"List exact ConnectReseller state names for a country name, country ID, or ISO code. Use the returned name in contact requests."},{"name":"create_contact","description":"Create a reusable contact for domain registration. Use list_contact_countries and list_contact_states to choose valid country and state names. The returned hand"},{"name":"get_contact","description":"Get one reusable contact by its handle."},{"name":"list_contacts","description":"List reusable contacts belonging to the authenticated customer."},{"name":"list_domain_registration_contacts","description":"List the authenticated customer's registrant/contact handles for domain registrations. Returns whether each contact is complete enough for registration, its mis"},{"name":"assign_domain_registration_contact_roles","description":"Assign one existing contact handle as the default for selected domain-registration roles. Set assign_registrant, assign_admin, assign_technical, and/or assign_b"},{"name":"remove_domain_registration_contact_roles","description":"Remove selected default domain-registration roles from one existing contact handle. Set remove_registrant, remove_admin, remove_technical, and/or remove_billing"},{"name":"register_domain","description":"Register a domain through AIvikings using the authenticated account's configurable default nameservers when nameservers are omitted. Call list_domain_registrati"},{"name":"get_domain_status","description":"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 pe"},{"name":"list_domains","description":"List domains recorded in the local registrar datastore."},{"name":"renew_domain","description":"Renew a domain through AIvikings."},{"name":"update_registrant_contact","description":"Update the registrant contact for a domain owned by the authenticated customer. Pass contact_handle by itself to apply an existing reusable contact without copy"},{"name":"update_nameservers","description":"Replace a domain's nameservers through AIvikings."},{"name":"configure_dns_record","description":"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"},{"name":"list_dns_records","description":"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."},{"name":"add_dns_record","description":"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 "},{"name":"update_dns_record","description":"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."},{"name":"delete_dns_record","description":"Permanently delete a managed DNS record. Call list_dns_records first and pass the exact DNS zone record ID returned by the provider."},{"name":"domain_transfer","description":"Transfer a domain in through AIvikings."},{"name":"get_transfer_auth_code","description":"Return the EPP transfer auth code for a domain owned by the authenticated customer. The secret is fetched only on demand."},{"name":"regenerate_transfer_auth_code","description":"Regenerate and return a new EPP transfer auth code for a domain owned by the authenticated customer, invalidating the old code."},{"name":"lock_domain","description":"Enable the registrar transfer lock for a domain owned by the authenticated customer."},{"name":"unlock_domain","description":"Disable the registrar transfer lock for a domain owned by the authenticated customer before a transfer-out."},{"name":"reconcile_domains","description":"Compare locally recorded domains with AIvikings records."},{"name":"create_customer","description":"Create a new customer without generating or returning an API key."},{"name":"get_customer","description":"Get the customer record linked to the current bearer token. A supplied customer ID must match that token."},{"name":"reconcile_provider_client","description":"Link or create the authenticated customer's registrar client account, preventing duplicate creation."}],"toolCount":34,"toolsHash":"2ae36bbc5d14a473774848cf19e30f4932417f80d9d1f36a3fb62b6e36887173","serverName":"AIvikings AI Agent Registrar","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T22:31:41.323Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":42,"error":null,"detail":{"tools":[{"name":"get_domain_audit_log","description":"Read append-only domain change history for the authenticated customer. Omit domain for portfolio history. Requires audit:read. Results are newest recorded first"},{"name":"get_current_user","description":"Return the authenticated AIvikings customer for the current bearer API key, including name and email when the key belongs to a customer."},{"name":"check_domain_availability","description":"Check availability for up to 200 domain names through AIvikings. depth=\"fast\" answers in about a second without contacting the registry, for brainstorming many "},{"name":"check_single_domain_availability","description":"Check availability for one domain through AIvikings. depth=\"confirm\" (default) asks the registry and returns the price; depth=\"fast\" answers quickly without a p"},{"name":"get_domain_pricing","description":"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"},{"name":"get_prepaid_balance","description":"Return the authenticated customer's prepaid balance for domain purchases. Returns both USD and EUR wallet balances. When automatic currency conversion is enable"},{"name":"list_contact_countries","description":"List exact ConnectReseller country names and IDs for creating or updating contacts."},{"name":"list_contact_states","description":"List exact ConnectReseller state names for a country name, country ID, or ISO code. Use the returned name in contact requests."},{"name":"create_contact","description":"Create a reusable contact for domain registration. Use list_contact_countries and list_contact_states to choose valid country and state names. The returned hand"},{"name":"get_contact","description":"Get one reusable contact by its handle."},{"name":"list_contacts","description":"List reusable contacts belonging to the authenticated customer."},{"name":"list_domain_registration_contacts","description":"List the authenticated customer's registrant/contact handles for domain registrations. Returns whether each contact is complete enough for registration, its mis"},{"name":"assign_domain_registration_contact_roles","description":"Assign one existing contact handle as the default for selected domain-registration roles. Set assign_registrant, assign_admin, assign_technical, and/or assign_b"},{"name":"remove_domain_registration_contact_roles","description":"Remove selected default domain-registration roles from one existing contact handle. Set remove_registrant, remove_admin, remove_technical, and/or remove_billing"},{"name":"register_domain","description":"Register a domain through AIvikings using the authenticated account's configurable default nameservers when nameservers are omitted. Call list_domain_registrati"},{"name":"get_domain_status","description":"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 pe"},{"name":"list_domains","description":"List domains recorded in the local registrar datastore."},{"name":"renew_domain","description":"Renew a domain through AIvikings."},{"name":"update_registrant_contact","description":"Update the registrant contact for a domain owned by the authenticated customer. Pass contact_handle by itself to apply an existing reusable contact without copy"},{"name":"update_nameservers","description":"Replace a domain's nameservers through AIvikings."},{"name":"configure_dns_record","description":"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"},{"name":"list_dns_records","description":"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."},{"name":"add_dns_record","description":"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 "},{"name":"update_dns_record","description":"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."},{"name":"delete_dns_record","description":"Permanently delete a managed DNS record. Call list_dns_records first and pass the exact DNS zone record ID returned by the provider."},{"name":"domain_transfer","description":"Transfer a domain in through AIvikings."},{"name":"get_transfer_auth_code","description":"Return the EPP transfer auth code for a domain owned by the authenticated customer. The secret is fetched only on demand."},{"name":"regenerate_transfer_auth_code","description":"Regenerate and return a new EPP transfer auth code for a domain owned by the authenticated customer, invalidating the old code."},{"name":"lock_domain","description":"Enable the registrar transfer lock for a domain owned by the authenticated customer."},{"name":"unlock_domain","description":"Disable the registrar transfer lock for a domain owned by the authenticated customer before a transfer-out."},{"name":"reconcile_domains","description":"Compare locally recorded domains with AIvikings records."},{"name":"create_customer","description":"Create a new customer without generating or returning an API key."},{"name":"get_customer","description":"Get the customer record linked to the current bearer token. A supplied customer ID must match that token."},{"name":"reconcile_provider_client","description":"Link or create the authenticated customer's registrar client account, preventing duplicate creation."}],"toolCount":34,"toolsHash":"2ae36bbc5d14a473774848cf19e30f4932417f80d9d1f36a3fb62b6e36887173","serverName":"AIvikings AI Agent Registrar","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T16:34:37.020Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":75,"error":null,"detail":{"tools":[{"name":"get_domain_audit_log","description":"Read append-only domain change history for the authenticated customer. Omit domain for portfolio history. Requires audit:read. Results are newest recorded first"},{"name":"get_current_user","description":"Return the authenticated AIvikings customer for the current bearer API key, including name and email when the key belongs to a customer."},{"name":"check_domain_availability","description":"Check availability for up to 200 domain names through AIvikings. depth=\"fast\" answers in about a second without contacting the registry, for brainstorming many "},{"name":"check_single_domain_availability","description":"Check availability for one domain through AIvikings. depth=\"confirm\" (default) asks the registry and returns the price; depth=\"fast\" answers quickly without a p"},{"name":"get_domain_pricing","description":"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"},{"name":"get_prepaid_balance","description":"Return the authenticated customer's prepaid balance for domain purchases. Returns both USD and EUR wallet balances. When automatic currency conversion is enable"},{"name":"list_contact_countries","description":"List exact ConnectReseller country names and IDs for creating or updating contacts."},{"name":"list_contact_states","description":"List exact ConnectReseller state names for a country name, country ID, or ISO code. Use the returned name in contact requests."},{"name":"create_contact","description":"Create a reusable contact for domain registration. Use list_contact_countries and list_contact_states to choose valid country and state names. The returned hand"},{"name":"get_contact","description":"Get one reusable contact by its handle."},{"name":"list_contacts","description":"List reusable contacts belonging to the authenticated customer."},{"name":"list_domain_registration_contacts","description":"List the authenticated customer's registrant/contact handles for domain registrations. Returns whether each contact is complete enough for registration, its mis"},{"name":"assign_domain_registration_contact_roles","description":"Assign one existing contact handle as the default for selected domain-registration roles. Set assign_registrant, assign_admin, assign_technical, and/or assign_b"},{"name":"remove_domain_registration_contact_roles","description":"Remove selected default domain-registration roles from one existing contact handle. Set remove_registrant, remove_admin, remove_technical, and/or remove_billing"},{"name":"register_domain","description":"Register a domain through AIvikings using the authenticated account's configurable default nameservers when nameservers are omitted. Call list_domain_registrati"},{"name":"get_domain_status","description":"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 pe"},{"name":"list_domains","description":"List domains recorded in the local registrar datastore."},{"name":"renew_domain","description":"Renew a domain through AIvikings."},{"name":"update_registrant_contact","description":"Update the registrant contact for a domain owned by the authenticated customer. Pass contact_handle by itself to apply an existing reusable contact without copy"},{"name":"update_nameservers","description":"Replace a domain's nameservers through AIvikings."},{"name":"configure_dns_record","description":"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"},{"name":"list_dns_records","description":"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."},{"name":"add_dns_record","description":"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 "},{"name":"update_dns_record","description":"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."},{"name":"delete_dns_record","description":"Permanently delete a managed DNS record. Call list_dns_records first and pass the exact DNS zone record ID returned by the provider."},{"name":"domain_transfer","description":"Transfer a domain in through AIvikings."},{"name":"get_transfer_auth_code","description":"Return the EPP transfer auth code for a domain owned by the authenticated customer. The secret is fetched only on demand."},{"name":"regenerate_transfer_auth_code","description":"Regenerate and return a new EPP transfer auth code for a domain owned by the authenticated customer, invalidating the old code."},{"name":"lock_domain","description":"Enable the registrar transfer lock for a domain owned by the authenticated customer."},{"name":"unlock_domain","description":"Disable the registrar transfer lock for a domain owned by the authenticated customer before a transfer-out."},{"name":"reconcile_domains","description":"Compare locally recorded domains with AIvikings records."},{"name":"create_customer","description":"Create a new customer without generating or returning an API key."},{"name":"get_customer","description":"Get the customer record linked to the current bearer token. A supplied customer ID must match that token."},{"name":"reconcile_provider_client","description":"Link or create the authenticated customer's registrar client account, preventing duplicate creation."}],"toolCount":34,"toolsHash":"2ae36bbc5d14a473774848cf19e30f4932417f80d9d1f36a3fb62b6e36887173","serverName":"AIvikings AI Agent Registrar","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T04:26:18.711Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":40,"error":null,"detail":{"tools":[{"name":"get_domain_audit_log","description":"Read append-only domain change history for the authenticated customer. Omit domain for portfolio history. Requires audit:read. Results are newest recorded first"},{"name":"get_current_user","description":"Return the authenticated AIvikings customer for the current bearer API key, including name and email when the key belongs to a customer."},{"name":"check_domain_availability","description":"Check availability for up to 200 domain names through AIvikings. depth=\"fast\" answers in about a second without contacting the registry, for brainstorming many "},{"name":"check_single_domain_availability","description":"Check availability for one domain through AIvikings. depth=\"confirm\" (default) asks the registry and returns the price; depth=\"fast\" answers quickly without a p"},{"name":"get_domain_pricing","description":"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"},{"name":"get_prepaid_balance","description":"Return the authenticated customer's prepaid balance for domain purchases. Returns both USD and EUR wallet balances. When automatic currency conversion is enable"},{"name":"list_contact_countries","description":"List exact ConnectReseller country names and IDs for creating or updating contacts."},{"name":"list_contact_states","description":"List exact ConnectReseller state names for a country name, country ID, or ISO code. Use the returned name in contact requests."},{"name":"create_contact","description":"Create a reusable contact for domain registration. Use list_contact_countries and list_contact_states to choose valid country and state names. The returned hand"},{"name":"get_contact","description":"Get one reusable contact by its handle."},{"name":"list_contacts","description":"List reusable contacts belonging to the authenticated customer."},{"name":"list_domain_registration_contacts","description":"List the authenticated customer's registrant/contact handles for domain registrations. Returns whether each contact is complete enough for registration, its mis"},{"name":"assign_domain_registration_contact_roles","description":"Assign one existing contact handle as the default for selected domain-registration roles. Set assign_registrant, assign_admin, assign_technical, and/or assign_b"},{"name":"remove_domain_registration_contact_roles","description":"Remove selected default domain-registration roles from one existing contact handle. Set remove_registrant, remove_admin, remove_technical, and/or remove_billing"},{"name":"register_domain","description":"Register a domain through AIvikings using the authenticated account's configurable default nameservers when nameservers are omitted. Call list_domain_registrati"},{"name":"get_domain_status","description":"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 pe"},{"name":"list_domains","description":"List domains recorded in the local registrar datastore."},{"name":"renew_domain","description":"Renew a domain through AIvikings."},{"name":"update_registrant_contact","description":"Update the registrant contact for a domain owned by the authenticated customer. Pass contact_handle by itself to apply an existing reusable contact without copy"},{"name":"update_nameservers","description":"Replace a domain's nameservers through AIvikings."},{"name":"configure_dns_record","description":"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"},{"name":"list_dns_records","description":"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."},{"name":"add_dns_record","description":"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 "},{"name":"update_dns_record","description":"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."},{"name":"delete_dns_record","description":"Permanently delete a managed DNS record. Call list_dns_records first and pass the exact DNS zone record ID returned by the provider."},{"name":"domain_transfer","description":"Transfer a domain in through AIvikings."},{"name":"get_transfer_auth_code","description":"Return the EPP transfer auth code for a domain owned by the authenticated customer. The secret is fetched only on demand."},{"name":"regenerate_transfer_auth_code","description":"Regenerate and return a new EPP transfer auth code for a domain owned by the authenticated customer, invalidating the old code."},{"name":"lock_domain","description":"Enable the registrar transfer lock for a domain owned by the authenticated customer."},{"name":"unlock_domain","description":"Disable the registrar transfer lock for a domain owned by the authenticated customer before a transfer-out."},{"name":"reconcile_domains","description":"Compare locally recorded domains with AIvikings records."},{"name":"create_customer","description":"Create a new customer without generating or returning an API key."},{"name":"get_customer","description":"Get the customer record linked to the current bearer token. A supplied customer ID must match that token."},{"name":"reconcile_provider_client","description":"Link or create the authenticated customer's registrar client account, preventing duplicate creation."}],"toolCount":34,"toolsHash":"2ae36bbc5d14a473774848cf19e30f4932417f80d9d1f36a3fb62b6e36887173","serverName":"AIvikings AI Agent Registrar","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T22:23:48.119Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":36,"error":null,"detail":{"tools":[{"name":"get_domain_audit_log","description":"Read append-only domain change history for the authenticated customer. Omit domain for portfolio history. Requires audit:read. Results are newest recorded first"},{"name":"get_current_user","description":"Return the authenticated AIvikings customer for the current bearer API key, including name and email when the key belongs to a customer."},{"name":"check_domain_availability","description":"Check availability for up to 200 domain names through AIvikings. depth=\"fast\" answers in about a second without contacting the registry, for brainstorming many "},{"name":"check_single_domain_availability","description":"Check availability for one domain through AIvikings. depth=\"confirm\" (default) asks the registry and returns the price; depth=\"fast\" answers quickly without a p"},{"name":"get_domain_pricing","description":"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"},{"name":"get_prepaid_balance","description":"Return the authenticated customer's prepaid balance for domain purchases. Returns both USD and EUR wallet balances. When automatic currency conversion is enable"},{"name":"list_contact_countries","description":"List exact ConnectReseller country names and IDs for creating or updating contacts."},{"name":"list_contact_states","description":"List exact ConnectReseller state names for a country name, country ID, or ISO code. Use the returned name in contact requests."},{"name":"create_contact","description":"Create a reusable contact for domain registration. Use list_contact_countries and list_contact_states to choose valid country and state names. The returned hand"},{"name":"get_contact","description":"Get one reusable contact by its handle."},{"name":"list_contacts","description":"List reusable contacts belonging to the authenticated customer."},{"name":"list_domain_registration_contacts","description":"List the authenticated customer's registrant/contact handles for domain registrations. Returns whether each contact is complete enough for registration, its mis"},{"name":"assign_domain_registration_contact_roles","description":"Assign one existing contact handle as the default for selected domain-registration roles. Set assign_registrant, assign_admin, assign_technical, and/or assign_b"},{"name":"remove_domain_registration_contact_roles","description":"Remove selected default domain-registration roles from one existing contact handle. Set remove_registrant, remove_admin, remove_technical, and/or remove_billing"},{"name":"register_domain","description":"Register a domain through AIvikings using the authenticated account's configurable default nameservers when nameservers are omitted. Call list_domain_registrati"},{"name":"get_domain_status","description":"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 pe"},{"name":"list_domains","description":"List domains recorded in the local registrar datastore."},{"name":"renew_domain","description":"Renew a domain through AIvikings."},{"name":"update_registrant_contact","description":"Update the registrant contact for a domain owned by the authenticated customer. Pass contact_handle by itself to apply an existing reusable contact without copy"},{"name":"update_nameservers","description":"Replace a domain's nameservers through AIvikings."},{"name":"configure_dns_record","description":"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"},{"name":"list_dns_records","description":"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."},{"name":"add_dns_record","description":"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 "},{"name":"update_dns_record","description":"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."},{"name":"delete_dns_record","description":"Permanently delete a managed DNS record. Call list_dns_records first and pass the exact DNS zone record ID returned by the provider."},{"name":"domain_transfer","description":"Transfer a domain in through AIvikings."},{"name":"get_transfer_auth_code","description":"Return the EPP transfer auth code for a domain owned by the authenticated customer. The secret is fetched only on demand."},{"name":"regenerate_transfer_auth_code","description":"Regenerate and return a new EPP transfer auth code for a domain owned by the authenticated customer, invalidating the old code."},{"name":"lock_domain","description":"Enable the registrar transfer lock for a domain owned by the authenticated customer."},{"name":"unlock_domain","description":"Disable the registrar transfer lock for a domain owned by the authenticated customer before a transfer-out."},{"name":"reconcile_domains","description":"Compare locally recorded domains with AIvikings records."},{"name":"create_customer","description":"Create a new customer without generating or returning an API key."},{"name":"get_customer","description":"Get the customer record linked to the current bearer token. A supplied customer ID must match that token."},{"name":"reconcile_provider_client","description":"Link or create the authenticated customer's registrar client account, preventing duplicate creation."}],"toolCount":34,"toolsHash":"2ae36bbc5d14a473774848cf19e30f4932417f80d9d1f36a3fb62b6e36887173","serverName":"AIvikings AI Agent Registrar","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T15:30:09.183Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":40,"error":null,"detail":{"tools":[{"name":"get_domain_audit_log","description":"Read append-only domain change history for the authenticated customer. Omit domain for portfolio history. Requires audit:read. Results are newest recorded first"},{"name":"get_current_user","description":"Return the authenticated AIvikings customer for the current bearer API key, including name and email when the key belongs to a customer."},{"name":"check_domain_availability","description":"Check availability for up to 200 domain names through AIvikings. depth=\"fast\" answers in about a second without contacting the registry, for brainstorming many "},{"name":"check_single_domain_availability","description":"Check availability for one domain through AIvikings. depth=\"confirm\" (default) asks the registry and returns the price; depth=\"fast\" answers quickly without a p"},{"name":"get_domain_pricing","description":"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"},{"name":"get_prepaid_balance","description":"Return the authenticated customer's prepaid balance for domain purchases. Returns both USD and EUR wallet balances. When automatic currency conversion is enable"},{"name":"list_contact_countries","description":"List exact ConnectReseller country names and IDs for creating or updating contacts."},{"name":"list_contact_states","description":"List exact ConnectReseller state names for a country name, country ID, or ISO code. Use the returned name in contact requests."},{"name":"create_contact","description":"Create a reusable contact for domain registration. Use list_contact_countries and list_contact_states to choose valid country and state names. The returned hand"},{"name":"get_contact","description":"Get one reusable contact by its handle."},{"name":"list_contacts","description":"List reusable contacts belonging to the authenticated customer."},{"name":"list_domain_registration_contacts","description":"List the authenticated customer's registrant/contact handles for domain registrations. Returns whether each contact is complete enough for registration, its mis"},{"name":"assign_domain_registration_contact_roles","description":"Assign one existing contact handle as the default for selected domain-registration roles. Set assign_registrant, assign_admin, assign_technical, and/or assign_b"},{"name":"remove_domain_registration_contact_roles","description":"Remove selected default domain-registration roles from one existing contact handle. Set remove_registrant, remove_admin, remove_technical, and/or remove_billing"},{"name":"register_domain","description":"Register a domain through AIvikings using the authenticated account's configurable default nameservers when nameservers are omitted. Call list_domain_registrati"},{"name":"get_domain_status","description":"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 pe"},{"name":"list_domains","description":"List domains recorded in the local registrar datastore."},{"name":"renew_domain","description":"Renew a domain through AIvikings."},{"name":"update_registrant_contact","description":"Update the registrant contact for a domain owned by the authenticated customer. Pass contact_handle by itself to apply an existing reusable contact without copy"},{"name":"update_nameservers","description":"Replace a domain's nameservers through AIvikings."},{"name":"configure_dns_record","description":"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"},{"name":"list_dns_records","description":"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."},{"name":"add_dns_record","description":"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 "},{"name":"update_dns_record","description":"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."},{"name":"delete_dns_record","description":"Permanently delete a managed DNS record. Call list_dns_records first and pass the exact DNS zone record ID returned by the provider."},{"name":"domain_transfer","description":"Transfer a domain in through AIvikings."},{"name":"get_transfer_auth_code","description":"Return the EPP transfer auth code for a domain owned by the authenticated customer. The secret is fetched only on demand."},{"name":"regenerate_transfer_auth_code","description":"Regenerate and return a new EPP transfer auth code for a domain owned by the authenticated customer, invalidating the old code."},{"name":"lock_domain","description":"Enable the registrar transfer lock for a domain owned by the authenticated customer."},{"name":"unlock_domain","description":"Disable the registrar transfer lock for a domain owned by the authenticated customer before a transfer-out."},{"name":"reconcile_domains","description":"Compare locally recorded domains with AIvikings records."},{"name":"create_customer","description":"Create a new customer without generating or returning an API key."},{"name":"get_customer","description":"Get the customer record linked to the current bearer token. A supplied customer ID must match that token."},{"name":"reconcile_provider_client","description":"Link or create the authenticated customer's registrar client account, preventing duplicate creation."}],"toolCount":34,"toolsHash":"2ae36bbc5d14a473774848cf19e30f4932417f80d9d1f36a3fb62b6e36887173","serverName":"AIvikings AI Agent Registrar","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T08:33:06.368Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":43,"error":null,"detail":{"tools":[{"name":"get_domain_audit_log","description":"Read append-only domain change history for the authenticated customer. Omit domain for portfolio history. Requires audit:read. Results are newest recorded first"},{"name":"get_current_user","description":"Return the authenticated AIvikings customer for the current bearer API key, including name and email when the key belongs to a customer."},{"name":"check_domain_availability","description":"Check availability for up to 200 domain names through AIvikings. depth=\"fast\" answers in about a second without contacting the registry, for brainstorming many "},{"name":"check_single_domain_availability","description":"Check availability for one domain through AIvikings. depth=\"confirm\" (default) asks the registry and returns the price; depth=\"fast\" answers quickly without a p"},{"name":"get_domain_pricing","description":"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"},{"name":"get_prepaid_balance","description":"Return the authenticated customer's prepaid balance for domain purchases. Returns both USD and EUR wallet balances. When automatic currency conversion is enable"},{"name":"list_contact_countries","description":"List exact ConnectReseller country names and IDs for creating or updating contacts."},{"name":"list_contact_states","description":"List exact ConnectReseller state names for a country name, country ID, or ISO code. Use the returned name in contact requests."},{"name":"create_contact","description":"Create a reusable contact for domain registration. Use list_contact_countries and list_contact_states to choose valid country and state names. The returned hand"},{"name":"get_contact","description":"Get one reusable contact by its handle."},{"name":"list_contacts","description":"List reusable contacts belonging to the authenticated customer."},{"name":"list_domain_registration_contacts","description":"List the authenticated customer's registrant/contact handles for domain registrations. Returns whether each contact is complete enough for registration, its mis"},{"name":"assign_domain_registration_contact_roles","description":"Assign one existing contact handle as the default for selected domain-registration roles. Set assign_registrant, assign_admin, assign_technical, and/or assign_b"},{"name":"remove_domain_registration_contact_roles","description":"Remove selected default domain-registration roles from one existing contact handle. Set remove_registrant, remove_admin, remove_technical, and/or remove_billing"},{"name":"register_domain","description":"Register a domain through AIvikings using the authenticated account's configurable default nameservers when nameservers are omitted. Call list_domain_registrati"},{"name":"get_domain_status","description":"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 pe"},{"name":"list_domains","description":"List domains recorded in the local registrar datastore."},{"name":"renew_domain","description":"Renew a domain through AIvikings."},{"name":"update_registrant_contact","description":"Update the registrant contact for a domain owned by the authenticated customer. Pass contact_handle by itself to apply an existing reusable contact without copy"},{"name":"update_nameservers","description":"Replace a domain's nameservers through AIvikings."},{"name":"configure_dns_record","description":"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"},{"name":"list_dns_records","description":"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."},{"name":"add_dns_record","description":"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 "},{"name":"update_dns_record","description":"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."},{"name":"delete_dns_record","description":"Permanently delete a managed DNS record. Call list_dns_records first and pass the exact DNS zone record ID returned by the provider."},{"name":"domain_transfer","description":"Transfer a domain in through AIvikings."},{"name":"get_transfer_auth_code","description":"Return the EPP transfer auth code for a domain owned by the authenticated customer. The secret is fetched only on demand."},{"name":"regenerate_transfer_auth_code","description":"Regenerate and return a new EPP transfer auth code for a domain owned by the authenticated customer, invalidating the old code."},{"name":"lock_domain","description":"Enable the registrar transfer lock for a domain owned by the authenticated customer."},{"name":"unlock_domain","description":"Disable the registrar transfer lock for a domain owned by the authenticated customer before a transfer-out."},{"name":"reconcile_domains","description":"Compare locally recorded domains with AIvikings records."},{"name":"create_customer","description":"Create a new customer without generating or returning an API key."},{"name":"get_customer","description":"Get the customer record linked to the current bearer token. A supplied customer ID must match that token."},{"name":"reconcile_provider_client","description":"Link or create the authenticated customer's registrar client account, preventing duplicate creation."}],"toolCount":34,"toolsHash":"2ae36bbc5d14a473774848cf19e30f4932417f80d9d1f36a3fb62b6e36887173","serverName":"AIvikings AI Agent Registrar","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T02:31:40.430Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":44,"error":null,"detail":{"tools":[{"name":"get_domain_audit_log","description":"Read append-only domain change history for the authenticated customer. Omit domain for portfolio history. Requires audit:read. Results are newest recorded first"},{"name":"get_current_user","description":"Return the authenticated AIvikings customer for the current bearer API key, including name and email when the key belongs to a customer."},{"name":"check_domain_availability","description":"Check availability for up to 200 domain names through AIvikings. depth=\"fast\" answers in about a second without contacting the registry, for brainstorming many "},{"name":"check_single_domain_availability","description":"Check availability for one domain through AIvikings. depth=\"confirm\" (default) asks the registry and returns the price; depth=\"fast\" answers quickly without a p"},{"name":"get_domain_pricing","description":"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"},{"name":"get_prepaid_balance","description":"Return the authenticated customer's prepaid balance for domain purchases. Returns both USD and EUR wallet balances. When automatic currency conversion is enable"},{"name":"list_contact_countries","description":"List exact ConnectReseller country names and IDs for creating or updating contacts."},{"name":"list_contact_states","description":"List exact ConnectReseller state names for a country name, country ID, or ISO code. Use the returned name in contact requests."},{"name":"create_contact","description":"Create a reusable contact for domain registration. Use list_contact_countries and list_contact_states to choose valid country and state names. The returned hand"},{"name":"get_contact","description":"Get one reusable contact by its handle."},{"name":"list_contacts","description":"List reusable contacts belonging to the authenticated customer."},{"name":"list_domain_registration_contacts","description":"List the authenticated customer's registrant/contact handles for domain registrations. Returns whether each contact is complete enough for registration, its mis"},{"name":"assign_domain_registration_contact_roles","description":"Assign one existing contact handle as the default for selected domain-registration roles. Set assign_registrant, assign_admin, assign_technical, and/or assign_b"},{"name":"remove_domain_registration_contact_roles","description":"Remove selected default domain-registration roles from one existing contact handle. Set remove_registrant, remove_admin, remove_technical, and/or remove_billing"},{"name":"register_domain","description":"Register a domain through AIvikings using the authenticated account's configurable default nameservers when nameservers are omitted. Call list_domain_registrati"},{"name":"get_domain_status","description":"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 pe"},{"name":"list_domains","description":"List domains recorded in the local registrar datastore."},{"name":"renew_domain","description":"Renew a domain through AIvikings."},{"name":"update_registrant_contact","description":"Update the registrant contact for a domain owned by the authenticated customer. Pass contact_handle by itself to apply an existing reusable contact without copy"},{"name":"update_nameservers","description":"Replace a domain's nameservers through AIvikings."},{"name":"configure_dns_record","description":"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"},{"name":"list_dns_records","description":"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."},{"name":"add_dns_record","description":"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 "},{"name":"update_dns_record","description":"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."},{"name":"delete_dns_record","description":"Permanently delete a managed DNS record. Call list_dns_records first and pass the exact DNS zone record ID returned by the provider."},{"name":"domain_transfer","description":"Transfer a domain in through AIvikings."},{"name":"get_transfer_auth_code","description":"Return the EPP transfer auth code for a domain owned by the authenticated customer. The secret is fetched only on demand."},{"name":"regenerate_transfer_auth_code","description":"Regenerate and return a new EPP transfer auth code for a domain owned by the authenticated customer, invalidating the old code."},{"name":"lock_domain","description":"Enable the registrar transfer lock for a domain owned by the authenticated customer."},{"name":"unlock_domain","description":"Disable the registrar transfer lock for a domain owned by the authenticated customer before a transfer-out."},{"name":"reconcile_domains","description":"Compare locally recorded domains with AIvikings records."},{"name":"create_customer","description":"Create a new customer without generating or returning an API key."},{"name":"get_customer","description":"Get the customer record linked to the current bearer token. A supplied customer ID must match that token."},{"name":"reconcile_provider_client","description":"Link or create the authenticated customer's registrar client account, preventing duplicate creation."}],"toolCount":34,"toolsHash":"2ae36bbc5d14a473774848cf19e30f4932417f80d9d1f36a3fb62b6e36887173","serverName":"AIvikings AI Agent Registrar","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T19:32:46.249Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":40,"error":null,"detail":{"tools":[{"name":"get_domain_audit_log","description":"Read append-only domain change history for the authenticated customer. Omit domain for portfolio history. Requires audit:read. Results are newest recorded first"},{"name":"get_current_user","description":"Return the authenticated AIvikings customer for the current bearer API key, including name and email when the key belongs to a customer."},{"name":"check_domain_availability","description":"Check availability for up to 200 domain names through AIvikings. depth=\"fast\" answers in about a second without contacting the registry, for brainstorming many "},{"name":"check_single_domain_availability","description":"Check availability for one domain through AIvikings. depth=\"confirm\" (default) asks the registry and returns the price; depth=\"fast\" answers quickly without a p"},{"name":"get_domain_pricing","description":"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"},{"name":"get_prepaid_balance","description":"Return the authenticated customer's prepaid balance for domain purchases. Returns both USD and EUR wallet balances. When automatic currency conversion is enable"},{"name":"list_contact_countries","description":"List exact ConnectReseller country names and IDs for creating or updating contacts."},{"name":"list_contact_states","description":"List exact ConnectReseller state names for a country name, country ID, or ISO code. Use the returned name in contact requests."},{"name":"create_contact","description":"Create a reusable contact for domain registration. Use list_contact_countries and list_contact_states to choose valid country and state names. The returned hand"},{"name":"get_contact","description":"Get one reusable contact by its handle."},{"name":"list_contacts","description":"List reusable contacts belonging to the authenticated customer."},{"name":"list_domain_registration_contacts","description":"List the authenticated customer's registrant/contact handles for domain registrations. Returns whether each contact is complete enough for registration, its mis"},{"name":"assign_domain_registration_contact_roles","description":"Assign one existing contact handle as the default for selected domain-registration roles. Set assign_registrant, assign_admin, assign_technical, and/or assign_b"},{"name":"remove_domain_registration_contact_roles","description":"Remove selected default domain-registration roles from one existing contact handle. Set remove_registrant, remove_admin, remove_technical, and/or remove_billing"},{"name":"register_domain","description":"Register a domain through AIvikings using the authenticated account's configurable default nameservers when nameservers are omitted. Call list_domain_registrati"},{"name":"get_domain_status","description":"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 pe"},{"name":"list_domains","description":"List domains recorded in the local registrar datastore."},{"name":"renew_domain","description":"Renew a domain through AIvikings."},{"name":"update_registrant_contact","description":"Update the registrant contact for a domain owned by the authenticated customer. Pass contact_handle by itself to apply an existing reusable contact without copy"},{"name":"update_nameservers","description":"Replace a domain's nameservers through AIvikings."},{"name":"configure_dns_record","description":"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"},{"name":"list_dns_records","description":"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."},{"name":"add_dns_record","description":"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 "},{"name":"update_dns_record","description":"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."},{"name":"delete_dns_record","description":"Permanently delete a managed DNS record. Call list_dns_records first and pass the exact DNS zone record ID returned by the provider."},{"name":"domain_transfer","description":"Transfer a domain in through AIvikings."},{"name":"get_transfer_auth_code","description":"Return the EPP transfer auth code for a domain owned by the authenticated customer. The secret is fetched only on demand."},{"name":"regenerate_transfer_auth_code","description":"Regenerate and return a new EPP transfer auth code for a domain owned by the authenticated customer, invalidating the old code."},{"name":"lock_domain","description":"Enable the registrar transfer lock for a domain owned by the authenticated customer."},{"name":"unlock_domain","description":"Disable the registrar transfer lock for a domain owned by the authenticated customer before a transfer-out."},{"name":"reconcile_domains","description":"Compare locally recorded domains with AIvikings records."},{"name":"create_customer","description":"Create a new customer without generating or returning an API key."},{"name":"get_customer","description":"Get the customer record linked to the current bearer token. A supplied customer ID must match that token."},{"name":"reconcile_provider_client","description":"Link or create the authenticated customer's registrar client account, preventing duplicate creation."}],"toolCount":34,"toolsHash":"2ae36bbc5d14a473774848cf19e30f4932417f80d9d1f36a3fb62b6e36887173","serverName":"AIvikings AI Agent Registrar","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T13:28:28.897Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":77,"error":null,"detail":{"tools":[{"name":"get_domain_audit_log","description":"Read append-only domain change history for the authenticated customer. Omit domain for portfolio history. Requires audit:read. Results are newest recorded first"},{"name":"get_current_user","description":"Return the authenticated AIvikings customer for the current bearer API key, including name and email when the key belongs to a customer."},{"name":"check_domain_availability","description":"Check availability for up to 200 domain names through AIvikings. depth=\"fast\" answers in about a second without contacting the registry, for brainstorming many "},{"name":"check_single_domain_availability","description":"Check availability for one domain through AIvikings. depth=\"confirm\" (default) asks the registry and returns the price; depth=\"fast\" answers quickly without a p"},{"name":"get_domain_pricing","description":"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"},{"name":"get_prepaid_balance","description":"Return the authenticated customer's prepaid balance for domain purchases. Returns both USD and EUR wallet balances. When automatic currency conversion is enable"},{"name":"list_contact_countries","description":"List exact ConnectReseller country names and IDs for creating or updating contacts."},{"name":"list_contact_states","description":"List exact ConnectReseller state names for a country name, country ID, or ISO code. Use the returned name in contact requests."},{"name":"create_contact","description":"Create a reusable contact for domain registration. Use list_contact_countries and list_contact_states to choose valid country and state names. The returned hand"},{"name":"get_contact","description":"Get one reusable contact by its handle."},{"name":"list_contacts","description":"List reusable contacts belonging to the authenticated customer."},{"name":"list_domain_registration_contacts","description":"List the authenticated customer's registrant/contact handles for domain registrations. Returns whether each contact is complete enough for registration, its mis"},{"name":"assign_domain_registration_contact_roles","description":"Assign one existing contact handle as the default for selected domain-registration roles. Set assign_registrant, assign_admin, assign_technical, and/or assign_b"},{"name":"remove_domain_registration_contact_roles","description":"Remove selected default domain-registration roles from one existing contact handle. Set remove_registrant, remove_admin, remove_technical, and/or remove_billing"},{"name":"register_domain","description":"Register a domain through AIvikings using the authenticated account's configurable default nameservers when nameservers are omitted. Call list_domain_registrati"},{"name":"get_domain_status","description":"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 pe"},{"name":"list_domains","description":"List domains recorded in the local registrar datastore."},{"name":"renew_domain","description":"Renew a domain through AIvikings."},{"name":"update_registrant_contact","description":"Update the registrant contact for a domain owned by the authenticated customer. Pass contact_handle by itself to apply an existing reusable contact without copy"},{"name":"update_nameservers","description":"Replace a domain's nameservers through AIvikings."},{"name":"configure_dns_record","description":"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"},{"name":"list_dns_records","description":"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."},{"name":"add_dns_record","description":"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 "},{"name":"update_dns_record","description":"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."},{"name":"delete_dns_record","description":"Permanently delete a managed DNS record. Call list_dns_records first and pass the exact DNS zone record ID returned by the provider."},{"name":"domain_transfer","description":"Transfer a domain in through AIvikings."},{"name":"get_transfer_auth_code","description":"Return the EPP transfer auth code for a domain owned by the authenticated customer. The secret is fetched only on demand."},{"name":"regenerate_transfer_auth_code","description":"Regenerate and return a new EPP transfer auth code for a domain owned by the authenticated customer, invalidating the old code."},{"name":"lock_domain","description":"Enable the registrar transfer lock for a domain owned by the authenticated customer."},{"name":"unlock_domain","description":"Disable the registrar transfer lock for a domain owned by the authenticated customer before a transfer-out."},{"name":"reconcile_domains","description":"Compare locally recorded domains with AIvikings records."},{"name":"create_customer","description":"Create a new customer without generating or returning an API key."},{"name":"get_customer","description":"Get the customer record linked to the current bearer token. A supplied customer ID must match that token."},{"name":"reconcile_provider_client","description":"Link or create the authenticated customer's registrar client account, preventing duplicate creation."}],"toolCount":34,"toolsHash":"2ae36bbc5d14a473774848cf19e30f4932417f80d9d1f36a3fb62b6e36887173","serverName":"AIvikings AI Agent Registrar","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.30.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get_domain_audit_log","description":"Read append-only domain change history for the authenticated customer. Omit domain for portfolio history. Requires audit:read. Results are newest recorded first"},{"name":"get_current_user","description":"Return the authenticated AIvikings customer for the current bearer API key, including name and email when the key belongs to a customer."},{"name":"check_domain_availability","description":"Check availability for up to 200 domain names through AIvikings. depth=\"fast\" answers in about a second without contacting the registry, for brainstorming many "},{"name":"check_single_domain_availability","description":"Check availability for one domain through AIvikings. depth=\"confirm\" (default) asks the registry and returns the price; depth=\"fast\" answers quickly without a p"},{"name":"get_domain_pricing","description":"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"},{"name":"get_prepaid_balance","description":"Return the authenticated customer's prepaid balance for domain purchases. Returns both USD and EUR wallet balances. When automatic currency conversion is enable"},{"name":"list_contact_countries","description":"List exact ConnectReseller country names and IDs for creating or updating contacts."},{"name":"list_contact_states","description":"List exact ConnectReseller state names for a country name, country ID, or ISO code. Use the returned name in contact requests."},{"name":"create_contact","description":"Create a reusable contact for domain registration. Use list_contact_countries and list_contact_states to choose valid country and state names. The returned hand"},{"name":"get_contact","description":"Get one reusable contact by its handle."},{"name":"list_contacts","description":"List reusable contacts belonging to the authenticated customer."},{"name":"list_domain_registration_contacts","description":"List the authenticated customer's registrant/contact handles for domain registrations. Returns whether each contact is complete enough for registration, its mis"},{"name":"assign_domain_registration_contact_roles","description":"Assign one existing contact handle as the default for selected domain-registration roles. Set assign_registrant, assign_admin, assign_technical, and/or assign_b"},{"name":"remove_domain_registration_contact_roles","description":"Remove selected default domain-registration roles from one existing contact handle. Set remove_registrant, remove_admin, remove_technical, and/or remove_billing"},{"name":"register_domain","description":"Register a domain through AIvikings using the authenticated account's configurable default nameservers when nameservers are omitted. Call list_domain_registrati"},{"name":"get_domain_status","description":"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 pe"},{"name":"list_domains","description":"List domains recorded in the local registrar datastore."},{"name":"renew_domain","description":"Renew a domain through AIvikings."},{"name":"update_registrant_contact","description":"Update the registrant contact for a domain owned by the authenticated customer. Pass contact_handle by itself to apply an existing reusable contact without copy"},{"name":"update_nameservers","description":"Replace a domain's nameservers through AIvikings."},{"name":"configure_dns_record","description":"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"},{"name":"list_dns_records","description":"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."},{"name":"add_dns_record","description":"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 "},{"name":"update_dns_record","description":"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."},{"name":"delete_dns_record","description":"Permanently delete a managed DNS record. Call list_dns_records first and pass the exact DNS zone record ID returned by the provider."},{"name":"domain_transfer","description":"Transfer a domain in through AIvikings."},{"name":"get_transfer_auth_code","description":"Return the EPP transfer auth code for a domain owned by the authenticated customer. The secret is fetched only on demand."},{"name":"regenerate_transfer_auth_code","description":"Regenerate and return a new EPP transfer auth code for a domain owned by the authenticated customer, invalidating the old code."},{"name":"lock_domain","description":"Enable the registrar transfer lock for a domain owned by the authenticated customer."},{"name":"unlock_domain","description":"Disable the registrar transfer lock for a domain owned by the authenticated customer before a transfer-out."},{"name":"reconcile_domains","description":"Compare locally recorded domains with AIvikings records."},{"name":"create_customer","description":"Create a new customer without generating or returning an API key."},{"name":"get_customer","description":"Get the customer record linked to the current bearer token. A supplied customer ID must match that token."},{"name":"reconcile_provider_client","description":"Link or create the authenticated customer's registrar client account, preventing duplicate creation."}],"package":null,"toolSurface":{"id":"ts_bxuxr77jubuv","endpointId":"ep_uuhb4ra7stup","hash":"2ae36bbc5d14a473774848cf19e30f4932417f80d9d1f36a3fb62b6e36887173","toolCount":34,"serverName":"AIvikings AI Agent Registrar","serverVersion":"1.30.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-13T08:27:42.936Z","lastSeenAt":"2026-10-22T04:28:47.763Z","observations":33,"toolNames":["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"],"distinctSurfaces":2},"endpointFacts":[{"id":"ep_uuhb4ra7stup","url":"https://mcp.aivikings.ai/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-16T20:34:43.819Z","auth":{"observedAt":"2026-10-16T20:34:44.047Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://mcp.aivikings.ai/.well-known/oauth-protected-resource/mcp","resource":"https://mcp.aivikings.ai/mcp","authorizationServers":["https://api.aivikings.ai"],"scopesSupported":["openid","email","profile","domains:read","domains:write","domains:transfer","billing:read","contacts:write","offline_access","audit:read","contacts:read"]},"authorizationServer":{"url":"https://api.aivikings.ai/.well-known/oauth-authorization-server","issuer":"https://api.aivikings.ai","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-16T20:34:44.115Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.aivikings.ai","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-09-05T13:10:51.000Z","validTo":"2026-12-04T13:10:50.000Z","daysToExpiry":43,"sanCount":1,"fingerprint256":"8D:E0:A9:16:2B:ED:F2:D5:73:A7:FA:CB:72:65:47:00:39:23:76:60:DE:BE:7C:7B:DD:13:72:B6:93:D2:6C:09"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"ai.aivikings/registrar","url":"https://registry.modelcontextprotocol.io/v0/servers/ai.aivikings%2Fregistrar","firstSeenAt":"2026-10-11T18:21:54.979Z","fetchedAt":"2026-10-21T02:22:24.820Z","normalizedAt":"2026-10-21T02:22:24.820Z"}]},"firstSeenAt":"2026-10-11T18:21:54.979Z","updatedAt":"2026-10-22T04:33:14.021Z"}