All scored servers

AiVikings.ai: tool descriptions scored ai.aivikings/registrar

tools/list taken
(UTC)
Connected to
https://mcp.aivikings.ai/mcp
Homepage
aivikings.ai
Scoring rules
v2
Score this URL as it is today

Scores, issues and names only

This page shows how AiVikings.ai (ai.aivikings/registrar)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

servers/ai.aivikings/registrar
Average score
44.3 / 100Cloudy
Tools
37
Near-identical descriptions
2

Across the server

  • Minor
    37 tools. Above 25, models start to tell tools apart less well.many_tools

Tools whose descriptions are nearly the same

2 of 2 pairs shown, highest description similarity first.
ToolToolDescription similarityName similarity
lock_domainunlock_domain0.640.33
renew_domaindomain_transfer0.600.33

Tools

domain_transfer

24 / 100Rain

Purpose
6 / 20
When to use
0 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    The description only restates the name (6 words).restates_name
  • Major
    The description is too short (6 words).too_short
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: domain, auth_code, period_years.param_no_description
  • Minor
    Its description is nearly the same as renew_domain's (similarity 0.60); only the names and schemas tell them apart. Say in this description when to use renew_domain instead.confusable_pair
  • Minor
    String arguments with no constraint or example: domain, auth_code.loose_string_param

get_contact

24 / 100Rain

Purpose
6 / 20
When to use
0 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    The description only restates the name (7 words).restates_name
  • Major
    The description is too short (7 words).too_short
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: contact_handle.param_no_description
  • Minor
    String arguments with no constraint or example: contact_handle.loose_string_param

renew_domain

24 / 100Rain

Purpose
6 / 20
When to use
0 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    The description only restates the name (5 words).restates_name
  • Major
    The description is too short (5 words).too_short
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: domain, period_years.param_no_description
  • Minor
    Its description is nearly the same as domain_transfer's (similarity 0.60); only the names and schemas tell them apart. Say in this description when to use domain_transfer instead.confusable_pair
  • Minor
    String arguments with no constraint or example: domain.loose_string_param

update_nameservers

24 / 100Rain

Purpose
6 / 20
When to use
0 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    The description only restates the name (7 words).restates_name
  • Major
    The description is too short (7 words).too_short
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: domain, nameservers.param_no_description
  • Minor
    String arguments with no constraint or example: domain.loose_string_param

middleware_get_contact

28 / 100Rain

Purpose
10 / 20
When to use
0 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: contact_id.param_no_description
  • Minor
    String arguments with no constraint or example: contact_id.loose_string_param
  • Minor
    Required identifiers whose description does not say where the value comes from: contact_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

delete_dns_record

32 / 100Rain

Purpose
14 / 20
When to use
0 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: domain, dns_zone_record_id.param_no_description
  • Minor
    String arguments with no constraint or example: domain, dns_zone_record_id.loose_string_param

middleware_get_domain

32 / 100Rain

Purpose
14 / 20
When to use
0 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: domain_id.param_no_description
  • Minor
    String arguments with no constraint or example: domain_id.loose_string_param
  • Minor
    Required identifiers whose description does not say where the value comes from: domain_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

middleware_list_transactions

34 / 100Rain

Purpose
14 / 20
When to use
0 / 20
Arguments
5 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: cursor, limit, domain, account_id.param_no_description
  • Minor
    No `required` list, so every argument is optional.no_required

list_contact_states

35 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: country.param_no_description
  • Minor
    String arguments with no constraint or example: country.loose_string_param

middleware_get_transaction_secret

37 / 100Rain

Purpose
14 / 20
When to use
5 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Arguments without a description: transaction_id.param_no_description
  • Minor
    String arguments with no constraint or example: transaction_id.loose_string_param
  • Minor
    Required identifiers whose description does not say where the value comes from: transaction_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

lock_domain

38 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: domain.param_no_description
  • Minor
    Its description is nearly the same as unlock_domain's (similarity 0.64); only the names and schemas tell them apart. Say in this description when to use unlock_domain instead.confusable_pair
  • Minor
    String arguments with no constraint or example: domain.loose_string_param

remove_domain_registration_contact_roles

38 / 100Rain

Purpose
20 / 20
When to use
0 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: contact_handle, remove_registrant, remove_admin, remove_technical, remove_billing.param_no_description
  • Minor
    String arguments with no constraint or example: contact_handle.loose_string_param
  • Minor
    The meaning of the boolean argument remove_registrant is unclear.vague_boolean
  • Minor
    The meaning of the boolean argument remove_admin is unclear.vague_boolean
  • Minor
    The meaning of the boolean argument remove_technical is unclear.vague_boolean
  • Minor
    The meaning of the boolean argument remove_billing is unclear.vague_boolean

unlock_domain

38 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: domain.param_no_description
  • Minor
    Its description is nearly the same as lock_domain's (similarity 0.64); only the names and schemas tell them apart. Say in this description when to use lock_domain instead.confusable_pair
  • Minor
    String arguments with no constraint or example: domain.loose_string_param

update_dns_record

40 / 100Cloudy

Purpose
17 / 20
When to use
5 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Arguments without a description: domain, dns_zone_record_id, record_name, record_type, record_value, record_ttl, record_priority, record_port, record_weight.param_no_description
  • Minor
    String arguments with no constraint or example: domain, dns_zone_record_id, record_name, record_type, record_value.loose_string_param
  • Minor
    The description mentions none of its 3 or more arguments.params_not_in_description

get_customer

42 / 100Cloudy

Purpose
17 / 20
When to use
5 / 20
Arguments
5 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Arguments without a description: customer_id.param_no_description
  • Minor
    No `required` list, so every argument is optional.no_required

middleware_get_capabilities

42 / 100Cloudy

Purpose
17 / 20
When to use
5 / 20
Arguments
5 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Arguments without a description: account_id.param_no_description
  • Minor
    No `required` list, so every argument is optional.no_required

regenerate_transfer_auth_code

42 / 100Cloudy

Purpose
14 / 20
When to use
0 / 20
Arguments
3 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: domain.param_no_description
  • Minor
    String arguments with no constraint or example: domain.loose_string_param

create_contact

43 / 100Cloudy

Purpose
20 / 20
When to use
5 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Arguments without a description: name, email, address, city, state, country, postal_code, phone_country_code, phone_number, handle, organization, address_line_2, default_registrant, default_admin, default_technical, default_billing.param_no_description
  • Minor
    String arguments with no constraint or example: name, email, address, city, state, country, postal_code, phone_country_code, phone_number.loose_string_param
  • Minor
    The meaning of the boolean argument default_registrant is unclear.vague_boolean
  • Minor
    The meaning of the boolean argument default_admin is unclear.vague_boolean
  • Minor
    The meaning of the boolean argument default_technical is unclear.vague_boolean
  • Minor
    The meaning of the boolean argument default_billing is unclear.vague_boolean

get_domain_status

43 / 100Cloudy

Purpose
20 / 20
When to use
5 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Arguments without a description: domain.param_no_description
  • Minor
    String arguments with no constraint or example: domain.loose_string_param

get_transfer_auth_code

45 / 100Cloudy

Purpose
17 / 20
When to use
0 / 20
Arguments
3 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: domain.param_no_description
  • Minor
    String arguments with no constraint or example: domain.loose_string_param

list_dns_records

46 / 100Cloudy

Purpose
20 / 20
When to use
5 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    Arguments without a description: domain.param_no_description
  • Minor
    String arguments with no constraint or example: domain.loose_string_param

list_domains

46 / 100Cloudy

Purpose
6 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    The description only restates the name (8 words).restates_name
  • Major
    Says nothing about when to use it, or when not to.no_usage_context

update_registrant_contact

46 / 100Cloudy

Purpose
20 / 20
When to use
5 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    Arguments without a description: domain, contact_handle, name, organization, email, address, city, state, country, postal_code, phone_country_code, phone_number, acknowledge_transfer_lock.param_no_description
  • Minor
    String arguments with no constraint or example: domain.loose_string_param
  • Minor
    The meaning of the boolean argument acknowledge_transfer_lock is unclear.vague_boolean

assign_domain_registration_contact_roles

48 / 100Cloudy

Purpose
20 / 20
When to use
10 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Arguments without a description: contact_handle, assign_registrant, assign_admin, assign_technical, assign_billing.param_no_description
  • Minor
    String arguments with no constraint or example: contact_handle.loose_string_param
  • Minor
    The meaning of the boolean argument assign_registrant is unclear.vague_boolean
  • Minor
    The meaning of the boolean argument assign_admin is unclear.vague_boolean
  • Minor
    The meaning of the boolean argument assign_technical is unclear.vague_boolean
  • Minor
    The meaning of the boolean argument assign_billing is unclear.vague_boolean

configure_dns_record

48 / 100Cloudy

Purpose
20 / 20
When to use
0 / 20
Arguments
5 / 25
Return value
8 / 15
Constraints and side effects
10 / 10
Examples
5 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: domain, record_value, record_name.param_no_description
  • Minor
    String arguments with no constraint or example: domain, record_value.loose_string_param

list_contacts

49 / 100Cloudy

Purpose
6 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    The description only restates the name (8 words).restates_name
  • Major
    Says nothing about when to use it, or when not to.no_usage_context

add_dns_record

51 / 100Cloudy

Purpose
20 / 20
When to use
5 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
10 / 10
Examples
5 / 10
  • Major
    Arguments without a description: domain, record_name, record_type, record_value, record_ttl, record_priority, record_port, record_weight.param_no_description
  • Minor
    String arguments with no constraint or example: domain, record_name, record_type, record_value.loose_string_param

register_domain

51 / 100Cloudy

Purpose
20 / 20
When to use
10 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    Arguments without a description: domain, period_years, nameservers, currency, contact_handle, allow_premium.param_no_description
  • Minor
    String arguments with no constraint or example: domain.loose_string_param
  • Minor
    The meaning of the boolean argument allow_premium is unclear.vague_boolean

get_prepaid_balance

55 / 100Cloudy

Purpose
20 / 20
When to use
5 / 20
Arguments
5 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    Arguments without a description: currency.param_no_description
  • Minor
    No `required` list, so every argument is optional.no_required

middleware_get_transaction

55 / 100Cloudy

Purpose
17 / 20
When to use
10 / 20
Arguments
3 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    Arguments without a description: transaction_id.param_no_description
  • Minor
    String arguments with no constraint or example: transaction_id.loose_string_param
  • Minor
    Required identifiers whose description does not say where the value comes from: transaction_id. Name the tool or the place that returns it, or models look it up first.id_source_missing

list_contact_countries

57 / 100Cloudy

Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
8 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Says nothing about when to use it, or when not to.no_usage_context

get_domain_audit_log

58 / 100Cloudy

Purpose
20 / 20
When to use
15 / 20
Arguments
5 / 25
Return value
8 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    Arguments without a description: domain, action, from_timestamp, to_timestamp, cursor, limit.param_no_description
  • Minor
    No `required` list, so every argument is optional.no_required

get_domain_pricing

58 / 100Cloudy

Purpose
20 / 20
When to use
10 / 20
Arguments
3 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    Arguments without a description: domain, currency.param_no_description
  • Minor
    String arguments with no constraint or example: domain.loose_string_param

middleware_submit_transaction

58 / 100Cloudy

Purpose
17 / 20
When to use
20 / 20
Arguments
3 / 25
Return value
8 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    Arguments without a description: action, input, idempotency_key, domain_id, account_id.param_no_description
  • Minor
    String arguments with no constraint or example: action, idempotency_key.loose_string_param

check_domain_availability

60 / 100Cloudy

Purpose
20 / 20
When to use
10 / 20
Arguments
8 / 25
Return value
15 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Arguments without a description: domains, include_price, currency.param_no_description
  • Minor
    The meaning of the boolean argument include_price is unclear.vague_boolean

get_current_user

72 / 100Clear

Purpose
17 / 20
When to use
5 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
0 / 10

No issues.

list_domain_registration_contacts

75 / 100Clear

Purpose
20 / 20
When to use
5 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
0 / 10

No issues.

What static scoring cannot tell

This score reads only the text of each description and schema: it says what is written, not what a model will do. Short tools whose names already say what they do, such as browser_close, score low here even when models use them well, and in our measurements current models chose the right tool in one step even from one-line descriptions, as long as the names and schemas differed. What the text cannot show, such as what happens over several steps and whether an added sentence helps or misleads, is what an evaluation measures, on the Pro and Team plans.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

All scored servers