Skip to main content
Glama
SoapyRED

FreightUtils MCP Server

emissions_calculator

Read-onlyIdempotent

Estimate freight transport CO2e emissions (kg) for a shipment leg using mass, distance, and mode. Returns well-to-wheel and tank-to-wheel values based on published factors from DEFRA, EPA, or ADEME.

Instructions

Estimate freight transport greenhouse-gas emissions (kgCO2e) for a shipment leg, per ISO 14083:2023 / GLEC Framework v3.2: emissions = mass × distance × a published emission-intensity factor (kgCO2e/tonne-km).

Provide mass + distance_km + mode (road | rail | sea | air | inland_waterway); optionally choose sub_mode, region/authority (uk = DEFRA, us = EPA, fr = ADEME) and basis (wtw default, or ttw). Returns well-to-wheel AND tank-to-wheel emissions where the factor has both, the exact factor used (value, authority, edition), the tonne-km activity, and a _source citing BOTH the ISO method and the specific open factor.

Use when you need a carbon estimate for a shipment whose mass and distance are already known. Distinct from cbm_calculator / ldm_calculator / chargeable_weight_calculator (those size or bill a shipment; this one estimates its CO2e). Distance must be provided — this tool does NOT route, geocode, or compute distances. Best-effort reference estimate from open factors (DEFRA / EPA / ADEME) — NOT a verified or audited carbon report. IMPORTANT: pass ACTUAL GROSS MASS, not chargeable/volumetric weight (a common air-freight mistake — see mass_basis). The fleet-average factor already includes average empty running (see empty_running) — do NOT add your own empty-return leg. Sea and air are low-representativeness generic defaults: real emissions vary materially by vessel/aircraft type, load factor and routing (see representativeness + the result summary). An unknown mode/sub_mode/region returns available:false with the covered options, never a fabricated factor.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
massYesShipment mass, expressed in mass_unit. Example: 1000
modeYesTransport mode
basisNoEmissions basis: wtw = well-to-wheel incl. upstream (default), ttw = tank-to-wheel / operation only
regionNoFactor source/region: uk = DEFRA, us = EPA, fr = ADEME. Default is per-mode.
sub_modeNoOptional sub-mode / vehicle class (e.g. "articulated", "container ship", "long-haul"). Omit for the representative default.
mass_unitNoUnit for mass (default: kg)
distance_kmYesTransport distance in kilometres — you provide it; the tool does not route

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
factorNo
inputsNo
_sourceNo
messageNo
summaryNo
tonne_kmNo
availableYes
emissionsNo
confidenceNo
disclaimerYes
mass_basisNo
methodologyYes
available_forNo
empty_runningNo
representativenessNo
Behavior5/5

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

Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds substantial behavioral context: it is a best-effort reference estimate (not verified/audited), sea/air are generic defaults with real variations, unknown mode/sub_mode/region returns available:false with covered options. Warns about common mistakes (chargeable weight, empty running). No contradiction with annotations.

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?

Description is well-structured with key information front-loaded. Each sentence serves a purpose. However, it is somewhat lengthy (over 150 words). Could be slightly more concise without losing critical guidance, but overall efficient 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?

Given the tool's complexity (7 parameters, 4 enums, output schema), the description is fully complete. It covers input semantics, method reference, output details, limitations, and error handling (available:false). No gaps identified.

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

Parameters5/5

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

Schema description coverage is 100%, but description adds significant meaning beyond schema: explains mass should be actual gross mass (not chargeable), distance must be provided by user, sub_mode is optional, basis and region have defaults. Adds context about factor sources and empty running. For a tool with 7 parameters, this explanation is highly valuable.

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?

Description clearly states the tool estimates freight transport greenhouse-gas emissions per ISO 14083:2023/GLEC Framework. It specifies inputs (mass, distance, mode) and outputs (emissions, factor, activity). It distinguishes from siblings by contrasting with cbm_calculator, ldm_calculator, and chargeable_weight_calculator (those size or bill; this estimates CO2e). The verb 'estimate' and resource 'greenhouse-gas emissions' are specific.

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 states when to use: when a carbon estimate is needed for a shipment with known mass and distance. Provides clear when-not: 'Distance must be provided — this tool does NOT route'. Gives important caveats: pass actual gross mass (not chargeable), do not add empty return, sea/air are low representativeness. Also notes siblings for size/billing purposes. Comprehensive guidance.

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