All scored servers

Relin: tool descriptions scored io.github.earonesty/relin

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

Scores, issues and names only

This page shows how Relin (io.github.earonesty/relin)'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/io.github.earonesty/relin
Average score
32.6 / 100Rain
Tools
53
Near-identical descriptions
2

Across the server

  • Major
    53 tools. Above 40, models choose less accurately.too_many_tools
  • Minor
    The server has no instructions. Say there, once, what the server is for and when to use it: Claude Code and Gemini CLI read the instructions before the tool descriptions.instructions_missing

Tools whose descriptions are nearly the same

2 of 2 pairs shown, highest description similarity first.
ToolToolDescription similarityName similarity
create_api_keyrevoke_api_key0.670.50
get_portal_settingssave_portal_settings0.600.50

Tools

list_delivery_attempts

16 / 100Rain

Purpose
6 / 20
When to use
0 / 20
Arguments
0 / 25
Return value
0 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    The description only restates the name (9 words).restates_name
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: eventId, destinationId, status, since, limit.param_no_description
  • Minor
    String arguments with no constraint or example: eventId, destinationId, status, since.loose_string_param
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    The description mentions none of its 3 or more arguments.params_not_in_description
  • Minor
    Says nothing about what it returns.no_return_info

list_destinations

16 / 100Rain

Purpose
6 / 20
When to use
0 / 20
Arguments
0 / 25
Return value
0 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    The description only restates the name (9 words).restates_name
  • Major
    Says nothing about when to use it, or when not to.no_usage_context
  • Major
    Arguments without a description: sourceId.param_no_description
  • Minor
    String arguments with no constraint or example: sourceId.loose_string_param
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

list_recent_events

20 / 100Rain

Purpose
10 / 20
When to use
0 / 20
Arguments
0 / 25
Return value
0 / 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: sourceId, q, signatureStatus, failedDeliveryOnly, limit.param_no_description
  • Minor
    String arguments with no constraint or example: sourceId, q, signatureStatus.loose_string_param
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    The description mentions none of its 3 or more arguments.params_not_in_description
  • Minor
    The meaning of the boolean argument failedDeliveryOnly is unclear.vague_boolean
  • Minor
    Says nothing about what it returns.no_return_info

retry_failed_deliveries

20 / 100Rain

Purpose
10 / 20
When to use
0 / 20
Arguments
0 / 25
Return value
0 / 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: destinationId, windowHours, limit.param_no_description
  • Minor
    String arguments with no constraint or example: destinationId.loose_string_param
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    The description mentions none of its 3 or more arguments.params_not_in_description
  • Minor
    Says nothing about what it returns.no_return_info

list_retry_jobs

21 / 100Rain

Purpose
6 / 20
When to use
0 / 20
Arguments
5 / 25
Return value
0 / 15
Constraints and side effects
10 / 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: status, limit.param_no_description
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

upsert_recipient

22 / 100Rain

Purpose
6 / 20
When to use
0 / 20
Arguments
6 / 25
Return value
0 / 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
  • Major
    Arguments without a description: appId, recipient, name.param_no_description
  • Minor
    String arguments with no constraint or example: name.loose_string_param
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId. Name the tool or the place that returns it, or models look it up first.id_source_missing

cancel_queued_retries

24 / 100Rain

Purpose
14 / 20
When to use
0 / 20
Arguments
0 / 25
Return value
0 / 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: destinationId.param_no_description
  • Minor
    String arguments with no constraint or example: destinationId.loose_string_param
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

create_alert_channel

24 / 100Rain

Purpose
6 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 15
Constraints and side effects
10 / 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: type, name, targetUrl, targetEmail, kinds.param_no_description
  • Minor
    The description mentions none of its 3 or more arguments.params_not_in_description
  • Minor
    Says nothing about what it returns.no_return_info

create_api_key

24 / 100Rain

Purpose
6 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 15
Constraints and side effects
10 / 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: name, scopes.param_no_description
  • Minor
    Its description is nearly the same as revoke_api_key's (similarity 0.67); only the names and schemas tell them apart. Say in this description when to use revoke_api_key instead.confusable_pair
  • Minor
    Says nothing about what it returns.no_return_info

create_source

24 / 100Rain

Purpose
6 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 15
Constraints and side effects
10 / 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: name, vendor, signingSecret.param_no_description
  • Minor
    The description mentions none of its 3 or more arguments.params_not_in_description
  • Minor
    Says nothing about what it returns.no_return_info

replay_events

24 / 100Rain

Purpose
14 / 20
When to use
0 / 20
Arguments
0 / 25
Return value
0 / 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: sourceId, q, signatureStatus, failedDeliveryOnly, windowHours, limit.param_no_description
  • Minor
    String arguments with no constraint or example: sourceId, q, signatureStatus.loose_string_param
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    The description mentions none of its 3 or more arguments.params_not_in_description
  • Minor
    The meaning of the boolean argument failedDeliveryOnly is unclear.vague_boolean
  • Minor
    Says nothing about what it returns.no_return_info

revoke_api_key

24 / 100Rain

Purpose
6 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 15
Constraints and side effects
10 / 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: apiKeyId.param_no_description
  • Minor
    Its description is nearly the same as create_api_key's (similarity 0.67); only the names and schemas tell them apart. Say in this description when to use create_api_key instead.confusable_pair
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: apiKeyId. Name the tool or the place that returns it, or models look it up first.id_source_missing

save_portal_settings

24 / 100Rain

Purpose
10 / 20
When to use
0 / 20
Arguments
4 / 25
Return value
0 / 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: appId, brandName, logoUrl, primaryColor, accentColor, backgroundColor, surfaceColor.param_no_description
  • Minor
    Its description is nearly the same as get_portal_settings's (similarity 0.60); only the names and schemas tell them apart. Say in this description when to use get_portal_settings instead.confusable_pair
  • Minor
    String arguments with no constraint or example: brandName, primaryColor, accentColor, backgroundColor, surfaceColor.loose_string_param
  • Minor
    The description mentions none of its 3 or more arguments.params_not_in_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId. Name the tool or the place that returns it, or models look it up first.id_source_missing

get_metrics_summary

25 / 100Rain

Purpose
10 / 20
When to use
0 / 20
Arguments
5 / 25
Return value
0 / 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: windowHours.param_no_description
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

list_endpoints

25 / 100Rain

Purpose
13 / 20
When to use
0 / 20
Arguments
5 / 25
Return value
0 / 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: appId, recipient.param_no_description
  • Minor
    String arguments with no constraint or example: recipient.loose_string_param
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId. Name the tool or the place that returns it, or models look it up first.id_source_missing

delete_endpoint

28 / 100Rain

Purpose
13 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 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: appId, endpointId.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId, endpointId. Name the tool or the place that returns it, or models look it up first.id_source_missing

get_endpoint

28 / 100Rain

Purpose
13 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 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: appId, endpointId.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId, endpointId. Name the tool or the place that returns it, or models look it up first.id_source_missing

list_portal_hosts

28 / 100Rain

Purpose
10 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 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: appId.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId. Name the tool or the place that returns it, or models look it up first.id_source_missing

replay_event

28 / 100Rain

Purpose
10 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 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: eventId.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: eventId. Name the tool or the place that returns it, or models look it up first.id_source_missing

rotate_endpoint_secret

28 / 100Rain

Purpose
10 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 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: appId, endpointId.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId, endpointId. Name the tool or the place that returns it, or models look it up first.id_source_missing

update_endpoint

28 / 100Rain

Purpose
14 / 20
When to use
0 / 20
Arguments
7 / 25
Return value
0 / 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: appId, endpointId, name, url, retryMaxAttempts, retryBackoffSeconds, rateLimitPerMinute, enabled.param_no_description
  • Minor
    String arguments with no constraint or example: retryBackoffSeconds.loose_string_param
  • Minor
    The meaning of the boolean argument enabled is unclear.vague_boolean
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId, endpointId. Name the tool or the place that returns it, or models look it up first.id_source_missing

create_destination

29 / 100Rain

Purpose
14 / 20
When to use
0 / 20
Arguments
5 / 25
Return value
0 / 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: sourceId, name, endpointUrl, signingSecret, retryMaxAttempts, retryBackoffSeconds, rateLimitPerMinute, transformBodyPath, transformExpression, filterEventTypes, filterEntityKey, filterBodyPath, filterBodyValue.param_no_description
  • Minor
    String arguments with no constraint or example: retryBackoffSeconds, transformBodyPath, transformExpression, filterEventTypes, filterEntityKey, filterBodyPath, filterBodyValue.loose_string_param
  • Minor
    The description mentions none of its 3 or more arguments.params_not_in_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: sourceId. Name the tool or the place that returns it, or models look it up first.id_source_missing

upsert_event_type

30 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
6 / 25
Return value
0 / 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: appId, eventType, description, schema, examplePayload.param_no_description
  • Minor
    String arguments with no constraint or example: description.loose_string_param
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId. Name the tool or the place that returns it, or models look it up first.id_source_missing

create_endpoint

31 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
7 / 25
Return value
0 / 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: appId, recipient, recipientName, name, url, eventTypes.param_no_description
  • Minor
    String arguments with no constraint or example: recipientName.loose_string_param
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId. Name the tool or the place that returns it, or models look it up first.id_source_missing

check_portal_host

32 / 100Rain

Purpose
14 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 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: portalHostId.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: portalHostId. Name the tool or the place that returns it, or models look it up first.id_source_missing

delete_event_type

32 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 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: appId, eventType.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId. Name the tool or the place that returns it, or models look it up first.id_source_missing

get_app

32 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 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: appId.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId. Name the tool or the place that returns it, or models look it up first.id_source_missing

get_event_detail

32 / 100Rain

Purpose
14 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 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: eventId, includePayload.param_no_description
  • Minor
    The meaning of the boolean argument includePayload is unclear.vague_boolean
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: eventId. Name the tool or the place that returns it, or models look it up first.id_source_missing

get_message

32 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 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: appId, messageId.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId, messageId. Name the tool or the place that returns it, or models look it up first.id_source_missing

get_portal_settings

32 / 100Rain

Purpose
14 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 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: appId.param_no_description
  • Minor
    Its description is nearly the same as save_portal_settings's (similarity 0.60); only the names and schemas tell them apart. Say in this description when to use save_portal_settings instead.confusable_pair
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId. Name the tool or the place that returns it, or models look it up first.id_source_missing

get_setup_guide

32 / 100Rain

Purpose
13 / 20
When to use
0 / 20
Arguments
5 / 25
Return value
7 / 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: provider.param_no_description
  • Minor
    No `required` list, so every argument is optional.no_required

list_event_types

32 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 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: appId.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId. Name the tool or the place that returns it, or models look it up first.id_source_missing

list_recipients

32 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 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: appId.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId. Name the tool or the place that returns it, or models look it up first.id_source_missing

replay_message

32 / 100Rain

Purpose
17 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 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: appId, messageId.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId, messageId. Name the tool or the place that returns it, or models look it up first.id_source_missing

resolve_anomalies

32 / 100Rain

Purpose
14 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 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: anomalyIds.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: anomalyIds. Name the tool or the place that returns it, or models look it up first.id_source_missing

rotate_source_token

32 / 100Rain

Purpose
14 / 20
When to use
0 / 20
Arguments
8 / 25
Return value
0 / 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: sourceId.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: sourceId. Name the tool or the place that returns it, or models look it up first.id_source_missing

create_portal_session

34 / 100Rain

Purpose
20 / 20
When to use
0 / 20
Arguments
7 / 25
Return value
0 / 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: appId, recipient, recipientName, capabilities, theme, returnUrl, expiresInSeconds.param_no_description
  • Minor
    String arguments with no constraint or example: recipientName.loose_string_param
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId. Name the tool or the place that returns it, or models look it up first.id_source_missing

list_message_attempts

37 / 100Rain

Purpose
17 / 20
When to use
5 / 20
Arguments
8 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Arguments without a description: appId, messageId, limit.param_no_description
  • Minor
    The description mentions none of its 3 or more arguments.params_not_in_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId, messageId. Name the tool or the place that returns it, or models look it up first.id_source_missing

send_message

38 / 100Rain

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

create_app

39 / 100Rain

Purpose
17 / 20
When to use
10 / 20
Arguments
5 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Arguments without a description: name, routingKeyBodyPath, routingKeyHeader.param_no_description
  • Minor
    String arguments with no constraint or example: routingKeyBodyPath, routingKeyHeader.loose_string_param
  • Minor
    The description mentions none of its 3 or more arguments.params_not_in_description
  • Minor
    Says nothing about what it returns.no_return_info

list_messages

39 / 100Rain

Purpose
17 / 20
When to use
10 / 20
Arguments
5 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Arguments without a description: appId, q, limit.param_no_description
  • Minor
    String arguments with no constraint or example: q.loose_string_param
  • Minor
    The description mentions none of its 3 or more arguments.params_not_in_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId. Name the tool or the place that returns it, or models look it up first.id_source_missing

list_alert_channels

41 / 100Cloudy

Purpose
6 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
0 / 15
Constraints and side effects
10 / 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
  • Minor
    Says nothing about what it returns.no_return_info

list_api_keys

41 / 100Cloudy

Purpose
6 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
0 / 15
Constraints and side effects
10 / 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
  • Minor
    Says nothing about what it returns.no_return_info

list_sources

41 / 100Cloudy

Purpose
6 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
0 / 15
Constraints and side effects
10 / 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
  • Minor
    Says nothing about what it returns.no_return_info

create_portal_host

42 / 100Cloudy

Purpose
20 / 20
When to use
10 / 20
Arguments
5 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Arguments without a description: appId, hostname, oidcIssuer, oidcClientId, oidcClientSecret, oidcScopes, recipientClaim, nameClaim, emailClaim, allowedEmailDomain.param_no_description
  • Minor
    String arguments with no constraint or example: oidcScopes, recipientClaim, nameClaim, emailClaim, allowedEmailDomain.loose_string_param
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: appId, oidcClientId. Name the tool or the place that returns it, or models look it up first.id_source_missing

archive_source

45 / 100Cloudy

Purpose
20 / 20
When to use
10 / 20
Arguments
8 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Major
    Arguments without a description: sourceId.param_no_description
  • Minor
    Says nothing about what it returns.no_return_info
  • Minor
    Required identifiers whose description does not say where the value comes from: sourceId. Name the tool or the place that returns it, or models look it up first.id_source_missing

ensure_webhook_setup

47 / 100Cloudy

Purpose
20 / 20
When to use
5 / 20
Arguments
5 / 25
Return value
7 / 15
Constraints and side effects
10 / 10
Examples
0 / 10
  • Major
    Arguments without a description: vendor, sourceId, sourceName, signingSecret, destinationName, destinationUrl, destinationSigningSecret, retryMaxAttempts, retryBackoffSeconds, rateLimitPerMinute, transformBodyPath, transformExpression, filterEventTypes, filterEntityKey, filterBodyPath, filterBodyValue.param_no_description
  • Minor
    String arguments with no constraint or example: sourceId, retryBackoffSeconds, transformBodyPath, transformExpression, filterEventTypes, filterEntityKey, filterBodyPath, filterBodyValue.loose_string_param
  • Minor
    The description mentions none of its 3 or more arguments.params_not_in_description

list_open_issues

47 / 100Cloudy

Purpose
17 / 20
When to use
0 / 20
Arguments
15 / 25
Return value
0 / 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
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    Says nothing about what it returns.no_return_info

get_slack_connect_url

49 / 100Cloudy

Purpose
14 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
0 / 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
  • Minor
    Says nothing about what it returns.no_return_info

list_supported_webhook_shapes

49 / 100Cloudy

Purpose
17 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
0 / 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
  • Minor
    Says nothing about what it returns.no_return_info

get_webhook_setup_status

50 / 100Cloudy

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

list_apps

54 / 100Cloudy

Purpose
17 / 20
When to use
5 / 20
Arguments
25 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Minor
    Says nothing about what it returns.no_return_info

describe_relin

59 / 100Cloudy

Purpose
17 / 20
When to use
10 / 20
Arguments
25 / 25
Return value
0 / 15
Constraints and side effects
7 / 10
Examples
0 / 10
  • Minor
    Says nothing about what it returns.no_return_info

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