Skip to main content
Glama
SoapyRED

FreightUtils MCP Server

adr_exemption_calculator

Read-onlyIdempotent

Calculate ADR 1.1.3.6 exemption points for dangerous-goods loads. Determines if total points are at or below 1,000 threshold for reduced requirements, flagging category-zero substances as ineligible.

Instructions

Calculate ADR 1.1.3.6 "small load" exemption points for a dangerous-goods load. Each substance's transport category (0-4) sets a points multiplier (category 1 x50, 2 x3, 3 x1, 4 x0); points = quantity x multiplier, and a load totalling 1,000 points or less qualifies for reduced ADR requirements. Transport category 0 substances can NEVER use this exemption — has_category_zero flags them.

Provide un_number + quantity for a single substance, or items[] for a mixed load (items takes precedence if both are given). Quantities are in kg or litres per the substance's ADR unit.

Behavior: deterministic points arithmetic over ADR 2025 reference data; UN numbers that cannot be resolved are reported in warnings; exempt is the overall verdict. 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: items[] (each with transport_category, multiplier, points), total_points, threshold (1000), exempt, has_category_zero, warnings and message under result, plus confidence, _source and citation (the FreightUtils v1 response envelope).

Limitations: a deterministic calculation over reference data, not legal advice — even exempt loads keep core duties (packaging, marking, documentation), and mixed-packing rules still apply; verify against the current UNECE ADR text.

Related: adr_lookup (per-substance data incl. transport category), adr_lq_eq_check (the LQ/EQ relief routes instead of 1.1.3.6).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsNoMixed-load items (use INSTEAD of un_number/quantity).
quantityNoQuantity for the single-substance check, in kg or litres per the substance's ADR unit. Example: 100.
un_numberNoUN number for a single-substance check — 4 digits, optionally "UN"-prefixed. Example: "1203".

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
resultYes
_sourceYes
citationYes
validityNo
warningsNo
confidenceYes
blocking_errorsNo
envelope_versionYes
normalized_inputNo
Behavior4/5

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

Description adds behavioral details beyond annotations: deterministic arithmetic, rate limits with 429 error structure, precedence of items, warnings for unresolved UN numbers. Annotations already declare readOnlyHint and idempotentHint, so burden is partially reduced. Could have mentioned idempotency explicitly, but adequate.

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

Conciseness5/5

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

Description is well-organized: purpose first, then usage, behavior, return values, limitations, and related tools. Each paragraph is focused and necessary. No redundancy, and length is appropriate for the complexity.

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?

Covers all aspects: what the tool does, how to use, error handling, return envelope (items, points, threshold, exempt, warnings, etc.), limitations (not legal advice), and related tools. With output schema present, return values are sufficiently described.

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

Parameters4/5

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

Input schema coverage is 100%, so description adds value: explains calculation per transport category (multipliers), notes that quantities are in kg/litres, and clarifies items takes precedence over single un_number/quantity. Provides context that the schema alone does not (e.g., points formula).

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 the tool's purpose: 'Calculate ADR 1.1.3.6 "small load" exemption points for a dangerous-goods load.' It specifies the regulatory reference and distinguishes from siblings by naming related tools (adr_lookup, adr_lq_eq_check) and their different focuses.

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?

Explicitly describes when to use single vs. mixed load inputs (items takes precedence), warns that category 0 substances cannot use exemption, mentions rate limits and how to handle 429 errors with a retry strategy, and links to get_subscribe_link for higher limits. Also references sibling tools for alternatives.

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

Install Server

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