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

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.github.SoapyRED%2Ffreightutils/versions/latest)
- Connected to: https://www.freightutils.com/api/mcp
- Homepage: https://www.freightutils.com/
- Repository: https://github.com/SoapyRED/freightutils-mcp
- Scoring rules: v2
- Tools: 25
- Average: 82.2 / 100 (Clear)
- Near-identical pairs: 0

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.

## 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.

## Tools

- `ics2_check`: 65 / 100
  - Major: Says nothing about when to use it, or when not to.
- `consignment_calculator`: 73 / 100
  - 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.
  - Minor: String arguments with no constraint or example: items[].description.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument consignment.lines[].stackable is unclear.
- `incoterms_lookup`: 74 / 100
  - Minor: No `required` list, so every argument is optional.
- `vehicle_lookup`: 74 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `chargeable_weight_calculator`: 75 / 100
  - Major: Says nothing about when to use it, or when not to.
- `unit_converter`: 75 / 100
  - Major: Says nothing about when to use it, or when not to.
- `airline_lookup`: 77 / 100
  - Minor: No `required` list, so every argument is optional.
- `unlocode_lookup`: 77 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `airport_lookup`: 79 / 100
  - Minor: No `required` list, so every argument is optional.
- `cbm_calculator`: 80 / 100
- `hs_code_lookup`: 80 / 100
  - Minor: No `required` list, so every argument is optional.
- `pallet_fitting_calculator`: 80 / 100
- `container_lookup`: 82 / 100
  - Minor: No `required` list, so every argument is optional.
- `shipment_summary`: 82 / 100
  - Minor: The description is long (431 words). It helps selection but costs steps and tokens.
  - 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.
  - Minor: String arguments with no constraint or example: items[].description, items[].hs_code, items[].un_number, origin.country, origin.locode, destination.country, destination.locode.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument consignment.lines[].stackable is unclear.
- `uk_duty_calculator`: 82 / 100
  - Minor: No `required` list, so every argument is optional.
- `validate`: 84 / 100
  - Minor: No `required` list, so every argument is optional.
- `adr_exemption_calculator`: 86 / 100
  - Minor: The description is long (1067 words). It helps selection but costs steps and tokens.
  - 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.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument consignment.lines[].stackable is unclear.
- `get_subscribe_link`: 87 / 100
  - Minor: No `required` list, so every argument is optional.
- `ldm_calculator`: 87 / 100
  - Minor: No `required` list, so every argument is optional.
- `adr_lookup`: 88 / 100
  - Minor: The description is long (451 words). It helps selection but costs steps and tokens.
  - Minor: No `required` list, so every argument is optional.
- `emissions_calculator`: 89 / 100
- `nearest_airport`: 90 / 100
- `uld_lookup`: 94 / 100
  - Minor: The description is long (525 words). It helps selection but costs steps and tokens.
  - Minor: No `required` list, so every argument is optional.
- `adr_lq_eq_check`: 95 / 100
  - Minor: The description is long (651 words). It helps selection but costs steps and tokens.
- `resolve_reference`: 100 / 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)
