# cloud.redu/mcp: tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/cloud.redu%2Fmcp/versions/latest)
- Connected to: https://mcp.redu.cloud/mcp
- Scoring rules: v2
- Tools: 101
- Average: 65.8 / 100 (Cloudy)
- Near-identical pairs: 7

This page shows how cloud.redu/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: 101 tools. Above 40, models choose less accurately.
- Minor: The server's instructions are 13427 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

- `create_volume`: 33 / 100
  - Major: The description only restates the name (5 words).
  - Major: The description is too short (5 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: name, size.
  - Minor: The description mentions none of its 3 or more arguments.
- `create_snapshot`: 34 / 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: instanceId, snapshotName.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: instanceId. Name the tool or the place that returns it, or models look it up first.
- `postgres_data_change`: 36 / 100
  - Major: Arguments without a description: database_id, action, table, column, to, columns, rows, key, keys, changes, changes[].column, changes[].old, changes[].new, sql, csv, delimiter, create, column_spec, trash_name, name, id, write_ref.
  - Minor: String arguments with no constraint or example: table, column, to, changes[].column, sql, csv, trash_name, name.
  - Minor: Says nothing about what it returns.
- `postgres_data_read`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: database_id, action, schema, table, limit, offset, sort, dir, find, find.column, find.contains, key, column, columns, values, sql.
  - Minor: String arguments with no constraint or example: schema, table, sort, find.column, find.contains, column, sql.
  - Minor: Says nothing about what it returns.
- `delete_backup`: 46 / 100
  - Major: The description only restates the name (5 words).
  - Major: The description is too short (5 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `delete_keypair`: 46 / 100
  - Major: The description only restates the name (9 words).
  - Major: Says nothing about when to use it, or when not to.
- `delete_snapshot`: 46 / 100
  - Major: The description only restates the name (5 words).
  - Major: The description is too short (5 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `list_backups`: 46 / 100
  - Major: The description only restates the name (4 words).
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
- `list_clusters`: 46 / 100
  - Major: The description only restates the name (4 words).
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
- `list_images`: 46 / 100
  - Major: The description only restates the name (4 words).
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
- `list_instances`: 46 / 100
  - Major: The description only restates the name (4 words).
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
- `list_private_networks`: 46 / 100
  - Major: The description only restates the name (4 words).
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
- `list_regions`: 46 / 100
  - Major: The description only restates the name (3 words).
  - Major: The description is too short (3 words).
  - Major: Says nothing about when to use it, or when not to.
- `list_security_groups`: 46 / 100
  - Major: The description only restates the name (4 words).
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
- `list_snapshots`: 46 / 100
  - Major: The description only restates the name (4 words).
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
- `list_volumes`: 46 / 100
  - Major: The description only restates the name (5 words).
  - Major: The description is too short (5 words).
  - Major: Says nothing about when to use it, or when not to.
- `instance_action`: 47 / 100
  - Major: Arguments without a description: instanceId, action.
  - Minor: Required identifiers whose description does not say where the value comes from: instanceId. Name the tool or the place that returns it, or models look it up first.
- `delete_instance`: 49 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `delete_free_resource`: 50 / 100
  - Major: Arguments without a description: operation_id, confirmed.
  - Minor: The meaning of the boolean argument confirmed is unclear.
  - Minor: Required identifiers whose description does not say where the value comes from: operation_id. Name the tool or the place that returns it, or models look it up first.
- `list_flavors`: 50 / 100
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
- `list_keypairs`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
- `plan_instance`: 54 / 100
  - Minor: Arguments without a description: osHint, sizeHint.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `create_backup`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `delete_clickhouse`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `delete_database`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `delete_qdrant`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `delete_redis`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `delete_relational_database`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `get_free_website_ssh`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: operation_id, public_key.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: operation_id. Name the tool or the place that returns it, or models look it up first.
- `get_private_vps_action`: 57 / 100
  - Major: Arguments without a description: action_id.
  - Minor: Required identifiers whose description does not say where the value comes from: action_id. Name the tool or the place that returns it, or models look it up first.
- `get_private_vps_pilot`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `list_deployments`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `list_dns_entries`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `list_domains`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `list_media_spaces`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_free_resource_telemetry`: 58 / 100
  - Major: Arguments without a description: operation_id.
  - Minor: Required identifiers whose description does not say where the value comes from: operation_id. Name the tool or the place that returns it, or models look it up first.
- `publish_private_vps`: 58 / 100
  - Major: Arguments without a description: operation_id, request_key, port.
  - Minor: Required identifiers whose description does not say where the value comes from: operation_id. Name the tool or the place that returns it, or models look it up first.
- `list_databases`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
- `create_free_website`: 61 / 100
  - Minor: Arguments without a description: name.
- `deploy_overview`: 62 / 100
- `get_free_resource_action`: 62 / 100
  - Major: Arguments without a description: action_id.
  - Minor: Required identifiers whose description does not say where the value comes from: action_id. Name the tool or the place that returns it, or models look it up first.
- `get_private_vps_ssh`: 62 / 100
  - Major: Arguments without a description: operation_id, request_key, public_key.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: operation_id. Name the tool or the place that returns it, or models look it up first.
- `list_clickhouse_databases`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
- `list_redis`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
- `list_relational_databases`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.
- `release_domain`: 62 / 100
- `delete_private_vps`: 63 / 100
  - Minor: Arguments without a description: operation_id.
  - Minor: Required identifiers whose description does not say where the value comes from: operation_id. Name the tool or the place that returns it, or models look it up first.
- `delete_api_key`: 64 / 100
  - Minor: No `required` list, so every argument is optional.
- `publish_free_website`: 64 / 100
  - Major: Arguments without a description: operation_id, domain, port.
  - Minor: Required identifiers whose description does not say where the value comes from: operation_id. Name the tool or the place that returns it, or models look it up first.
- `create_private_vps`: 65 / 100
  - Major: Arguments without a description: kind, name.
- `get_billing_account`: 65 / 100
- `get_free_resources`: 65 / 100
- `detach_volume`: 67 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: volume_id, instance_id. Name the tool or the place that returns it, or models look it up first.
- `integrate_overview`: 67 / 100
- `list_qdrant`: 67 / 100
- `whoami`: 67 / 100
  - Major: Says nothing about when to use it, or when not to.
- `plan_managed_datastore`: 68 / 100
  - Minor: Arguments without a description: engine, sizeHint.
  - Minor: No `required` list, so every argument is optional.
- `get_instance_logs`: 69 / 100
- `scaffold_local`: 69 / 100
  - Minor: The description mentions none of its 3 or more arguments.
- `delete_cluster`: 70 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: stack_id. Name the tool or the place that returns it, or models look it up first.
- `exec_private_vps`: 70 / 100
  - Major: Arguments without a description: operation_id, request_key, script, timeout_seconds.
  - Minor: Required identifiers whose description does not say where the value comes from: operation_id. Name the tool or the place that returns it, or models look it up first.
- `create_redis`: 71 / 100
  - Minor: Arguments without a description: idempotency_key, security_group_names.
- `architecture_diagram`: 72 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `attach_volume`: 72 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: volume_id, instance_id. Name the tool or the place that returns it, or models look it up first.
- `delete_deployment`: 72 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `import_keypair`: 72 / 100
- `list_api_keys`: 72 / 100
  - Major: It may be destructive, but destructiveHint is not set.
- `set_managed_backups`: 72 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `create_qdrant`: 73 / 100
  - Minor: Arguments without a description: idempotency_key, security_group_names.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: flavor_id, network_id. Name the tool or the place that returns it, or models look it up first.
- `get_env_keys`: 73 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: deployment_id. Name the tool or the place that returns it, or models look it up first.
- `delete_volume`: 75 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `create_instance`: 76 / 100
  - Major: Arguments without a description: idempotency_key, name, image_id, flavor_id, keypair_name, network_id, security_group_names, port, dname, user_data, cloud_init_template, volume, volume.name, volume.size, imageName.
  - Minor: String arguments with no constraint or example: user_data, volume.name.
- `select_surface`: 76 / 100
- `get_resource_usage`: 77 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: deployment_id. Name the tool or the place that returns it, or models look it up first.
- `create_free_postgres`: 78 / 100
  - Minor: Arguments without a description: name.
- `check_deploy_prerequisites`: 79 / 100
  - Minor: No `required` list, so every argument is optional.
- `create_api_key`: 79 / 100
- `create_media_space`: 79 / 100
  - Minor: Arguments without a description: idempotency_key.
  - Minor: The description mentions none of its 3 or more arguments.
- `delete_dns_entry`: 79 / 100
  - Minor: No `required` list, so every argument is optional.
- `exec_free_resource`: 79 / 100
  - Major: Arguments without a description: operation_id, script, timeout_seconds.
- `prepare_upload`: 79 / 100
  - Minor: No `required` list, so every argument is optional.
- `verify_domain`: 79 / 100
- `restore_backup`: 80 / 100
- `deploy_vpn`: 81 / 100
- `get_containers`: 82 / 100
- `verify_deployment`: 82 / 100
- `wait_for_deployment`: 82 / 100
- `deploy_compose`: 84 / 100
  - Minor: Arguments without a description: idempotency_key, expose[].port, expose[].service, expose[].dname, security_group_names.
  - Minor: String arguments with no constraint or example: expose[].service, expose[].dname.
- `get_domain_verification`: 84 / 100
- `update_cluster`: 85 / 100
  - Minor: Arguments without a description: idempotency_key.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: stack_id, instance_id. Name the tool or the place that returns it, or models look it up first.
- `create_clickhouse`: 86 / 100
  - Minor: Arguments without a description: idempotency_key, security_group_names.
  - Minor: Required identifiers whose description does not say where the value comes from: flavor_id, network_id. Name the tool or the place that returns it, or models look it up first.
- `create_relational_database`: 86 / 100
  - Minor: Arguments without a description: idempotency_key, security_group_names.
- `deploy_app`: 87 / 100
  - Minor: Arguments without a description: idempotency_key, security_group_names.
- `get_deployment`: 87 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `create_database`: 88 / 100
  - Minor: Arguments without a description: idempotency_key, security_group_names.
  - Minor: Required identifiers whose description does not say where the value comes from: network_id. Name the tool or the place that returns it, or models look it up first.
- `get_container_logs`: 89 / 100
- `get_ssh_command`: 89 / 100
  - 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.
- `set_cluster_domain`: 94 / 100
- `upgrade_to_cluster`: 95 / 100
  - Minor: The description is long (827 words). It helps selection but costs steps and tokens.
  - Minor: Arguments without a description: idempotency_key.
- `plan_deploy`: 96 / 100
  - Minor: The description is long (786 words). It helps selection but costs steps and tokens.
- `upgrade_to_ha`: 96 / 100

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)
