Skip to main content
Glama
SoapyRED

FreightUtils MCP Server

validate

Read-onlyIdempotent

Verify container, air waybill, and IMO identifiers via check-digit algorithms. Scan text for any identifiers or check a single value; get pass/fail and expected vs actual digits.

Instructions

Validate and parse freight identifiers by their public check-digit algorithms: shipping container numbers (ISO 6346), air waybill (AWB) numbers (IATA modulus-7) and IMO ship identification numbers.

Two modes: pass text= to find and validate every identifier in it (e.g. a booking-email line), OR pass value= + type=<container|awb|imo> to validate one.

Behavior: deterministic check-digit arithmetic; per identifier found it reports type, the normalised form, valid (pass/fail), expected vs actual check digit, and details (container: owner prefix + equipment category; AWB: airline prefix + the operating airline resolved from the AWB-prefix dataset; IMO: the 7-digit number); text mode with no identifiers found returns an empty found[] with a note. Rate-limited (anonymous use: 25 requests/day per IP): a 429 error body carries retry_after_seconds and a Retry-After header — back off and retry, or call get_subscribe_link for higher limits.

Returns: found[] (each entry with its own _source naming the standard applied) and disclaimer under result, plus confidence, _source and citation (the FreightUtils v1 response envelope).

Limitations: STRUCTURAL ONLY — a valid check digit means well-formed, NOT that the container, shipment or vessel exists or is active; not a registry or tracking lookup.

Related: container_lookup (container TYPE specs, not numbers), airline_lookup (the AWB-prefix dataset the airline resolution uses).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textNoArbitrary string to scan for container / AWB / IMO identifiers (parse mode). Provide this OR value+type. Example: "2 cntrs MSKU3068808 / TGHU7654325 on AWB 176-12345675".
typeNoIdentifier type for value: container = ISO 6346, awb = IATA air waybill, imo = IMO ship number.
valueNoA single identifier to validate (typed mode). Requires type. Example: "MSKU3068808".

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
resultYes
_sourceYes
citationYes
validityNo
warningsNo
confidenceYes
blocking_errorsNo
envelope_versionYes
normalized_inputNo
Install Server

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even with annotations providing readOnlyHint and idempotentHint, the description richly supplements by disclosing the output detail, the modes, rate-limit behavior with 429 retry_after_seconds, and specific return fields per identifier. It also sets structural limititation explicitly. Nothing in the description contradicts annotations; in fact, annotations align with it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well structured: it leads with a precise purpose, then separates modes, behavior, rate limits, return contract, limitations, and related tools. It is more verbose than strictly necessary, and some return-envelope detail might be redundant with the output schema, but each remaining sentence adds useful operational context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool delays with multiple inances, standards, modes, limitations, and a rate limit, the description covers all aspects needed for an AI agent to select and invoke it correctly. It includes enough detail about return envelope, error handling, and relationship to siblings/related tools. No obvious context gap for correct invocation or interpretation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters already have full descriptions and examples inside the schema, so schema description coverage is 100%, raising the baseline to 3. The description does helpfully clarify the mutual exclusion of text versus value+type, but it doesn't go materially beyond what the schema already communicates in terms of parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool validates and parses freight identifiers across three named standards (ISO 6346 containers, IATA AWB, IMO), which is specific and informative. It also differentiates itself from sibling tools like container_lookup and airline_lookup, explicitly saying container_lookup is about type specs and airline_lookup uses the AWB-prefix dataset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit on/usage: pass text to scan arbitrary content or pass value with type to validate one identifier. It includes contextual guidance and 'Related' tool alternatives. It also warns what it is not (not a registry or tracking lookup), which reduces risky misuse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SoapyRED/freightutils-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server