Server definition
- Hash
- sha256:760920271154dd59553fc875f63936e1be26953503229ef9ff13b40cecbdc12c
- What it is
- What a remote MCP server returned when asked what it offers: 6 tools
The blob, as servednamed by its sha256
{
"instructions": "Shipping and landed-cost math over MCP. Free: dim_weight, parcel_fit, landed_cost, freight_class. Premium (license): rate_card, free_shipping_threshold. Arithmetic on your own inputs — no carrier account, no rate contract, no live quotes.",
"tools": [
{
"description": "Work out whether a parcel bills on its size or its weight. FREE.\n\nCarriers charge the greater of actual weight and dimensional weight, so a\nlight bulky box costs more than the scale suggests. Typical input\n{\"length\": 18, \"width\": 12, \"height\": 10, \"actual_weight\": 6} returns\n{\"cubic\": 2160.0, \"dim_weight\": 15.54, \"actual_weight\": 6.0,\n\"billable_weight\": 15.54, \"billed_on\": \"dimensional\", \"overage\": 9.54,\n\"divisor_used\": 139.0, \"note\": \"...\"}.\n\nUse when deciding whether a smaller box is worth the packing effort, or\nwhy an invoice exceeded the scale weight. Not for choosing a box from a\nlist of candidates — that is parcel_fit. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"} (for example {\"error\": \"custom_divisor must be greater than 0 when divisor is 'custom'\"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"actual_weight": {
"description": "Scale weight in pounds (or kilograms with a metric\ndivisor). Must be greater than 0.",
"exclusiveMinimum": 0,
"type": "number"
},
"custom_divisor": {
"default": 0,
"description": "Your contracted divisor, used only when divisor is\n\"custom\". Must be greater than 0 in that case.",
"type": "number"
},
"divisor": {
"default": "ups_daily",
"description": "Which published divisor to apply. \"ups_daily\" is 139 and\n\"ups_retail\" is 166 cubic inches per pound, as UPS states them;\n\"usps\" is 166; the metric options are cubic centimetres per\nkilogram. Use \"custom\" to supply a contracted divisor.",
"enum": [
"ups_daily",
"ups_retail",
"fedex",
"usps",
"metric_5000",
"metric_6000",
"custom"
],
"type": "string"
},
"height": {
"description": "Third side, same unit as length. Must be greater than 0.",
"exclusiveMinimum": 0,
"type": "number"
},
"length": {
"description": "Longest side of the packed parcel, in inches (or centimetres\nwhen using a metric divisor). Must be greater than 0.",
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"description": "Second side, same unit as length. Must be greater than 0.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"length",
"width",
"height",
"actual_weight"
],
"type": "object"
},
"name": "dim_weight",
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"description": "Find the order value at which free shipping stops costing you money. PREMIUM (license).\n\nBreak-even is where the gross margin on the order covers the shipping you\nabsorb. Typical input {\"gross_margin_pct\": 45, \"ship_cost\": 7.5,\n\"current_aov\": 38, \"target_uplift_pct\": 15} returns {\"break_even\": 16.67,\n\"suggested_threshold\": 43.7, \"above_current_aov_by\": 5.7, \"rationale\":\n\"...\"}.\n\nUse when setting or defending a free-shipping bar. Not for what shipping\nshould cost when it is not free — that is rate_card. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"current_aov": {
"description": "Your current average order value.",
"exclusiveMinimum": 0,
"type": "number"
},
"gross_margin_pct": {
"description": "Gross margin on a typical order, e.g. 45 for 45%.\nMust be above 0 and at most 100.",
"exclusiveMinimum": 0,
"maximum": 100,
"type": "number"
},
"ship_cost": {
"description": "What one shipment actually costs you to send.",
"exclusiveMinimum": 0,
"type": "number"
},
"target_uplift_pct": {
"default": 0,
"description": "How far above current AOV you want the threshold\nset, to pull baskets up. Default 0, which returns break-even.",
"minimum": 0,
"type": "number"
}
},
"required": [
"gross_margin_pct",
"ship_cost",
"current_aov"
],
"type": "object"
},
"name": "free_shipping_threshold",
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"description": "Derive a US LTL freight class from density. FREE.\n\nDensity in pounds per cubic foot maps to a class on the published NMFC\ndensity scale. Typical input {\"length\": 48, \"width\": 40, \"height\": 36,\n\"weight\": 400} returns {\"cubic_feet\": 40.0, \"density_pcf\": 10.0,\n\"density_class\": \"100\", \"caveat\": \"...\"}.\n\nUse for a first estimate before a carrier quote. Not as a final\nclassification: NMFC also weighs stowability, handling and liability, so a\ncarrier can and does reclassify. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"} (for example {\"error\": \"dimensions produce zero volume\"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"height": {
"description": "Third side, including the pallet. Must be greater than 0.",
"exclusiveMinimum": 0,
"type": "number"
},
"length": {
"description": "Longest side of the palletised freight. Must be greater than 0.",
"exclusiveMinimum": 0,
"type": "number"
},
"units": {
"default": "in_lb",
"description": "\"in_lb\" for inches and pounds, or \"cm_kg\" for centimetres and\nkilograms. Default \"in_lb\".",
"enum": [
"in_lb",
"cm_kg"
],
"type": "string"
},
"weight": {
"description": "Gross weight including the pallet. Must be greater than 0.",
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"description": "Second side. Must be greater than 0.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"length",
"width",
"height",
"weight"
],
"type": "object"
},
"name": "freight_class",
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"description": "Total what a unit really costs once freight, duty and fees are in. FREE.\n\nDuty is applied to goods value, tax to goods plus duty plus freight — the\ncommon import treatment — and the order is spelled out in the response so\nyou can check it against your own broker's method. Typical input\n{\"unit_cost\": 8.5, \"quantity\": 200, \"freight_total\": 640, \"duty_pct\": 6.5,\n\"tax_pct\": 0} returns {\"goods\": 1700.0, \"duty\": 110.5, \"freight\": 640.0,\n\"tax\": 0.0, \"total_landed\": 2450.5, \"landed_unit_cost\": 12.25, ...}.\n\nUse before setting a price on imported stock. Not for the margin that price\nleaves you — that is the dropship server's margin_check. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"duty_pct": {
"default": 0,
"description": "Import duty as a percentage of goods value, e.g. 6.5.\nDefault 0.",
"minimum": 0,
"type": "number"
},
"freight_total": {
"default": 0,
"description": "Total freight and insurance for the whole shipment,\nnot per unit. Default 0.",
"minimum": 0,
"type": "number"
},
"other_fees": {
"default": 0,
"description": "Brokerage, port and handling charges for the shipment.\nDefault 0.",
"minimum": 0,
"type": "number"
},
"quantity": {
"default": 1,
"description": "Units in the shipment. Must be at least 1. Default 1.",
"minimum": 1,
"type": "integer"
},
"tax_pct": {
"default": 0,
"description": "Import VAT or GST as a percentage of goods plus duty plus\nfreight, e.g. 20. Default 0.",
"minimum": 0,
"type": "number"
},
"unit_cost": {
"description": "Ex-works cost of one unit in your currency. Must be\ngreater than 0.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"unit_cost"
],
"type": "object"
},
"name": "landed_cost",
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"description": "Pick the smallest box an item actually fits in, allowing for padding. FREE.\n\nTries every rotation of the item against every box, so an item that only\nfits diagonally-oriented is still found. Typical input {\"item_length\": 10,\n\"item_width\": 6, \"item_height\": 4, \"box_options\": [[12, 9, 4], [14, 10,\n6]]} returns {\"fits\": [{\"box\": [14, 10, 6], \"cubic\": 840.0, \"slack\": [2,\n2, 0]}], \"best\": [14, 10, 6], \"rejected\": [...]}.\n\nUse when choosing packaging from stock. Not for what the carrier will bill\nonce a box is chosen — that is dim_weight. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"} (for example {\"error\": \"box_options must contain at least one [l, w, h] box\"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"box_options": {
"description": "Candidate inner box dimensions, each a list of exactly\nthree positive numbers, e.g. [[12, 9, 4], [14, 10, 6]].",
"items": {
"items": {
"type": "number"
},
"type": "array"
},
"type": "array"
},
"item_height": {
"description": "Item's third side, same unit. Must be greater than 0.",
"exclusiveMinimum": 0,
"type": "number"
},
"item_length": {
"description": "Item's longest side, in inches. Must be greater than 0.",
"exclusiveMinimum": 0,
"type": "number"
},
"item_width": {
"description": "Item's second side, same unit. Must be greater than 0.",
"exclusiveMinimum": 0,
"type": "number"
},
"padding": {
"default": 1,
"description": "Cushioning allowance added to every item side before the\ncomparison, in the same unit. Default 1.0; use 0 for a bare fit.",
"minimum": 0,
"type": "number"
}
},
"required": [
"item_length",
"item_width",
"item_height",
"box_options"
],
"type": "object"
},
"name": "parcel_fit",
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"description": "Turn a cost model into a customer-facing weight-banded price table. PREMIUM (license).\n\nPrices each band at its upper bound so you never under-charge inside a\nband, then rounds up to a tidy increment. Typical input {\"base_cost\": 4.2,\n\"cost_per_lb\": 0.65, \"bands_lb\": [1, 2, 5, 10], \"margin_pct\": 25} returns\n{\"bands\": [{\"up_to_lb\": 1, \"cost\": 4.85, \"price\": 6.5}, ...],\n\"over_top_band\": \"quote individually\"}.\n\nUse when publishing shipping prices customers pay. Not for the cut-off at\nwhich shipping becomes free — that is free_shipping_threshold. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {\"error\": \"<what is wrong and how to fix it>\"} (for example {\"error\": \"bands_lb must contain at least one upper bound\"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"bands_lb": {
"description": "Upper weight bound of each band in ascending order, e.g.\n[1, 2, 5, 10]. At least one band, each greater than 0.",
"items": {
"type": "number"
},
"type": "array"
},
"base_cost": {
"description": "Fixed cost per shipment before weight, e.g. pick, pack and\nlabel. Must be greater than 0.",
"exclusiveMinimum": 0,
"type": "number"
},
"cost_per_lb": {
"description": "Marginal cost per pound. Use 0 for a flat rate card.",
"minimum": 0,
"type": "number"
},
"margin_pct": {
"default": 0,
"description": "Margin added on top of cost, e.g. 25 for 25%. Default 0.",
"minimum": 0,
"type": "number"
},
"round_to": {
"default": 0.5,
"description": "Increment to round each published price up to, e.g. 0.5 or\n1. Default 0.5.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"base_cost",
"cost_per_lb",
"bands_lb"
],
"type": "object"
},
"name": "rate_card",
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:760920271154dd59553fc875f63936e1be26953503229ef9ff13b40cecbdc12c | sha256sum