# BorealHost (ai.borealhost/mcp): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/ai.borealhost%2Fmcp/versions/latest)
- Connected to: https://borealhost.ai/mcp/
- Homepage: https://borealhost.ai/
- Repository: https://github.com/alainsvrd/borealhost-mcp
- Scoring rules: v2
- Tools: 184
- Average: 40.6 / 100 (Cloudy)
- Near-identical pairs: 8

This page shows how BorealHost (ai.borealhost/mcp)'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.

## Across the server

- Major: 184 tools. Above 40, models choose less accurately.
- Minor: The server's instructions are 7313 characters. Claude Code reads only the first 2,048 by default (Codex 0.154.0 reads them whole). Put what the server is for first.

## Tools

- `remove_mailbox_alias`: 11 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: email, alias, actor, reason.
  - Minor: String arguments with no constraint or example: email, alias.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `list_mailbox_aliases`: 14 / 100
  - Major: The description only restates the name (7 words).
  - Major: The description is too short (7 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: email, cursor, limit.
  - Minor: String arguments with no constraint or example: email.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `list_mailboxes`: 15 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: domain, cursor, limit, label.
  - Minor: String arguments with no constraint or example: domain.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `find_address`: 16 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: address.
  - Minor: String arguments with no constraint or example: address.
  - Minor: Says nothing about what it returns.
- `get_email_domain`: 16 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: domain.
  - Minor: String arguments with no constraint or example: domain.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_mailbox`: 16 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: email.
  - Minor: String arguments with no constraint or example: email.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `add_mailbox_alias`: 18 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: email, alias, actor, reason.
  - Minor: String arguments with no constraint or example: email, alias.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_email_domains`: 18 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: cursor, limit.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `reboot_compute_instance`: 18 / 100
  - Major: Arguments without a description: instance_id.
  - Minor: String arguments with no constraint or example: instance_id.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: instance_id. Name the tool or the place that returns it, or models look it up first.
- `rotate_email_key`: 18 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: grace_minutes.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `disable_email_domain`: 19 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: domain, actor, reason.
  - Minor: String arguments with no constraint or example: domain.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `logout_mailbox_sessions`: 19 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: email, actor, reason.
  - Minor: String arguments with no constraint or example: email.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `restore_mailbox`: 19 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: email, actor, reason.
  - Minor: String arguments with no constraint or example: email.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `create_email_mailbox`: 20 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: domain, local_part, display_name, password, quota_gb, label, smtp_sent_limit, idempotency_key, actor, reason.
  - Minor: String arguments with no constraint or example: domain, local_part.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `delete_email_mailbox`: 20 / 100
  - Major: Arguments without a description: email, confirm, actor, reason.
  - Minor: String arguments with no constraint or example: email, confirm.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `list_email_audit`: 20 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: domain, since, email, cursor, limit.
  - Minor: String arguments with no constraint or example: domain.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `start_compute_instance`: 21 / 100
  - Major: Arguments without a description: instance_id.
  - Minor: String arguments with no constraint or example: instance_id.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: instance_id. Name the tool or the place that returns it, or models look it up first.
- `clear_mailbox_forwarding`: 22 / 100
  - Major: The description only restates the name (9 words).
  - Major: Arguments without a description: email, clear_all_filters, actor, reason.
  - Minor: String arguments with no constraint or example: email.
  - Minor: The meaning of the boolean argument clear_all_filters is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `set_mailbox_aliases`: 22 / 100
  - Major: The description is too short (7 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: email, aliases, actor, reason.
  - Minor: String arguments with no constraint or example: email.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `update_email_domain`: 22 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: domain, settings, actor, reason.
  - Minor: String arguments with no constraint or example: domain.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `configure_email_dns`: 24 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: domain, dmarc_reporting_address, actor, reason.
  - Minor: String arguments with no constraint or example: domain.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `create_mailbox_token`: 25 / 100
  - Major: Arguments without a description: email, duration_minutes, actor, reason.
  - Minor: String arguments with no constraint or example: email.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `reset_email_mailbox_password`: 25 / 100
  - Major: Arguments without a description: email, new_password, actor, reason.
  - Minor: String arguments with no constraint or example: email.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `stop_compute_instance`: 25 / 100
  - Major: Arguments without a description: instance_id.
  - Minor: String arguments with no constraint or example: instance_id.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_email_webmail_url`: 26 / 100
  - Major: Arguments without a description: email, language, actor, reason.
  - Minor: String arguments with no constraint or example: email.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `update_mailbox`: 26 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: email, settings, actor, reason.
  - Minor: String arguments with no constraint or example: email.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `get_database_recovery`: 30 / 100
  - Major: Arguments without a description: slug, backup_id, recovery_id.
  - Minor: String arguments with no constraint or example: slug, backup_id, recovery_id.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_email_status`: 34 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_webmail_url`: 34 / 100
  - Major: Arguments without a description: slug, email.
  - Minor: String arguments with no constraint or example: slug, email.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `ssl_renew`: 34 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `cache_flush`: 37 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `claim_api_key`: 37 / 100
  - Major: Arguments without a description: claim_token.
  - Minor: String arguments with no constraint or example: claim_token.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `delete_backup`: 37 / 100
  - Major: Arguments without a description: slug, backup_id.
  - Minor: String arguments with no constraint or example: slug, backup_id.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: backup_id. Name the tool or the place that returns it, or models look it up first.
- `delete_mailbox`: 37 / 100
  - Major: Arguments without a description: slug, email.
  - Minor: String arguments with no constraint or example: slug, email.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `delete_webhook`: 37 / 100
  - Major: Arguments without a description: endpoint_id.
  - Minor: String arguments with no constraint or example: endpoint_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: endpoint_id. Name the tool or the place that returns it, or models look it up first.
- `enable_email_domain`: 37 / 100
  - Major: Arguments without a description: domain, site_slug, mailbox_limit, alias_limit, dmarc_reporting_address, configure_dns, actor, reason.
  - Minor: String arguments with no constraint or example: domain.
  - Minor: The meaning of the boolean argument configure_dns is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_backup_retention`: 37 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_file_recovery`: 37 / 100
  - Major: Arguments without a description: slug, backup_id, recovery_id.
  - Minor: String arguments with no constraint or example: slug, backup_id, recovery_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_databases`: 37 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_redirects`: 37 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_tables`: 37 / 100
  - Major: Arguments without a description: slug, database.
  - Minor: String arguments with no constraint or example: slug, database.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `optimize_database`: 37 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `reply_support_ticket`: 37 / 100
  - Major: Arguments without a description: ticket_id, message.
  - Minor: String arguments with no constraint or example: ticket_id, message.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: ticket_id. Name the tool or the place that returns it, or models look it up first.
- `revoke_smtp_relay`: 37 / 100
  - Major: Arguments without a description: slug, relay_id.
  - Minor: String arguments with no constraint or example: slug, relay_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: relay_id. Name the tool or the place that returns it, or models look it up first.
- `scale`: 37 / 100
  - Major: Arguments without a description: slug, new_plan.
  - Minor: String arguments with no constraint or example: slug, new_plan.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `set_force_https`: 37 / 100
  - Major: Arguments without a description: slug, enabled.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: The meaning of the boolean argument enabled is unclear.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `snapshot_compute_volume`: 37 / 100
  - Major: Arguments without a description: volume_id, quiesce_units.
  - Minor: String arguments with no constraint or example: volume_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: volume_id. Name the tool or the place that returns it, or models look it up first.
- `terminate_compute_instance`: 37 / 100
  - Major: Arguments without a description: instance_id.
  - Minor: String arguments with no constraint or example: instance_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: instance_id. Name the tool or the place that returns it, or models look it up first.
- `test_webhook`: 37 / 100
  - Major: Arguments without a description: endpoint_id.
  - Minor: String arguments with no constraint or example: endpoint_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: endpoint_id. Name the tool or the place that returns it, or models look it up first.
- `set_api_key`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: api_key.
  - Minor: String arguments with no constraint or example: api_key.
- `list_compute_instances`: 39 / 100
  - Major: Arguments without a description: include_terminated.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument include_terminated is unclear.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_db_users`: 39 / 100
  - Major: Arguments without a description: slug, engine.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `add_cron`: 40 / 100
  - Major: Arguments without a description: slug, schedule, command.
  - Minor: String arguments with no constraint or example: slug, schedule, command.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `add_ssh_key`: 40 / 100
  - Major: Arguments without a description: slug, public_key.
  - Minor: String arguments with no constraint or example: slug, public_key.
- `cache_status`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `cache_toggle`: 40 / 100
  - Major: Arguments without a description: slug, enable.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: The meaning of the boolean argument enable is unclear.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `cancel_scheduled_snapshot`: 40 / 100
  - Major: Arguments without a description: slug, schedule_id.
  - Minor: String arguments with no constraint or example: slug, schedule_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: schedule_id. Name the tool or the place that returns it, or models look it up first.
- `cloudflare_proxy_status`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `create_backup`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `database_search_replace`: 40 / 100
  - Major: Arguments without a description: slug, old, new, dry_run.
  - Minor: String arguments with no constraint or example: slug, old, new.
  - Minor: The meaning of the boolean argument dry_run is unclear.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `delete_alert_rule`: 40 / 100
  - Major: Arguments without a description: slug, rule_id.
  - Minor: String arguments with no constraint or example: slug, rule_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: rule_id. Name the tool or the place that returns it, or models look it up first.
- `delete_compute_volume`: 40 / 100
  - Major: Arguments without a description: volume_id, force.
  - Minor: String arguments with no constraint or example: volume_id.
  - Minor: The meaning of the boolean argument force is unclear.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: volume_id. Name the tool or the place that returns it, or models look it up first.
- `delete_cron`: 40 / 100
  - Major: Arguments without a description: slug, line_number.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `delete_domain_dns`: 40 / 100
  - Major: Arguments without a description: domain_name, record_id.
  - Minor: String arguments with no constraint or example: domain_name, record_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: record_id. Name the tool or the place that returns it, or models look it up first.
- `delete_file`: 40 / 100
  - Major: Arguments without a description: slug, path.
  - Minor: String arguments with no constraint or example: slug, path.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `delete_redirect`: 40 / 100
  - Major: Arguments without a description: slug, source_path, redirect_id.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `delete_snapshot`: 40 / 100
  - Major: Arguments without a description: slug, snapshot_id.
  - Minor: String arguments with no constraint or example: slug, snapshot_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: snapshot_id. Name the tool or the place that returns it, or models look it up first.
- `delete_subdomain`: 40 / 100
  - Major: Arguments without a description: domain_name, subdomain.
  - Minor: String arguments with no constraint or example: domain_name, subdomain.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `domain_detail`: 40 / 100
  - Major: Arguments without a description: domain_name.
  - Minor: String arguments with no constraint or example: domain_name.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `domain_settings`: 40 / 100
  - Major: Arguments without a description: domain_name, auto_renew, whois_privacy, locked.
  - Minor: String arguments with no constraint or example: domain_name.
  - Minor: The meaning of the boolean argument auto_renew is unclear.
  - Minor: The meaning of the boolean argument whois_privacy is unclear.
  - Minor: The meaning of the boolean argument locked is unclear.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_database_info`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_metrics`: 40 / 100
  - Major: Arguments without a description: slug, days.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_resource_snapshot`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_site_nginx_snippet`: 40 / 100
  - Major: Arguments without a description: domain_name.
  - Minor: String arguments with no constraint or example: domain_name.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_site_status`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_smtp_relay`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
- `get_ssh_info`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_stack_info`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_support_ticket`: 40 / 100
  - Major: Arguments without a description: ticket_id.
  - Minor: String arguments with no constraint or example: ticket_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: ticket_id. Name the tool or the place that returns it, or models look it up first.
- `link_domain`: 40 / 100
  - Major: Arguments without a description: domain_name, site_slug.
  - Minor: String arguments with no constraint or example: domain_name, site_slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_alert_rules`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_apps`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_backups`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_cron`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_firewall_rules`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_modules`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_php_versions`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_plans`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: track, include_deprecated.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument include_deprecated is unclear.
  - Minor: The description says the tool is deprecated. Name the replacement, and consider taking the tool out of tools/list: models avoid it when asked for what it does.
- `list_plugins`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_snapshots`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_subdomains`: 40 / 100
  - Major: Arguments without a description: domain_name.
  - Minor: String arguments with no constraint or example: domain_name.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_themes`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `manage_plugin`: 40 / 100
  - Major: Arguments without a description: slug, action, plugin.
  - Minor: String arguments with no constraint or example: slug, action, plugin.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `manage_theme`: 40 / 100
  - Major: Arguments without a description: slug, action, theme.
  - Minor: String arguments with no constraint or example: slug, action, theme.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `remove_ftp_account`: 40 / 100
  - Major: Arguments without a description: slug, username.
  - Minor: String arguments with no constraint or example: slug, username.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `remove_port_forward`: 40 / 100
  - Major: Arguments without a description: slug, forward_id.
  - Minor: String arguments with no constraint or example: slug, forward_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: forward_id. Name the tool or the place that returns it, or models look it up first.
- `revoke_api_key`: 40 / 100
  - Major: Arguments without a description: key_id.
  - Minor: String arguments with no constraint or example: key_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: key_id. Name the tool or the place that returns it, or models look it up first.
- `ssl_info`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `switch_php`: 40 / 100
  - Major: Arguments without a description: slug, version.
  - Minor: String arguments with no constraint or example: slug, version.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `wp_check_updates`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `wp_update_all`: 40 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `add_domain_dns`: 41 / 100
  - Major: Arguments without a description: domain_name, record_type, value, subdomain, priority.
  - Minor: String arguments with no constraint or example: domain_name, record_type, value.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `manage_db_user`: 41 / 100
  - Major: Arguments without a description: slug, action, engine, user, password, database, privileges, host.
  - Minor: String arguments with no constraint or example: slug, action.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `get_billing_portal`: 42 / 100
  - Major: Arguments without a description: flow.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_checkout_status`: 42 / 100
  - Major: Arguments without a description: checkout_id.
  - Minor: String arguments with no constraint or example: checkout_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: checkout_id. Name the tool or the place that returns it, or models look it up first.
- `install_app`: 42 / 100
  - Major: Arguments without a description: slug, template, app_name, db_type, domain, display_name.
  - Minor: String arguments with no constraint or example: slug, template, app_name.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_files`: 42 / 100
  - Major: Arguments without a description: slug, path.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_support_tickets`: 42 / 100
  - Major: Arguments without a description: status.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `manage_dns`: 42 / 100
  - Major: Arguments without a description: slug, action, record_type, subdomain, value.
  - Minor: String arguments with no constraint or example: slug, action, record_type.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `run_malware_scan`: 42 / 100
  - Major: Arguments without a description: slug, path.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `update_account`: 42 / 100
  - Major: Arguments without a description: email, language, first_name, last_name.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `cloudflare_purge_cache`: 43 / 100
  - Major: Arguments without a description: slug, urls.
  - Minor: String arguments with no constraint or example: slug.
  - Major: It may be destructive, but destructiveHint is not set.
- `enable_wildcard`: 43 / 100
  - Major: Arguments without a description: domain_name.
  - Minor: String arguments with no constraint or example: domain_name.
- `get_compute_instance`: 43 / 100
  - Major: Arguments without a description: instance_id.
  - Minor: String arguments with no constraint or example: instance_id.
  - Minor: Required identifiers whose description does not say where the value comes from: instance_id. Name the tool or the place that returns it, or models look it up first.
- `get_logs`: 43 / 100
  - Major: Arguments without a description: slug, log_type, lines, search.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_snapshot_usage`: 43 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
- `list_port_forwards`: 43 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
- `read_file`: 43 / 100
  - Major: Arguments without a description: slug, path.
  - Minor: String arguments with no constraint or example: slug, path.
- `restore_backup`: 43 / 100
  - Major: Arguments without a description: slug, backup_id.
  - Minor: String arguments with no constraint or example: slug, backup_id.
  - Minor: Required identifiers whose description does not say where the value comes from: backup_id. Name the tool or the place that returns it, or models look it up first.
- `rollback_snapshot`: 43 / 100
  - Major: Arguments without a description: slug, snapshot_id.
  - Minor: String arguments with no constraint or example: slug, snapshot_id.
  - Minor: Required identifiers whose description does not say where the value comes from: snapshot_id. Name the tool or the place that returns it, or models look it up first.
- `rotate_key`: 43 / 100
  - Major: Arguments without a description: key_id, grace_minutes.
  - Minor: String arguments with no constraint or example: key_id.
  - Minor: Required identifiers whose description does not say where the value comes from: key_id. Name the tool or the place that returns it, or models look it up first.
- `set_backup_retention`: 43 / 100
  - Major: Arguments without a description: slug, keep_daily, keep_weekly, keep_monthly, reset.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: The meaning of the boolean argument reset is unclear.
  - Major: It may be destructive, but destructiveHint is not set.
- `reset_mailbox_password`: 44 / 100
  - Major: Arguments without a description: slug, email, new_password.
  - Minor: String arguments with no constraint or example: slug, email.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `add_firewall_rule`: 45 / 100
  - Major: Arguments without a description: slug, ip, action.
  - Minor: String arguments with no constraint or example: slug, ip.
- `add_redirect`: 45 / 100
  - Major: Arguments without a description: slug, source_path, target_url, redirect_type.
  - Minor: String arguments with no constraint or example: slug, source_path, target_url.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `cloudflare_set_proxy`: 45 / 100
  - Major: Arguments without a description: slug, proxied.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: The meaning of the boolean argument proxied is unclear.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `container_action`: 45 / 100
  - Major: Arguments without a description: slug, action.
  - Minor: String arguments with no constraint or example: slug, action.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `create_directory`: 45 / 100
  - Major: Arguments without a description: slug, path.
  - Minor: String arguments with no constraint or example: slug, path.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `create_webhook`: 45 / 100
  - Major: Arguments without a description: url, events.
  - Minor: String arguments with no constraint or example: url.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `detach_compute_volume`: 45 / 100
  - Major: Arguments without a description: volume_id.
  - Minor: String arguments with no constraint or example: volume_id.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: volume_id. Name the tool or the place that returns it, or models look it up first.
- `enable_smtp_relay`: 45 / 100
  - Major: Arguments without a description: slug, domain.
  - Minor: String arguments with no constraint or example: slug, domain.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_app_status`: 45 / 100
  - Major: Arguments without a description: slug, app_id.
  - Minor: String arguments with no constraint or example: slug, app_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: app_id. Name the tool or the place that returns it, or models look it up first.
- `list_checkouts`: 45 / 100
  - Major: Arguments without a description: status.
  - Minor: No `required` list, so every argument is optional.
- `list_domain_dns`: 45 / 100
  - Major: Arguments without a description: domain_name.
  - Minor: String arguments with no constraint or example: domain_name.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `recover_backup_database`: 45 / 100
  - Major: Arguments without a description: slug, backup_id, database.
  - Minor: String arguments with no constraint or example: slug, backup_id, database.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: backup_id. Name the tool or the place that returns it, or models look it up first.
- `recover_backup_files`: 45 / 100
  - Major: Arguments without a description: slug, backup_id, paths.
  - Minor: String arguments with no constraint or example: slug, backup_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: backup_id. Name the tool or the place that returns it, or models look it up first.
- `remove_firewall_rule`: 45 / 100
  - Major: Arguments without a description: slug, ip.
  - Minor: String arguments with no constraint or example: slug, ip.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `search_domain`: 45 / 100
  - Major: Arguments without a description: domain.
  - Minor: String arguments with no constraint or example: domain.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `toggle_module`: 45 / 100
  - Major: Arguments without a description: slug, module_name.
  - Minor: String arguments with no constraint or example: slug, module_name.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `transfer_out_domain`: 45 / 100
  - Major: Arguments without a description: domain_name.
  - Minor: String arguments with no constraint or example: domain_name.
- `upload_ssl_cert`: 45 / 100
  - Major: Arguments without a description: slug, domain, fullchain_pem, privkey_pem.
  - Minor: String arguments with no constraint or example: slug, domain, fullchain_pem, privkey_pem.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `write_file`: 45 / 100
  - Major: Arguments without a description: slug, path, content.
  - Minor: String arguments with no constraint or example: slug, path, content.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `create_api_key`: 46 / 100
  - Major: Arguments without a description: name, scopes, site_slug, email_domains, expires_at, ip_allowlist.
  - Minor: String arguments with no constraint or example: name.
- `create_mailbox`: 47 / 100
  - Major: Arguments without a description: slug, local_part, display_name, password.
  - Minor: String arguments with no constraint or example: slug, local_part.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `create_checkout`: 48 / 100
  - Major: Arguments without a description: sku.
  - Minor: String arguments with no constraint or example: sku.
- `decommission`: 48 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Major: It may be destructive, but destructiveHint is not set.
- `execute_query`: 48 / 100
  - Major: Arguments without a description: slug, database, query.
  - Minor: String arguments with no constraint or example: slug, database, query.
- `get_compute_volume`: 48 / 100
  - Major: Arguments without a description: volume_id.
  - Minor: String arguments with no constraint or example: volume_id.
  - Minor: Required identifiers whose description does not say where the value comes from: volume_id. Name the tool or the place that returns it, or models look it up first.
- `launch_compute_instance`: 48 / 100
  - Major: Arguments without a description: instance_type, image_id, name, ssh_public_key, user_data, root_disk_size, storage_type, max_lifetime_hours.
  - Minor: String arguments with no constraint or example: instance_type, image_id.
  - Minor: Required identifiers whose description does not say where the value comes from: image_id. Name the tool or the place that returns it, or models look it up first.
- `resend_registrant_verification`: 48 / 100
  - Major: Arguments without a description: domain_name.
  - Minor: String arguments with no constraint or example: domain_name.
- `setup_email`: 48 / 100
  - Major: Arguments without a description: slug, domain.
  - Minor: String arguments with no constraint or example: slug, domain.
- `adopt_compute_instance`: 49 / 100
  - Major: Arguments without a description: instance_id, name.
  - Minor: String arguments with no constraint or example: instance_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: instance_id. Name the tool or the place that returns it, or models look it up first.
- `create_ftp_account`: 49 / 100
  - Major: Arguments without a description: slug, username, password, home_dir.
  - Minor: String arguments with no constraint or example: slug, username, password.
- `update_checkout`: 49 / 100
  - Major: Arguments without a description: checkout_id, buyer_email, requested_slug, site_type.
  - Minor: String arguments with no constraint or example: checkout_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: checkout_id. Name the tool or the place that returns it, or models look it up first.
- `attach_compute_volume`: 50 / 100
  - Major: Arguments without a description: volume_id, ssh_public_key, instance_type, root_disk_size.
  - Minor: String arguments with no constraint or example: volume_id, ssh_public_key.
- `create_b2_snapshot`: 50 / 100
  - Major: Arguments without a description: slug, description.
  - Minor: String arguments with no constraint or example: slug.
- `create_snapshot`: 50 / 100
  - Major: Arguments without a description: slug, description.
  - Minor: String arguments with no constraint or example: slug.
- `create_support_ticket`: 50 / 100
  - Major: Arguments without a description: subject, message, category, site.
  - Minor: String arguments with no constraint or example: subject, message.
- `list_ftp_accounts`: 50 / 100
  - Major: Arguments without a description: slug.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `schedule_snapshot`: 50 / 100
  - Major: Arguments without a description: slug, scheduled_at, description.
  - Minor: String arguments with no constraint or example: slug, scheduled_at.
- `set_site_type`: 50 / 100
  - Major: Arguments without a description: slug, site_type.
  - Minor: String arguments with no constraint or example: slug, site_type.
- `add_port_forward`: 51 / 100
  - Major: Arguments without a description: slug, internal_port, protocol, label, external_port, internal_port_end.
  - Minor: String arguments with no constraint or example: slug.
- `create_alert_rule`: 51 / 100
  - Major: Arguments without a description: slug, metric, threshold, operator, severity, cooldown_minutes, notify_email, notify_webhook.
  - Minor: String arguments with no constraint or example: slug, metric.
  - Minor: The meaning of the boolean argument notify_email is unclear.
- `cancel_checkout`: 52 / 100
  - Major: Arguments without a description: checkout_id.
  - Minor: String arguments with no constraint or example: checkout_id.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: checkout_id. Name the tool or the place that returns it, or models look it up first.
- `add_subdomain`: 53 / 100
  - Major: Arguments without a description: domain_name, subdomain.
  - Minor: String arguments with no constraint or example: domain_name, subdomain.
- `create_compute_volume`: 53 / 100
  - Major: Arguments without a description: name, image_id, instance_type, ssh_public_key, root_disk_size.
  - Minor: String arguments with no constraint or example: name, image_id, instance_type, ssh_public_key.
- `request_api_key`: 53 / 100
  - Major: Arguments without a description: site_slug.
  - Minor: String arguments with no constraint or example: site_slug.
- `set_domain_usage`: 53 / 100
  - Major: Arguments without a description: domain_name, usage_mode, site_slug, nameservers, forward_url, forward_type, forward_include_path.
  - Minor: String arguments with no constraint or example: domain_name, usage_mode.
  - Minor: The meaning of the boolean argument forward_include_path is unclear.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `set_site_nginx_snippet`: 53 / 100
  - Major: Arguments without a description: domain_name, content.
  - Minor: String arguments with no constraint or example: domain_name, content.
- `browse_backup`: 54 / 100
  - Major: Arguments without a description: slug, backup_id, path, cursor, limit.
  - Minor: String arguments with no constraint or example: slug, backup_id, path.
- `register_domain`: 55 / 100
  - Major: Arguments without a description: domain, first_name, last_name, email, phone, address1, city, state, postal_code, country, period, ca_legal_type, usage_mode, nameservers, forward_url, forward_type, forward_include_path, whois_privacy, quote_only, quote_token.
  - Minor: String arguments with no constraint or example: domain, first_name, last_name, email, phone, address1, city, state, postal_code.
  - Minor: The meaning of the boolean argument forward_include_path is unclear.
  - Minor: The meaning of the boolean argument quote_only is unclear.
- `upload_file`: 55 / 100
  - Major: Arguments without a description: slug, path, content_b64.
  - Minor: String arguments with no constraint or example: slug, path, content_b64.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `complete_checkout`: 56 / 100
  - Major: Arguments without a description: checkout_id, payment_method, payment_method_id.
  - Minor: String arguments with no constraint or example: checkout_id.
  - Minor: Required identifiers whose description does not say where the value comes from: checkout_id. Name the tool or the place that returns it, or models look it up first.
- `add_site`: 58 / 100
  - Major: Arguments without a description: slug, subscription_id, client_name, domain, site_type.
  - Minor: String arguments with no constraint or example: slug, subscription_id.
  - Minor: Required identifiers whose description does not say where the value comes from: subscription_id. Name the tool or the place that returns it, or models look it up first.
- `list_webhooks`: 59 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `delete_account`: 62 / 100
- `get_wallet`: 62 / 100
- `list_compute_images`: 62 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_compute_volumes`: 62 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_subscriptions`: 62 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `whoami`: 62 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_compute_types`: 65 / 100
- `list_domains`: 65 / 100
- `list_api_keys`: 67 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.

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](https://forecall.dev/en/servers)
