Prices a trade deal month by month: what an order does to your cash, and what to ask for instead.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
What this server answers: its endpoints, the lanes and whether each is live, the provenance labels, and the payment presets and splits a profile can use. Takes no input. Figures carry a `provenance` stamp (READ, MEASURED, DERIVED, COMPUTED, PROXY or ESTIMATED; defined in the server instructions) and a `basis`; `missing` names any figure only the caller holds. Information, not advice.
This tool takes no arguments.
What this server answers: its endpoints, the lanes and whether each is live, the provenance labels, and the payment presets and splits a profile can use. Takes no input. Figures carry a `provenance` stamp (READ, MEASURED, DERIVED, COMPUTED, PROXY or ESTIMATED; defined in the server instructions) and a `basis`; `missing` names any figure only the caller holds. Information, not advice.
No arguments.
{
"type": "object",
"title": "capabilitiesArguments",
"properties": {}
}How long the caller's cash lasts if costs move as the lane's price scenario says. Needs cash on hand, revenue, margin and fixed costs in `profile.business`; each one absent is named in `missing` (`projected: false`). Returns `runway_months_low`/`mid`/`high` and `worst_drawdown_gbp` over `horizon_months` (default 12); a runway longer than the horizon is `null`. When the profile also plans an order, the plan's cash answer is added (`source: "plan"`): `plan_first_break_month` and `plan_first_break_amount_gbp` (first month below the cash floor), `plan_first_below_zero_month`, `plan_lowest_cash_gbp`, `plan_horizon_months`. Figures carry a `provenance` stamp (READ, MEASURED, DERIVED, COMPUTED, PROXY or ESTIMATED; defined in the server instructions) and a `basis`; `missing` names any figure only the caller holds. Information, not advice.
| Argument | Type | Description |
|---|---|---|
| profile* | object | |
| horizon_months | any |
{
"type": "object",
"title": "cash_runwayArguments",
"required": [
"profile"
],
"properties": {
"profile": {
"type": "object",
"title": "Profile",
"additionalProperties": true
},
"horizon_months": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Horizon Months",
"default": null
}
}
}One of the caller's saved products on the deployment's live lane and on a second lane, against one cash position. `second_origin` names the second lane's origin; `product_id` picks the product (default: the first in `navigator.products`). `second_quote_gbp_per_unit` and `second_lead_time_months` describe the second lane; a measured sea transit replaces a typed lead time where the lane is live. Each lane carries `unit_cost_provenance`, `lead_time_provenance` and `duty_provenance` (READ or PROXY; duty is empty when no rate was found). `available: false` with `missing` when the comparison cannot be built. Figures carry a `provenance` stamp (READ, MEASURED, DERIVED, COMPUTED, PROXY or ESTIMATED; defined in the server instructions) and a `basis`; `missing` names any figure only the caller holds. Information, not advice.
| Argument | Type | Description |
|---|---|---|
| profile* | object | |
| product_id | any | |
| corridor_id | any | |
| second_origin* | string | |
| second_lead_time_months | any | |
| second_quote_gbp_per_unit | any |
One to five supplier quotes, each run as a whole-order plan against the caller's `profile` through the same engine as `test_order`, and ranked: feasible first, then total cost, then lead time. Each quote: `label` and `unit_price` required; `currency` one of GBP, USD, INR, CNY, EUR, THB, MYR (default GBP); optional `moq_units`, `lead_time_months`, `payment_terms_months`, `capacity_units_month` and `unit_mass_kg` replace the profile's figure for that quote only (`inputs_used` says which). Quotes in one call are ranked against the same plan. A currency with no Bank of England rate is named in `missing` and not ranked. `verdict` is one sentence. Figures carry a `provenance` stamp (READ, MEASURED, DERIVED, COMPUTED, PROXY or ESTIMATED; defined in the server instructions) and a `basis`; `missing` names any figure only the caller holds. Information, not advice.
| Argument | Type | Description |
|---|---|---|
| quotes* | array | |
| profile* | object | |
| corridor_id | any | |
| regime_state | any |
{
"type": "object",
"title": "compare_quotesArguments",
"required": [
"profile",
"quotes"
],
"properties": {
"quotes": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Quotes"
},
"profile": {
"type": "object",
"title": "Profile",
"additionalProperties": true
},
"corridor_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Corridor Id",
"default": null
},
"regime_state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Regime State",
"default": null
}
}
}What the goods could cost over the coming months: a `low`/`mid`/`high` band ESTIMATED from what this lane's past disruption episodes did to goods prices. A band from measured history, not a forecast. Freight is held at the caller's own figure. `horizon_months` is optional. `events_behind_it` counts the past episodes behind the band. `projected: false` when the goods sit outside the ten measured categories or no price series exists for them on this lane. Figures carry a `provenance` stamp (READ, MEASURED, DERIVED, COMPUTED, PROXY or ESTIMATED; defined in the server instructions) and a `basis`; `missing` names any figure only the caller holds. Information, not advice.
| Argument | Type | Description |
|---|---|---|
| profile* | object | |
| horizon_months | any |
{
"type": "object",
"title": "cost_scenarioArguments",
"required": [
"profile"
],
"properties": {
"profile": {
"type": "object",
"title": "Profile",
"additionalProperties": true
},
"horizon_months": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Horizon Months",
"default": null
}
}
}Duty on a year of the caller's goods at their stated rate, and what a preference claim under the UK-India trade agreement could be worth. COMPUTED from `profile` alone (spend, duty rate, preference status), with no network call. Whether goods qualify depends on their code and the rules of origin; the response names where to check. Figures carry a `provenance` stamp (READ, MEASURED, DERIVED, COMPUTED, PROXY or ESTIMATED; defined in the server instructions) and a `basis`; `missing` names any figure only the caller holds. Information, not advice.
| Argument | Type | Description |
|---|---|---|
| profile* | object |
{
"type": "object",
"title": "duty_at_stakeArguments",
"required": [
"profile"
],
"properties": {
"profile": {
"type": "object",
"title": "Profile",
"additionalProperties": true
}
}
}The forecaster's backtest for one past disruption event, DERIVED: how many tracked series moved after the event's detected start, out of how many could be tested. `event_id` is optional (default: the first event; an unknown id is refused by name). `measurable: false` means the event sits too close to the edge of its series' history to test; `available: false` means no backtest is built on this deployment. Figures carry a `provenance` stamp (READ, MEASURED, DERIVED, COMPUTED, PROXY or ESTIMATED; defined in the server instructions) and a `basis`; `missing` names any figure only the caller holds. Information, not advice.
| Argument | Type | Description |
|---|---|---|
| event_id | any |
{
"type": "object",
"title": "forecaster_backtestArguments",
"properties": {
"event_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Event Id",
"default": null
}
}
}CIF value, duty and import VAT, in GBP. Send the goods value as `goods_gbp`, or as `goods` with `currency`; amounts in another currency are converted at the Bank of England rate TDE holds, stated under `fx_rate` with its date. Give `duty_rate_pct`, or a `commodity_code` and `origin` for goods entering the UK: the rate is then read from the UK tariff and stated under `duty_lookup`. When more than one code fits, `choose_code` lists them and no total is given. A rate that cannot be found is asked for, never set to 0. For goods entering another country, `duty_rate_pct` and `vat_rate_pct` are required. Figures carry a `provenance` stamp (READ, MEASURED, DERIVED, COMPUTED, PROXY or ESTIMATED; defined in the server instructions) and a `basis`; `missing` names any figure only the caller holds. Information, not advice.
| Argument | Type | Description |
|---|---|---|
| goods | any | Goods value in `currency`. |
| units | any | Units, for per-unit figures. |
| origin | any | Country the goods come from, e.g. China. |
| freight | any | Freight in `currency`. |
| currency | any | ISO code of goods, freight and insurance: USD, GBP, CNY, INR, EUR, THB or MYR. |
| goods_gbp | any | Goods value in GBP. |
| insurance |
A trade lane's current state (how freely ships are passing the chokepoints on its route) and the date the data covers. `corridor_id` names the lane (for example `uk_india`; `capabilities` lists them); default is the deployment's live lane. READ from the daily pipeline: `as_of` is the data date, not today. `excluded_passages` names chokepoints left out because their feed stopped reporting. `transits_to` is the date of the newest ship count behind the state; `stale` is true when it is more than 14 days old. A lane with nothing built returns `state: null` with its absences named. Figures carry a `provenance` stamp (READ, MEASURED, DERIVED, COMPUTED, PROXY or ESTIMATED; defined in the server instructions) and a `basis`; `missing` names any figure only the caller holds. Information, not advice.
| Argument | Type | Description |
|---|---|---|
| corridor_id | any |
{
"type": "object",
"title": "lane_stateArguments",
"properties": {
"corridor_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Corridor Id",
"default": null
}
}
}What the record has taught the engine: each model, its standing, its published backtest, and whether it may change a figure a reader sees (false for every model today). `proposals` is empty, with a `reason`, until a learned proposal is published with its backtest. `profile` is optional and does not change the answer today (`reader_specific` says so). Figures carry a `provenance` stamp (READ, MEASURED, DERIVED, COMPUTED, PROXY or ESTIMATED; defined in the server instructions) and a `basis`; `missing` names any figure only the caller holds. Information, not advice.
| Argument | Type | Description |
|---|---|---|
| profile | any |
{
"type": "object",
"title": "learned_inputsArguments",
"properties": {
"profile": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Profile",
"default": null
}
}
}How much of a gross margin survives the cost move TDE has MEASURED for the goods. A v1 heuristic. Pass either `profile` (`{"business": {...}}`, with `margin_pct` and the goods' code or category) or `margin_pct` (percent) and `hs6` (six-digit commodity code) together; both reach the same calculation. `covered: false` means the goods sit outside the ten HS chapters measured, and no figure is given. Figures carry a `provenance` stamp (READ, MEASURED, DERIVED, COMPUTED, PROXY or ESTIMATED; defined in the server instructions) and a `basis`; `missing` names any figure only the caller holds. Information, not advice.
| Argument | Type | Description |
|---|---|---|
| hs6 | any | |
| profile | any | |
| margin_pct | any |
{
"type": "object",
"title": "margin_cushionArguments",
"properties": {
"hs6": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Hs6",
"default": null
},
"profile": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Profile",
"default": null
},
"margin_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Margin Pct",
"default": null
}
}
}Every pound the `test_order` plan moves, month by month. Takes the same `profile`, `regime_state` and `corridor_id` as `test_order` and builds the same plan without re-solving it, so cash lines and cost lines agree with that plan. `months` is monthly, the grain the plan is solved at. `ledgered: false` with `missing` means no plan exists for this profile. Figures carry a `provenance` stamp (READ, MEASURED, DERIVED, COMPUTED, PROXY or ESTIMATED; defined in the server instructions) and a `basis`; `missing` names any figure only the caller holds. Information, not advice.
| Argument | Type | Description |
|---|---|---|
| profile* | object | |
| corridor_id | any | |
| regime_state | any |
{
"type": "object",
"title": "plan_ledgerArguments",
"required": [
"profile"
],
"properties": {
"profile": {
"type": "object",
"title": "Profile",
"additionalProperties": true
},
"corridor_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Corridor Id",
"default": null
},
"regime_state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Regime State",
"default": null
}
}
}A joint plan for up to 30 products sharing one cash floor, monthly budget, credit facility and supplier capacity. `profile["navigator"]["products"]` is the list of product rows (each with `id`, `label`, `monthly_demand_units`, `monthly_spend_gbp` and optional `unit_sell_price_gbp`, `starting_inventory_units`). Products are planned together, not separately and summed. `which_product_lost` names which product gave up units to hold a shared limit, and why; `would_have_been_feasible_separately` names products that pass alone but not together. `regime_state` and `corridor_id` as in `test_order`. Figures carry a `provenance` stamp (READ, MEASURED, DERIVED, COMPUTED, PROXY or ESTIMATED; defined in the server instructions) and a `basis`; `missing` names any figure only the caller holds. Information, not advice.
| Argument | Type | Description |
|---|---|---|
| profile* | object | |
| corridor_id | any | |
| regime_state | any |
{
"type": "object",
"title": "plan_productsArguments",
"required": [
"profile"
],
"properties": {
"profile": {
"type": "object",
"title": "Profile",
"additionalProperties": true
},
"corridor_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Corridor Id",
"default": null
},
"regime_state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Regime State",
"default": null
}
}
}Where a supplier's quote sits in the MEASURED customs-value band (HMRC unit values, last twelve months) for one six-digit code and origin. `hs6` and `origin` (country) are required. `quote` is GBP per unit; `unit_mass_kg` converts it to GBP per kilogram, the band's unit. Only GBP quotes are placed (`currency` unset or `"GBP"`). A customs unit value averages many shipments, so `placement` says where the quote sits in the band, not whether it is overpriced. `band.available: false` with `band.reason` when no band is measured for that code and origin. Figures carry a `provenance` stamp (READ, MEASURED, DERIVED, COMPUTED, PROXY or ESTIMATED; defined in the server instructions) and a `basis`; `missing` names any figure only the caller holds. Information, not advice.
| Argument | Type | Description |
|---|---|---|
| hs6* | string | |
| quote | any | |
| origin* | string | |
| currency | any | |
| unit_mass_kg | any |
{
"type": "object",
"title": "quote_checkArguments",
"required": [
"hs6",
"origin"
],
"properties": {
"hs6": {
"type": "string",
"title": "Hs6"
},
"quote": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Quote",
"default": null
},
"origin": {
"type": "string",
"title": "Origin"
},
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Currency",
"default": null
},
"unit_mass_kg": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Unit Mass Kg",
"default": null
}
}
}What could go wrong on the caller's own figures, priced by stage: Source, Terms, Order, Pay, Ship, Clear, Cash. Takes the same inputs as `test_order` and prices against the same plan. Each row has an `exposure` (the cost if it happens), `covers` (what would cover it) and a `lever` (that cover's cost) where one is priced; otherwise an `absence` naming the one figure that would unlock it. `not_priced` lists exposures this register does not price (for example LC fees, demurrage and quality claims). Figures carry a `provenance` stamp (READ, MEASURED, DERIVED, COMPUTED, PROXY or ESTIMATED; defined in the server instructions) and a `basis`; `missing` names any figure only the caller holds. Information, not advice.
| Argument | Type | Description |
|---|---|---|
| profile* | object | |
| corridor_id | any | |
| regime_state | any |
{
"type": "object",
"title": "risk_registerArguments",
"required": [
"profile"
],
"properties": {
"profile": {
"type": "object",
"title": "Profile",
"additionalProperties": true
},
"corridor_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Corridor Id",
"default": null
},
"regime_state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Regime State",
"default": null
}
}
}Whether the next order can be placed this month, and how large, checked month by month against the caller's cash, budget and stock limits. `profile` is `{"business": {...}, "navigator": {...}}`. Needs `navigator.monthly_demand_units` (a monthly rate, not one order), `business.monthly_spend_gbp` (GBP/month), `business.cash_on_hand_gbp` and `business.monthly_revenue_gbp`; optional `navigator` keys include `navigator.unit_sell_price_gbp`, `supplier_deposit_pct`, `shipping_time_months` and `cash_floor_gbp`. `corridor_id` is the lane (default: live); `regime_state` overrides the lane's state. Returns `first_order`, `status` (`feasible`, `best_achievable` with `compromises`, or `below_zero_no_floor`) and `minimum_relaxation`. `deal_terms` (where enabled) judges payment terms. Figures carry a `provenance` stamp (READ, MEASURED, DERIVED, COMPUTED, PROXY or ESTIMATED; defined in the server instructions) and a `basis`; `missing` names any figure only the caller holds. Information, not advice.
| Argument | Type | Description |
|---|---|---|
| profile* | object | |
| deal_terms | any | |
| corridor_id | any | |
| regime_state | any |
{
"type": "object",
"title": "test_orderArguments",
"required": [
"profile"
],
"properties": {
"profile": {
"type": "object",
"title": "Profile",
"additionalProperties": true
},
"deal_terms": {
"title": "Deal Terms",
"default": null
},
"corridor_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Corridor Id",
"default": null
},
"regime_state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Regime State",
"default": null
}
}
}What usually goes wrong for these goods on this lane, and what to check before committing: sourced practitioner notes. `hs6_codes` (six-digit codes) and `corridor_id` are optional; without them only the notes that apply to any goods or any lane are returned. `lane_covered` and `chapter_specific` say whether anything more specific than the general notes matched. `proposed` and `rejected` count the lines a model proposed and the lines refused for promising a fixed timeframe. Each line carries its citation: `source_url`, `source_title`, `reviewed` (the date a person checked it against that source), `synthesis` (a reading of several sources rather than one source's words) and `pdf`. A line with no source is not served, so `every_line_sourced` is true. Information, not advice.
| Argument | Type | Description |
|---|---|---|
| hs6_codes | any | |
| corridor_id | any |
{
"type": "object",
"title": "veteran_notesArguments",
"properties": {
"hs6_codes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Hs6 Codes",
"default": null
},
"corridor_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Corridor Id",
"default": null
}
}
}{
"type": "object",
"title": "compare_lanesArguments",
"required": [
"profile",
"second_origin"
],
"properties": {
"profile": {
"type": "object",
"title": "Profile",
"additionalProperties": true
},
"product_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Product Id",
"default": null
},
"corridor_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Corridor Id",
"default": null
},
"second_origin": {
"type": "string",
"title": "Second Origin"
},
"second_lead_time_months": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Second Lead Time Months",
"default": null
},
"second_quote_gbp_per_unit": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Second Quote Gbp Per Unit",
"default": null
}
}
}| any |
| Insurance amount in `currency`. |
| destination | any | Country the goods enter. Default UK. |
| freight_gbp | any | Freight in GBP. |
| vat_rate_pct | any | Import VAT rate, percent. 20 for the UK when unset. |
| duty_rate_pct | any | Duty rate, percent of CIF. Overrides any looked-up rate. |
| insurance_pct | any | Insurance, percent of goods value. |
| commodity_code | any | 10-digit UK commodity code, 6-digit HS code, or a product description. |
| claim_preference | any | True if the goods qualify for the origin's tariff preference. |
{
"type": "object",
"title": "landed_costArguments",
"properties": {
"goods": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Goods",
"default": null,
"description": "Goods value in `currency`."
},
"units": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Units",
"default": null,
"description": "Units, for per-unit figures."
},
"origin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin",
"default": null,
"description": "Country the goods come from, e.g. China."
},
"freight": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Freight",
"default": null,
"description": "Freight in `currency`."
},
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Currency",
"default": null,
"description": "ISO code of goods, freight and insurance: USD, GBP, CNY, INR, EUR, THB or MYR."
},
"goods_gbp": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Goods Gbp",
"default": null,
"description": "Goods value in GBP."
},
"insurance": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Insurance",
"default": null,
"description": "Insurance amount in `currency`."
},
"destination": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Destination",
"default": null,
"description": "Country the goods enter. Default UK."
},
"freight_gbp": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Freight Gbp",
"default": null,
"description": "Freight in GBP."
},
"vat_rate_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Vat Rate Pct",
"default": null,
"description": "Import VAT rate, percent. 20 for the UK when unset."
},
"duty_rate_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Duty Rate Pct",
"default": null,
"description": "Duty rate, percent of CIF. Overrides any looked-up rate."
},
"insurance_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Insurance Pct",
"default": null,
"description": "Insurance, percent of goods value."
},
"commodity_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Commodity Code",
"default": null,
"description": "10-digit UK commodity code, 6-digit HS code, or a product description."
},
"claim_preference": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Claim Preference",
"default": null,
"description": "True if the goods qualify for the origin's tariff preference."
}
}
}