← The evidence ledger
Evidence row 258933
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 937462ae-8442-479a-8838-c73d7215cf46
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- efab9598c965756dc80951804a5066f5884a7c4d38c3d56cc1d1f6112b3fda71
- Leaf
- 0xafec9bcca957442a8b924ffbae50300e6937be800d2318e345c94b720e3c8ade
What was observed
{
"count": 8,
"tools": [
{
"description": "Calculates one shipment's greenhouse gas emissions (kg CO2e: well-to-wheel, tank-to-wheel, well-to-tank) following the GLEC Framework v3.2 and ISO 14083. Routes each leg's distance from its coordinates or codes. Returns the result per leg (distance and how it was found, method, data type, emission factor and its source, distance adjustment, notes on legs Sootcase added) and a step-by-step calculation sheet with the arithmetic and the GLEC page and ISO 14083 clause behind each step.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"add_road_legs": {
"description": "Add road legs where the legs don't join up (gaps over 5 km), and to a port or terminal when a sea, rail or river leg starts or ends off its network (default true). Added legs are marked in the result.",
"type": "boolean"
},
"container_load": {
"description": "With teu, instead of teu_net_tonnes: average (10 t), light (6 t) or heavy (14.5 t) per TEU, from the GLEC Framework",
"type": "string"
},
"hubs": {
"description": "Hub stops (transhipment, storage); needs a dataset with hub factors.",
"items": {
"additionalProperties": false,
"properties": {
"hub_type": {
"description": "Hub type from the dataset",
"type": "string"
},
"id": {
"description": "Hub label",
"type": "string"
}
},
"required": [
"hub_type"
],
"type": "object"
},
"type": "array"
},
"id": {
"description": "Your reference for the shipment",
"type": "string"
},
"legs": {
"description": "The legs in order, from where the shipper hands the goods over to where the consignee receives them.",
"items": {
"additionalProperties": false,
"description": "One transport movement with one mode and vehicle type (an ISO 14083 transport chain element).",
"properties": {
"country": {
"description": "With energy_kwh_per_tkm: ISO 3166 alpha-3 country whose grid supplies the electricity, e.g. DEU",
"type": "string"
},
"distance_km": {
"description": "The distance, if known. When given, it is used as is and not routed; say what kind it is with distance_type. Leave it out to route from the coordinates (preferred).",
"type": "number"
},
"distance_type": {
"description": "Kind of distance_km: sfd = shortest feasible route, gcd = great circle, actual = actually travelled (e.g. odometer). Decides the distance adjustment factor (DAF) applied.",
"enum": [
"sfd",
"gcd",
"actual"
],
"type": "string"
},
"empty_trip_factor": {
"description": "Trucks, with load_tonnes or load_factor: empty km driven per loaded km (e.g. 0.3).",
"type": "number"
},
"energy_kwh_per_tkm": {
"description": "Electric trains or trucks: electricity per tonne-km (the operator's figure; no default), with country.",
"type": "number"
},
"from": {
"additionalProperties": false,
"description": "A place: coordinates (lat and lon, optionally name), or a code instead. Use find_places to look up coordinates or codes for a place name.",
"properties": {
"code": {
"description": "Instead of lat/lon: a UN/LOCODE (e.g. NLRTM for Rotterdam) or IATA airport code (e.g. CPH)",
"type": "string"
},
"lat": {
"description": "Latitude, decimal degrees",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude, decimal degrees",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"name": {
"description": "Label for the place, shown in results",
"type": "string"
}
},
"type": "object"
},
"fuel": {
"additionalProperties": false,
"description": "Measured fuel for the vehicle trip this leg is part of (primary data).",
"properties": {
"amount": {
"description": "Amount in the fuel's unit (litres for the aliases)",
"type": "number"
},
"fuel": {
"description": "Fuel id or alias: diesel, petrol, hvo, marine_gas_oil, marine_fuel_oil, jet_fuel (per litre), electricity/<ISO3 country> (kWh), or others from list_vehicle_types with include_fuels",
"type": "string"
},
"vehicle_tonne_km": {
"description": "Total tonne-km of the whole trip, to give this shipment its share of the fuel. Leave out if the trip carried only this shipment.",
"type": "number"
}
},
"required": [
"fuel",
"amount"
],
"type": "object"
},
"id": {
"description": "Your label for the leg",
"type": "string"
},
"load_factor": {
"description": "Trucks: load as a share (0-1) of the load model's payload, DESNZ's average full load (17.9 t for an articulated truck over 33 t), NOT of the truck's rated payload as in GLEC or EcoTransIT. Give load_tonnes or load_factor, not both.",
"type": "number"
},
"load_tonnes": {
"description": "Trucks: the tonnes on the truck (all cargo, averaged over the loaded km), which switches the leg to the load model. Prefer this over load_factor when the weight is known.",
"type": "number"
},
"mode": {
"enum": [
"road",
"rail",
"sea",
"air",
"inland_waterway"
],
"type": "string"
},
"to": {
"additionalProperties": false,
"description": "A place: coordinates (lat and lon, optionally name), or a code instead. Use find_places to look up coordinates or codes for a place name.",
"properties": {
"code": {
"description": "Instead of lat/lon: a UN/LOCODE (e.g. NLRTM for Rotterdam) or IATA airport code (e.g. CPH)",
"type": "string"
},
"lat": {
"description": "Latitude, decimal degrees",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude, decimal degrees",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"name": {
"description": "Label for the place, shown in results",
"type": "string"
}
},
"type": "object"
},
"vehicle_type": {
"description": "A short alias or a full id from list_vehicle_types. Common: road hgv (average truck), hgv_artic_33t (articulated truck over 33 t, a 40 t semitrailer), hgv_rigid, van; rail freight_train; sea container_ship (short-sea factor under 2,000 km, deep-sea from 2,000 km), bulk_carrier, general_cargo, roro, ropax; air air_freight; inland_waterway barge, container_barge.",
"type": "string"
}
},
"required": [
"mode",
"vehicle_type"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"teu": {
"description": "Containers in TEU, instead of weight_kg; with teu_net_tonnes, or alone for GLEC's average of 10 t per TEU",
"type": "number"
},
"teu_net_tonnes": {
"description": "With teu: net cargo tonnes per TEU (container tare is not added)",
"type": "number"
},
"weight_kg": {
"description": "Cargo weight in kg (or give teu instead)",
"type": "number"
}
},
"required": [
"legs"
],
"type": "object"
},
"name": "calculate_shipment"
},
{
"description": "Calculates several shipments at once, each like calculate_shipment. A failing shipment doesn't stop the others; each failure says why and whether sending it again can help. Set explain to add calculation sheets (first 25 shipments).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"add_road_legs": {
"description": "Add road legs where the legs don't join up (gaps over 5 km), and to a port or terminal when a sea, rail or river leg starts or ends off its network (default true). Added legs are marked in the result.",
"type": "boolean"
},
"explain": {
"description": "Add the step-by-step calculation sheet of each shipment (up to 25)",
"type": "boolean"
},
"shipments": {
"description": "The shipments. Without an API key the public service takes up to 100 per call; with one, up to 10,000.",
"items": {
"additionalProperties": false,
"properties": {
"add_road_legs": {
"description": "Add road legs where the legs don't join up (gaps over 5 km), and to a port or terminal when a sea, rail or river leg starts or ends off its network (default true). Added legs are marked in the result.",
"type": "boolean"
},
"container_load": {
"description": "With teu, instead of teu_net_tonnes: average (10 t), light (6 t) or heavy (14.5 t) per TEU, from the GLEC Framework",
"type": "string"
},
"hubs": {
"description": "Hub stops (transhipment, storage); needs a dataset with hub factors.",
"items": {
"additionalProperties": false,
"properties": {
"hub_type": {
"description": "Hub type from the dataset",
"type": "string"
},
"id": {
"description": "Hub label",
"type": "string"
}
},
"required": [
"hub_type"
],
"type": "object"
},
"type": "array"
},
"id": {
"description": "Your reference for the shipment",
"type": "string"
},
"legs": {
"description": "The legs in order, from where the shipper hands the goods over to where the consignee receives them.",
"items": {
"additionalProperties": false,
"description": "One transport movement with one mode and vehicle type (an ISO 14083 transport chain element).",
"properties": {
"country": {
"description": "With energy_kwh_per_tkm: ISO 3166 alpha-3 country whose grid supplies the electricity, e.g. DEU",
"type": "string"
},
"distance_km": {
"description": "The distance, if known. When given, it is used as is and not routed; say what kind it is with distance_type. Leave it out to route from the coordinates (preferred).",
"type": "number"
},
"distance_type": {
"description": "Kind of distance_km: sfd = shortest feasible route, gcd = great circle, actual = actually travelled (e.g. odometer). Decides the distance adjustment factor (DAF) applied.",
"enum": [
"sfd",
"gcd",
"actual"
],
"type": "string"
},
"empty_trip_factor": {
"description": "Trucks, with load_tonnes or load_factor: empty km driven per loaded km (e.g. 0.3).",
"type": "number"
},
"energy_kwh_per_tkm": {
"description": "Electric trains or trucks: electricity per tonne-km (the operator's figure; no default), with country.",
"type": "number"
},
"from": {
"additionalProperties": false,
"description": "A place: coordinates (lat and lon, optionally name), or a code instead. Use find_places to look up coordinates or codes for a place name.",
"properties": {
"code": {
"description": "Instead of lat/lon: a UN/LOCODE (e.g. NLRTM for Rotterdam) or IATA airport code (e.g. CPH)",
"type": "string"
},
"lat": {
"description": "Latitude, decimal degrees",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude, decimal degrees",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"name": {
"description": "Label for the place, shown in results",
"type": "string"
}
},
"type": "object"
},
"fuel": {
"additionalProperties": false,
"description": "Measured fuel for the vehicle trip this leg is part of (primary data).",
"properties": {
"amount": {
"description": "Amount in the fuel's unit (litres for the aliases)",
"type": "number"
},
"fuel": {
"description": "Fuel id or alias: diesel, petrol, hvo, marine_gas_oil, marine_fuel_oil, jet_fuel (per litre), electricity/<ISO3 country> (kWh), or others from list_vehicle_types with include_fuels",
"type": "string"
},
"vehicle_tonne_km": {
"description": "Total tonne-km of the whole trip, to give this shipment its share of the fuel. Leave out if the trip carried only this shipment.",
"type": "number"
}
},
"required": [
"fuel",
"amount"
],
"type": "object"
},
"id": {
"description": "Your label for the leg",
"type": "string"
},
"load_factor": {
"description": "Trucks: load as a share (0-1) of the load model's payload, DESNZ's average full load (17.9 t for an articulated truck over 33 t), NOT of the truck's rated payload as in GLEC or EcoTransIT. Give load_tonnes or load_factor, not both.",
"type": "number"
},
"load_tonnes": {
"description": "Trucks: the tonnes on the truck (all cargo, averaged over the loaded km), which switches the leg to the load model. Prefer this over load_factor when the weight is known.",
"type": "number"
},
"mode": {
"enum": [
"road",
"rail",
"sea",
"air",
"inland_waterway"
],
"type": "string"
},
"to": {
"additionalProperties": false,
"description": "A place: coordinates (lat and lon, optionally name), or a code instead. Use find_places to look up coordinates or codes for a place name.",
"properties": {
"code": {
"description": "Instead of lat/lon: a UN/LOCODE (e.g. NLRTM for Rotterdam) or IATA airport code (e.g. CPH)",
"type": "string"
},
"lat": {
"description": "Latitude, decimal degrees",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude, decimal degrees",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"name": {
"description": "Label for the place, shown in results",
"type": "string"
}
},
"type": "object"
},
"vehicle_type": {
"description": "A short alias or a full id from list_vehicle_types. Common: road hgv (average truck), hgv_artic_33t (articulated truck over 33 t, a 40 t semitrailer), hgv_rigid, van; rail freight_train; sea container_ship (short-sea factor under 2,000 km, deep-sea from 2,000 km), bulk_carrier, general_cargo, roro, ropax; air air_freight; inland_waterway barge, container_barge.",
"type": "string"
}
},
"required": [
"mode",
"vehicle_type"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"teu": {
"description": "Containers in TEU, instead of weight_kg; with teu_net_tonnes, or alone for GLEC's average of 10 t per TEU",
"type": "number"
},
"teu_net_tonnes": {
"description": "With teu: net cargo tonnes per TEU (container tare is not added)",
"type": "number"
},
"weight_kg": {
"description": "Cargo weight in kg (or give teu instead)",
"type": "number"
}
},
"required": [
"legs"
],
"type": "object"
},
"minItems": 1,
"type": "array"
}
},
"required": [
"shipments"
],
"type": "object"
},
"name": "calculate_shipments"
},
{
"description": "Calculates the shipments as they are and with changes, with the same method (GLEC v3.2, ISO 14083), and returns both totals (TTW, WTT, WTW), the difference, per change how many shipments and legs it affected and the sources of its values, and per shipment notes. Changes: road_to_rail (defaults: road legs over 300 km, 30% of the cargo, from the EU Transport White Paper 2011; rail part over 100 km in a straight line, from Directive 92/106/EEC), electrify (needs the user's kwh_per_tkm, a grid country and the source), fuel_switch (hvo, b100, biomethane, biomethane_lng, cng, lng for diesel trucks), load. Results are scenarios, not reported emissions: say so to the user.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"add_road_legs": {
"description": "Add road legs where the legs don't join up (gaps over 5 km), and to a port or terminal when a sea, rail or river leg starts or ends off its network (default true). Added legs are marked in the result.",
"type": "boolean"
},
"plan": {
"additionalProperties": false,
"properties": {
"changes": {
"items": {
"additionalProperties": false,
"properties": {
"country": {
"description": "electrify: ISO 3166 alpha-3 country for the grid factor, e.g. DEU",
"type": "string"
},
"empty_trip_factor": {
"description": "load: empty km per loaded km",
"type": "number"
},
"energy_ratio": {
"description": "fuel_switch: energy per tonne-km relative to the diesel truck (default 1; give source if not 1)",
"type": "number"
},
"fuel": {
"description": "fuel_switch: hvo, b100, biodiesel, biomethane, biomethane_lng, cng or lng",
"type": "string"
},
"kwh_per_tkm": {
"description": "electrify: kWh per tonne-km, from the user",
"type": "number"
},
"load_factor": {
"description": "load: share of the model's average full load",
"type": "number"
},
"load_tonnes": {
"description": "load: tonnes on the truck",
"type": "number"
},
"min_rail_km": {
"description": "road_to_rail: rail part longer than this in a straight line (default 100)",
"type": "number"
},
"min_road_km": {
"description": "road_to_rail: road legs longer than this (default 300)",
"type": "number"
},
"rail_vehicle": {
"description": "road_to_rail: default freight_train",
"type": "string"
},
"share": {
"description": "Share of the cargo on each matching leg, 0..1 (default 0.3 for road_to_rail, else 1)",
"type": "number"
},
"source": {
"description": "Where the user's values come from (required for electrify)",
"type": "string"
},
"terminal": {
"description": "road_to_rail: nearest rail terminal reachable by road (default, Directive 92/106/EEC) or the best trip among the nearest",
"enum": [
"nearest",
"best_trip"
],
"type": "string"
},
"type": {
"enum": [
"road_to_rail",
"electrify",
"fuel_switch",
"load"
],
"type": "string"
},
"vehicle_types": {
"description": "Road vehicle types the change applies to; empty: all road legs",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"type"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"name": {
"description": "Name of the scenario",
"type": "string"
}
},
"required": [
"changes"
],
"type": "object"
},
"shipments": {
"description": "The shipments. Without an API key the public service takes up to 100 per call; with one, up to 10,000.",
"items": {
"additionalProperties": false,
"properties": {
"add_road_legs": {
"description": "Add road legs where the legs don't join up (gaps over 5 km), and to a port or terminal when a sea, rail or river leg starts or ends off its network (default true). Added legs are marked in the result.",
"type": "boolean"
},
"container_load": {
"description": "With teu, instead of teu_net_tonnes: average (10 t), light (6 t) or heavy (14.5 t) per TEU, from the GLEC Framework",
"type": "string"
},
"hubs": {
"description": "Hub stops (transhipment, storage); needs a dataset with hub factors.",
"items": {
"additionalProperties": false,
"properties": {
"hub_type": {
"description": "Hub type from the dataset",
"type": "string"
},
"id": {
"description": "Hub label",
"type": "string"
}
},
"required": [
"hub_type"
],
"type": "object"
},
"type": "array"
},
"id": {
"description": "Your reference for the shipment",
"type": "string"
},
"legs": {
"description": "The legs in order, from where the shipper hands the goods over to where the consignee receives them.",
"items": {
"additionalProperties": false,
"description": "One transport movement with one mode and vehicle type (an ISO 14083 transport chain element).",
"properties": {
"country": {
"description": "With energy_kwh_per_tkm: ISO 3166 alpha-3 country whose grid supplies the electricity, e.g. DEU",
"type": "string"
},
"distance_km": {
"description": "The distance, if known. When given, it is used as is and not routed; say what kind it is with distance_type. Leave it out to route from the coordinates (preferred).",
"type": "number"
},
"distance_type": {
"description": "Kind of distance_km: sfd = shortest feasible route, gcd = great circle, actual = actually travelled (e.g. odometer). Decides the distance adjustment factor (DAF) applied.",
"enum": [
"sfd",
"gcd",
"actual"
],
"type": "string"
},
"empty_trip_factor": {
"description": "Trucks, with load_tonnes or load_factor: empty km driven per loaded km (e.g. 0.3).",
"type": "number"
},
"energy_kwh_per_tkm": {
"description": "Electric trains or trucks: electricity per tonne-km (the operator's figure; no default), with country.",
"type": "number"
},
"from": {
"additionalProperties": false,
"description": "A place: coordinates (lat and lon, optionally name), or a code instead. Use find_places to look up coordinates or codes for a place name.",
"properties": {
"code": {
"description": "Instead of lat/lon: a UN/LOCODE (e.g. NLRTM for Rotterdam) or IATA airport code (e.g. CPH)",
"type": "string"
},
"lat": {
"description": "Latitude, decimal degrees",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude, decimal degrees",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"name": {
"description": "Label for the place, shown in results",
"type": "string"
}
},
"type": "object"
},
"fuel": {
"additionalProperties": false,
"description": "Measured fuel for the vehicle trip this leg is part of (primary data).",
"properties": {
"amount": {
"description": "Amount in the fuel's unit (litres for the aliases)",
"type": "number"
},
"fuel": {
"description": "Fuel id or alias: diesel, petrol, hvo, marine_gas_oil, marine_fuel_oil, jet_fuel (per litre), electricity/<ISO3 country> (kWh), or others from list_vehicle_types with include_fuels",
"type": "string"
},
"vehicle_tonne_km": {
"description": "Total tonne-km of the whole trip, to give this shipment its share of the fuel. Leave out if the trip carried only this shipment.",
"type": "number"
}
},
"required": [
"fuel",
"amount"
],
"type": "object"
},
"id": {
"description": "Your label for the leg",
"type": "string"
},
"load_factor": {
"description": "Trucks: load as a share (0-1) of the load model's payload, DESNZ's average full load (17.9 t for an articulated truck over 33 t), NOT of the truck's rated payload as in GLEC or EcoTransIT. Give load_tonnes or load_factor, not both.",
"type": "number"
},
"load_tonnes": {
"description": "Trucks: the tonnes on the truck (all cargo, averaged over the loaded km), which switches the leg to the load model. Prefer this over load_factor when the weight is known.",
"type": "number"
},
"mode": {
"enum": [
"road",
"rail",
"sea",
"air",
"inland_waterway"
],
"type": "string"
},
"to": {
"additionalProperties": false,
"description": "A place: coordinates (lat and lon, optionally name), or a code instead. Use find_places to look up coordinates or codes for a place name.",
"properties": {
"code": {
"description": "Instead of lat/lon: a UN/LOCODE (e.g. NLRTM for Rotterdam) or IATA airport code (e.g. CPH)",
"type": "string"
},
"lat": {
"description": "Latitude, decimal degrees",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude, decimal degrees",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"name": {
"description": "Label for the place, shown in results",
"type": "string"
}
},
"type": "object"
},
"vehicle_type": {
"description": "A short alias or a full id from list_vehicle_types. Common: road hgv (average truck), hgv_artic_33t (articulated truck over 33 t, a 40 t semitrailer), hgv_rigid, van; rail freight_train; sea container_ship (short-sea factor under 2,000 km, deep-sea from 2,000 km), bulk_carrier, general_cargo, roro, ropax; air air_freight; inland_waterway barge, container_barge.",
"type": "string"
}
},
"required": [
"mode",
"vehicle_type"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"teu": {
"description": "Containers in TEU, instead of weight_kg; with teu_net_tonnes, or alone for GLEC's average of 10 t per TEU",
"type": "number"
},
"teu_net_tonnes": {
"description": "With teu: net cargo tonnes per TEU (container tare is not added)",
"type": "number"
},
"weight_kg": {
"description": "Cargo weight in kg (or give teu instead)",
"type": "number"
}
},
"required": [
"legs"
],
"type": "object"
},
"minItems": 1,
"type": "array"
}
},
"required": [
"shipments",
"plan"
],
"type": "object"
},
"name": "compare_scenario"
},
{
"description": "Calculates shipments and returns a report with the basic content ISO 14083 asks for at the level of transport services (GLEC v3.2 Section 2 Ch.1): coverage and failures, totals split into TTW and WTT, intensity, per mode and hub type, energy carriers, data quality (primary/modelled/default shares, sources, models), distance adjustments, and notes. Returned as Markdown and as structured data.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"add_road_legs": {
"description": "Add road legs where the legs don't join up (gaps over 5 km), and to a port or terminal when a sea, rail or river leg starts or ends off its network (default true). Added legs are marked in the result.",
"type": "boolean"
},
"declare_iso": {
"description": "Add the ISO 14083:2023 conformity statement. Only when the user explicitly confirms that their data collection and boundaries conform.",
"type": "boolean"
},
"organisation": {
"description": "Organisation the report is for",
"type": "string"
},
"period_from": {
"description": "Start of the period covered, YYYY-MM-DD",
"type": "string"
},
"period_to": {
"description": "End of the period covered, YYYY-MM-DD",
"type": "string"
},
"reference": {
"description": "Where supporting information can be found",
"type": "string"
},
"shipments": {
"description": "The shipments. Without an API key the public service takes up to 100 per call; with one, up to 10,000.",
"items": {
"additionalProperties": false,
"properties": {
"add_road_legs": {
"description": "Add road legs where the legs don't join up (gaps over 5 km), and to a port or terminal when a sea, rail or river leg starts or ends off its network (default true). Added legs are marked in the result.",
"type": "boolean"
},
"container_load": {
"description": "With teu, instead of teu_net_tonnes: average (10 t), light (6 t) or heavy (14.5 t) per TEU, from the GLEC Framework",
"type": "string"
},
"hubs": {
"description": "Hub stops (transhipment, storage); needs a dataset with hub factors.",
"items": {
"additionalProperties": false,
"properties": {
"hub_type": {
"description": "Hub type from the dataset",
"type": "string"
},
"id": {
"description": "Hub label",
"type": "string"
}
},
"required": [
"hub_type"
],
"type": "object"
},
"type": "array"
},
"id": {
"description": "Your reference for the shipment",
"type": "string"
},
"legs": {
"description": "The legs in order, from where the shipper hands the goods over to where the consignee receives them.",
"items": {
"additionalProperties": false,
"description": "One transport movement with one mode and vehicle type (an ISO 14083 transport chain element).",
"properties": {
"country": {
"description": "With energy_kwh_per_tkm: ISO 3166 alpha-3 country whose grid supplies the electricity, e.g. DEU",
"type": "string"
},
"distance_km": {
"description": "The distance, if known. When given, it is used as is and not routed; say what kind it is with distance_type. Leave it out to route from the coordinates (preferred).",
"type": "number"
},
"distance_type": {
"description": "Kind of distance_km: sfd = shortest feasible route, gcd = great circle, actual = actually travelled (e.g. odometer). Decides the distance adjustment factor (DAF) applied.",
"enum": [
"sfd",
"gcd",
"actual"
],
"type": "string"
},
"empty_trip_factor": {
"description": "Trucks, with load_tonnes or load_factor: empty km driven per loaded km (e.g. 0.3).",
"type": "number"
},
"energy_kwh_per_tkm": {
"description": "Electric trains or trucks: electricity per tonne-km (the operator's figure; no default), with country.",
"type": "number"
},
"from": {
"additionalProperties": false,
"description": "A place: coordinates (lat and lon, optionally name), or a code instead. Use find_places to look up coordinates or codes for a place name.",
"properties": {
"code": {
"description": "Instead of lat/lon: a UN/LOCODE (e.g. NLRTM for Rotterdam) or IATA airport code (e.g. CPH)",
"type": "string"
},
"lat": {
"description": "Latitude, decimal degrees",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude, decimal degrees",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"name": {
"description": "Label for the place, shown in results",
"type": "string"
}
},
"type": "object"
},
"fuel": {
"additionalProperties": false,
"description": "Measured fuel for the vehicle trip this leg is part of (primary data).",
"properties": {
"amount": {
"description": "Amount in the fuel's unit (litres for the aliases)",
"type": "number"
},
"fuel": {
"description": "Fuel id or alias: diesel, petrol, hvo, marine_gas_oil, marine_fuel_oil, jet_fuel (per litre), electricity/<ISO3 country> (kWh), or others from list_vehicle_types with include_fuels",
"type": "string"
},
"vehicle_tonne_km": {
"description": "Total tonne-km of the whole trip, to give this shipment its share of the fuel. Leave out if the trip carried only this shipment.",
"type": "number"
}
},
"required": [
"fuel",
"amount"
],
"type": "object"
},
"id": {
"description": "Your label for the leg",
"type": "string"
},
"load_factor": {
"description": "Trucks: load as a share (0-1) of the load model's payload, DESNZ's average full load (17.9 t for an articulated truck over 33 t), NOT of the truck's rated payload as in GLEC or EcoTransIT. Give load_tonnes or load_factor, not both.",
"type": "number"
},
"load_tonnes": {
"description": "Trucks: the tonnes on the truck (all cargo, averaged over the loaded km), which switches the leg to the load model. Prefer this over load_factor when the weight is known.",
"type": "number"
},
"mode": {
"enum": [
"road",
"rail",
"sea",
"air",
"inland_waterway"
],
"type": "string"
},
"to": {
"additionalProperties": false,
"description": "A place: coordinates (lat and lon, optionally name), or a code instead. Use find_places to look up coordinates or codes for a place name.",
"properties": {
"code": {
"description": "Instead of lat/lon: a UN/LOCODE (e.g. NLRTM for Rotterdam) or IATA airport code (e.g. CPH)",
"type": "string"
},
"lat": {
"description": "Latitude, decimal degrees",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude, decimal degrees",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"name": {
"description": "Label for the place, shown in results",
"type": "string"
}
},
"type": "object"
},
"vehicle_type": {
"description": "A short alias or a full id from list_vehicle_types. Common: road hgv (average truck), hgv_artic_33t (articulated truck over 33 t, a 40 t semitrailer), hgv_rigid, van; rail freight_train; sea container_ship (short-sea factor under 2,000 km, deep-sea from 2,000 km), bulk_carrier, general_cargo, roro, ropax; air air_freight; inland_waterway barge, container_barge.",
"type": "string"
}
},
"required": [
"mode",
"vehicle_type"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"teu": {
"description": "Containers in TEU, instead of weight_kg; with teu_net_tonnes, or alone for GLEC's average of 10 t per TEU",
"type": "number"
},
"teu_net_tonnes": {
"description": "With teu: net cargo tonnes per TEU (container tare is not added)",
"type": "number"
},
"weight_kg": {
"description": "Cargo weight in kg (or give teu instead)",
"type": "number"
}
},
"required": [
"legs"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"title": {
"description": "Report title",
"type": "string"
}
},
"required": [
"shipments"
],
"type": "object"
},
"name": "emissions_report"
},
{
"description": "Finds cities, sea and inland ports, rail and road terminals, inland depots, border crossings and airports by name, UN/LOCODE or IATA code, with coordinates, from an embedded list (GeoNames, UN/LOCODE, OurAirports). Use it to fill a leg's from and to.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"kinds": {
"description": "Only places of these kinds: port (sea or inland port), rail and road (terminals), airport, inland (inland clearance depot), border (crossing), city. E.g. [\"port\"] for a sea or river leg, [\"airport\"] for an air leg",
"items": {
"enum": [
"city",
"port",
"rail",
"road",
"airport",
"inland",
"border"
],
"type": "string"
},
"type": "array"
},
"limit": {
"description": "Most results (default 10)",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "Place name, UN/LOCODE (NLRTM) or IATA code (CPH)",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "find_places"
},
{
"description": "Explains the whole method: scope (WTW, TTW, WTT), inputs, the four calculation methods with formulas, how distances are routed, distance adjustment factors, added road legs, the emission factor datasets and their sources and limitations, data quality, what every result field means, errors, and how to present results.",
"inputSchema": {
"additionalProperties": false,
"type": "object"
},
"name": "get_methodology"
},
{
"description": "Lists the vehicle types (and their short aliases) with their emission factors: g CO2e per tonne-km tank-to-wheel and well-to-tank, the distance type they are per, source and year, and for trucks the load model's payload (what load_factor 1 means). Optionally the fuels for the fuel method.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"include_fuels": {
"description": "Also list fuels and their factors",
"type": "boolean"
},
"mode": {
"enum": [
"road",
"rail",
"sea",
"air",
"inland_waterway"
],
"type": "string"
},
"search": {
"description": "Only vehicle types whose id, alias or source contains this, e.g. \"container\" or \"refrigerated\"",
"type": "string"
}
},
"type": "object"
},
"name": "list_vehicle_types"
},
{
"description": "For each shipment, tries road legs on rail, inland waterway and short sea, air legs by sea or rail, other sea ports and (when a load is given) fuller loads; calculates each alternative with the same method as the shipment (GLEC v3.2, ISO 14083) and returns those lower than now, best first, with totals per kind and per lane, the sources of the rules and the limitations. Rules (defaults, settable): road legs over 300 km (EU Transport White Paper 2011); rail, waterway or sea part over 100 km in a straight line, road to a waterway or sea port within 150 km, nearest rail terminal (Directive 92/106/EEC). It knows nothing about transit times, costs or whether a service runs: tell the user, and that results are scenarios, not reported emissions. The website's Recommendations page (/recommend) lets the user filter and pick interactively.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"settings": {
"additionalProperties": false,
"properties": {
"empty_trip_factor": {
"description": "fuller_loads: empty km per loaded km",
"type": "number"
},
"kinds": {
"description": "Kinds to try; empty: all (fuller_loads only with a load)",
"items": {
"enum": [
"road_to_rail",
"road_to_waterway",
"road_to_short_sea",
"air_to_sea",
"air_to_rail",
"other_port",
"fuller_loads"
],
"type": "string"
},
"type": "array"
},
"load_factor": {
"description": "fuller_loads: share of the load model's average full load",
"type": "number"
},
"load_tonnes": {
"description": "fuller_loads: tonnes on each road vehicle, from the user",
"type": "number"
},
"load_vehicle": {
"description": "fuller_loads: another road vehicle type",
"type": "string"
},
"max_port_road_km": {
"description": "Road to and from a waterway or sea port within this in a straight line (default 150)",
"type": "number"
},
"max_ports": {
"description": "other ports to try per port (default 4)",
"type": "number"
},
"min_main_km": {
"description": "Rail, waterway or sea part longer than this in a straight line (default 100)",
"type": "number"
},
"min_road_km": {
"description": "Road legs longer than this are tried on rail, waterway and short sea (default 300)",
"type": "number"
},
"port_radius_km": {
"description": "other ports within this of the port used now (default 800)",
"type": "number"
},
"rail_vehicle": {
"description": "default freight_train",
"type": "string"
},
"sea_vehicle": {
"description": "instead of air; default container_ship",
"type": "string"
},
"short_sea_vehicle": {
"description": "default roro",
"type": "string"
},
"source": {
"description": "Where the load values come from",
"type": "string"
},
"terminal": {
"enum": [
"nearest",
"best_trip"
],
"type": "string"
},
"waterway_vehicle": {
"description": "default container_barge",
"type": "string"
}
},
"type": "object"
},
"shipments": {
"description": "The shipments. Without an API key the public service takes up to 100 per call; with one, up to 10,000.",
"items": {
"additionalProperties": false,
"properties": {
"add_road_legs": {
"description": "Add road legs where the legs don't join up (gaps over 5 km), and to a port or terminal when a sea, rail or river leg starts or ends off its network (default true). Added legs are marked in the result.",
"type": "boolean"
},
"container_load": {
"description": "With teu, instead of teu_net_tonnes: average (10 t), light (6 t) or heavy (14.5 t) per TEU, from the GLEC Framework",
"type": "string"
},
"hubs": {
"description": "Hub stops (transhipment, storage); needs a dataset with hub factors.",
"items": {
"additionalProperties": false,
"properties": {
"hub_type": {
"description": "Hub type from the dataset",
"type": "string"
},
"id": {
"description": "Hub label",
"type": "string"
}
},
"required": [
"hub_type"
],
"type": "object"
},
"type": "array"
},
"id": {
"description": "Your reference for the shipment",
"type": "string"
},
"legs": {
"description": "The legs in order, from where the shipper hands the goods over to where the consignee receives them.",
"items": {
"additionalProperties": false,
"description": "One transport movement with one mode and vehicle type (an ISO 14083 transport chain element).",
"properties": {
"country": {
"description": "With energy_kwh_per_tkm: ISO 3166 alpha-3 country whose grid supplies the electricity, e.g. DEU",
"type": "string"
},
"distance_km": {
"description": "The distance, if known. When given, it is used as is and not routed; say what kind it is with distance_type. Leave it out to route from the coordinates (preferred).",
"type": "number"
},
"distance_type": {
"description": "Kind of distance_km: sfd = shortest feasible route, gcd = great circle, actual = actually travelled (e.g. odometer). Decides the distance adjustment factor (DAF) applied.",
"enum": [
"sfd",
"gcd",
"actual"
],
"type": "string"
},
"empty_trip_factor": {
"description": "Trucks, with load_tonnes or load_factor: empty km driven per loaded km (e.g. 0.3).",
"type": "number"
},
"energy_kwh_per_tkm": {
"description": "Electric trains or trucks: electricity per tonne-km (the operator's figure; no default), with country.",
"type": "number"
},
"from": {
"additionalProperties": false,
"description": "A place: coordinates (lat and lon, optionally name), or a code instead. Use find_places to look up coordinates or codes for a place name.",
"properties": {
"code": {
"description": "Instead of lat/lon: a UN/LOCODE (e.g. NLRTM for Rotterdam) or IATA airport code (e.g. CPH)",
"type": "string"
},
"lat": {
"description": "Latitude, decimal degrees",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude, decimal degrees",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"name": {
"description": "Label for the place, shown in results",
"type": "string"
}
},
"type": "object"
},
"fuel": {
"additionalProperties": false,
"description": "Measured fuel for the vehicle trip this leg is part of (primary data).",
"properties": {
"amount": {
"description": "Amount in the fuel's unit (litres for the aliases)",
"type": "number"
},
"fuel": {
"description": "Fuel id or alias: diesel, petrol, hvo, marine_gas_oil, marine_fuel_oil, jet_fuel (per litre), electricity/<ISO3 country> (kWh), or others from list_vehicle_types with include_fuels",
"type": "string"
},
"vehicle_tonne_km": {
"description": "Total tonne-km of the whole trip, to give this shipment its share of the fuel. Leave out if the trip carried only this shipment.",
"type": "number"
}
},
"required": [
"fuel",
"amount"
],
"type": "object"
},
"id": {
"description": "Your label for the leg",
"type": "string"
},
"load_factor": {
"description": "Trucks: load as a share (0-1) of the load model's payload, DESNZ's average full load (17.9 t for an articulated truck over 33 t), NOT of the truck's rated payload as in GLEC or EcoTransIT. Give load_tonnes or load_factor, not both.",
"type": "number"
},
"load_tonnes": {
"description": "Trucks: the tonnes on the truck (all cargo, averaged over the loaded km), which switches the leg to the load model. Prefer this over load_factor when the weight is known.",
"type": "number"
},
"mode": {
"enum": [
"road",
"rail",
"sea",
"air",
"inland_waterway"
],
"type": "string"
},
"to": {
"additionalProperties": false,
"description": "A place: coordinates (lat and lon, optionally name), or a code instead. Use find_places to look up coordinates or codes for a place name.",
"properties": {
"code": {
"description": "Instead of lat/lon: a UN/LOCODE (e.g. NLRTM for Rotterdam) or IATA airport code (e.g. CPH)",
"type": "string"
},
"lat": {
"description": "Latitude, decimal degrees",
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lon": {
"description": "Longitude, decimal degrees",
"maximum": 180,
"minimum": -180,
"type": "number"
},
"name": {
"description": "Label for the place, shown in results",
"type": "string"
}
},
"type": "object"
},
"vehicle_type": {
"description": "A short alias or a full id from list_vehicle_types. Common: road hgv (average truck), hgv_artic_33t (articulated truck over 33 t, a 40 t semitrailer), hgv_rigid, van; rail freight_train; sea container_ship (short-sea factor under 2,000 km, deep-sea from 2,000 km), bulk_carrier, general_cargo, roro, ropax; air air_freight; inland_waterway barge, container_barge.",
"type": "string"
}
},
"required": [
"mode",
"vehicle_type"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"teu": {
"description": "Containers in TEU, instead of weight_kg; with teu_net_tonnes, or alone for GLEC's average of 10 t per TEU",
"type": "number"
},
"teu_net_tonnes": {
"description": "With teu: net cargo tonnes per TEU (container tare is not added)",
"type": "number"
},
"weight_kg": {
"description": "Cargo weight in kg (or give teu instead)",
"type": "number"
}
},
"required": [
"legs"
],
"type": "object"
},
"minItems": 1,
"type": "array"
}
},
"required": [
"shipments"
],
"type": "object"
},
"name": "recommend_routes"
}
]
}What the leaf hashes
{"body":"efab9598c965756dc80951804a5066f5884a7c4d38c3d56cc1d1f6112b3fda71","id":258933,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793030485486881,"prev":null,"subject":"937462ae-8442-479a-8838-c73d7215cf46","subject_kind":"endpoint"}Proof
Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.