All scored servers

FreightUtils MCP Server: tool descriptions scored io.github.SoapyRED/freightutils

tools/list taken
(UTC)
Connected to
https://www.freightutils.com/api/mcp
Scoring rules
v2
Score this URL as it is today

Scores, issues and names only

This page shows how FreightUtils MCP Server (io.github.SoapyRED/freightutils)'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.SoapyRED/freightutils
Average score
82.2 / 100Clear
Tools
25
Near-identical descriptions
0

Across the server

  • 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

ics2_check

65 / 100Cloudy

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

consignment_calculator

73 / 100Clear

Purpose
20 / 20
When to use
5 / 20
Arguments
13 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
10 / 10
  • Major
    Arguments without a description: lines[].dims, lines[].weight, consignment.lines, consignment.lines[].description, consignment.lines[].un_number, consignment.lines[].packing_group, consignment.lines[].variant_index, consignment.lines[].quantity, consignment.lines[].quantity.value, consignment.lines[].quantity.unit, consignment.lines[].quantity.basis, consignment.lines[].packages, consignment.lines[].packages.count, consignment.lines[].packages.type, consignment.lines[].packages.gross_kg, consignment.lines[].hs_code, consignment.lines[].value, consignment.lines[].value.amount, consignment.lines[].value.currency, consignment.lines[].dims, consignment.lines[].dims.l, consignment.lines[].dims.w, consignment.lines[].dims.h, consignment.lines[].dims.unit, consignment.lines[].stackable, consignment.journey, consignment.journey.origin, consignment.journey.destination, consignment.journey.date, consignment.journey.tunnels_on_route, consignment.journey.mode, consignment.vehicle, consignment.vehicle.type, consignment.vehicle.max_mass_t, consignment.vehicle.axles, consignment.options, consignment.options.air_volumetric_divisor, consignment.options.container_number, consignment.options.awb_number, consignment.options.incoterm, consignment.options.freight_cost, consignment.options.freight_cost.amount, consignment.options.freight_cost.currency, consignment.options.insurance_cost, consignment.options.insurance_cost.amount, consignment.options.insurance_cost.currency.param_no_description
  • Minor
    String arguments with no constraint or example: items[].description.loose_string_param
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    The meaning of the boolean argument consignment.lines[].stackable is unclear.vague_boolean

incoterms_lookup

74 / 100Clear

Purpose
17 / 20
When to use
5 / 20
Arguments
22 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
5 / 10
  • Minor
    No `required` list, so every argument is optional.no_required

vehicle_lookup

74 / 100Clear

Purpose
17 / 20
When to use
0 / 20
Arguments
22 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
10 / 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

chargeable_weight_calculator

75 / 100Clear

Purpose
20 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
15 / 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

unit_converter

75 / 100Clear

Purpose
20 / 20
When to use
0 / 20
Arguments
25 / 25
Return value
15 / 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

airline_lookup

77 / 100Clear

Purpose
20 / 20
When to use
5 / 20
Arguments
22 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
5 / 10
  • Minor
    No `required` list, so every argument is optional.no_required

unlocode_lookup

77 / 100Clear

Purpose
20 / 20
When to use
0 / 20
Arguments
22 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
10 / 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

airport_lookup

79 / 100Clear

Purpose
17 / 20
When to use
10 / 20
Arguments
22 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
5 / 10
  • Minor
    No `required` list, so every argument is optional.no_required

cbm_calculator

80 / 100Clear

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

No issues.

hs_code_lookup

80 / 100Clear

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

pallet_fitting_calculator

80 / 100Clear

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

No issues.

container_lookup

82 / 100Clear

Purpose
20 / 20
When to use
5 / 20
Arguments
22 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
10 / 10
  • Minor
    No `required` list, so every argument is optional.no_required

shipment_summary

82 / 100Clear

Purpose
17 / 20
When to use
20 / 20
Arguments
10 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
10 / 10
  • Major
    Arguments without a description: items[].description, items[].quantity, items[].hs_code, items[].un_number, origin.country, origin.locode, destination.country, destination.locode, consignment.lines, consignment.lines[].description, consignment.lines[].un_number, consignment.lines[].packing_group, consignment.lines[].variant_index, consignment.lines[].quantity, consignment.lines[].quantity.value, consignment.lines[].quantity.unit, consignment.lines[].quantity.basis, consignment.lines[].packages, consignment.lines[].packages.count, consignment.lines[].packages.type, consignment.lines[].packages.gross_kg, consignment.lines[].hs_code, consignment.lines[].value, consignment.lines[].value.amount, consignment.lines[].value.currency, consignment.lines[].dims, consignment.lines[].dims.l, consignment.lines[].dims.w, consignment.lines[].dims.h, consignment.lines[].dims.unit, consignment.lines[].stackable, consignment.journey, consignment.journey.origin, consignment.journey.destination, consignment.journey.date, consignment.journey.tunnels_on_route, consignment.journey.mode, consignment.vehicle, consignment.vehicle.type, consignment.vehicle.max_mass_t, consignment.vehicle.axles, consignment.options, consignment.options.air_volumetric_divisor, consignment.options.container_number, consignment.options.awb_number, consignment.options.incoterm, consignment.options.freight_cost, consignment.options.freight_cost.amount, consignment.options.freight_cost.currency, consignment.options.insurance_cost, consignment.options.insurance_cost.amount, consignment.options.insurance_cost.currency.param_no_description
  • Minor
    The description is long (431 words). It helps selection but costs steps and tokens.too_long
  • Minor
    String arguments with no constraint or example: items[].description, items[].hs_code, items[].un_number, origin.country, origin.locode, destination.country, destination.locode.loose_string_param
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    The meaning of the boolean argument consignment.lines[].stackable is unclear.vague_boolean

uk_duty_calculator

82 / 100Clear

Purpose
20 / 20
When to use
5 / 20
Arguments
22 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
10 / 10
  • Minor
    No `required` list, so every argument is optional.no_required

validate

84 / 100Clear

Purpose
20 / 20
When to use
10 / 20
Arguments
19 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
10 / 10
  • Minor
    No `required` list, so every argument is optional.no_required

adr_exemption_calculator

86 / 100Clear

Purpose
20 / 20
When to use
20 / 20
Arguments
11 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
10 / 10
  • Major
    Arguments without a description: consignment.lines, consignment.lines[].description, consignment.lines[].un_number, consignment.lines[].packing_group, consignment.lines[].variant_index, consignment.lines[].quantity, consignment.lines[].quantity.value, consignment.lines[].quantity.unit, consignment.lines[].quantity.basis, consignment.lines[].packages, consignment.lines[].packages.count, consignment.lines[].packages.type, consignment.lines[].packages.gross_kg, consignment.lines[].hs_code, consignment.lines[].value, consignment.lines[].value.amount, consignment.lines[].value.currency, consignment.lines[].dims, consignment.lines[].dims.l, consignment.lines[].dims.w, consignment.lines[].dims.h, consignment.lines[].dims.unit, consignment.lines[].stackable, consignment.journey, consignment.journey.origin, consignment.journey.destination, consignment.journey.date, consignment.journey.tunnels_on_route, consignment.journey.mode, consignment.vehicle, consignment.vehicle.type, consignment.vehicle.max_mass_t, consignment.vehicle.axles, consignment.options, consignment.options.air_volumetric_divisor, consignment.options.container_number, consignment.options.awb_number, consignment.options.incoterm, consignment.options.freight_cost, consignment.options.freight_cost.amount, consignment.options.freight_cost.currency, consignment.options.insurance_cost, consignment.options.insurance_cost.amount, consignment.options.insurance_cost.currency.param_no_description
  • Minor
    The description is long (1067 words). It helps selection but costs steps and tokens.too_long
  • Minor
    No `required` list, so every argument is optional.no_required
  • Minor
    The meaning of the boolean argument consignment.lines[].stackable is unclear.vague_boolean

get_subscribe_link

87 / 100Clear

Purpose
20 / 20
When to use
15 / 20
Arguments
22 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
5 / 10
  • Minor
    No `required` list, so every argument is optional.no_required

ldm_calculator

87 / 100Clear

Purpose
20 / 20
When to use
15 / 20
Arguments
22 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
5 / 10
  • Minor
    No `required` list, so every argument is optional.no_required

adr_lookup

88 / 100Clear

Purpose
17 / 20
When to use
15 / 20
Arguments
21 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
10 / 10
  • Minor
    The description is long (451 words). It helps selection but costs steps and tokens.too_long
  • Minor
    No `required` list, so every argument is optional.no_required

emissions_calculator

89 / 100Clear

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

No issues.

nearest_airport

90 / 100Clear

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

No issues.

uld_lookup

94 / 100Clear

Purpose
17 / 20
When to use
20 / 20
Arguments
22 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
10 / 10
  • Minor
    The description is long (525 words). It helps selection but costs steps and tokens.too_long
  • Minor
    No `required` list, so every argument is optional.no_required

adr_lq_eq_check

95 / 100Clear

Purpose
20 / 20
When to use
15 / 20
Arguments
25 / 25
Return value
15 / 15
Constraints and side effects
10 / 10
Examples
10 / 10
  • Minor
    The description is long (651 words). It helps selection but costs steps and tokens.too_long

resolve_reference

100 / 100Clear

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

No issues.

What static scoring cannot tell

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

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

All scored servers