{"ok":true,"site":{"host":"ladder-webmcp.vercel.app","url":"https://ladder-webmcp.vercel.app/","type":"live","desc":"Ladder","tools":[{"name":"search_shipments","kind":"act","impl":"imperative","description":"Search the house shipments on the disrupted flight by customer, consol, SLA tier, cargo flag, or status. Returns up to 50 matching rows. This call also changes what the operator is looking at: the register on their screen filters down to the rows returned here, labelled as set by you and cleared by them in one click. It changes no record and hides none — the count above the table goes on naming the full total. Use it when you want the operator looking at a particular set of rows before you propose anything.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"inputSchema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"},"description":"Exact shipment ids to target"},"customer":{"type":"string","description":"Exact customer name to filter by"},"consol":{"type":"string","description":"Exact consol id to filter by, e.g. CONSOL-A"},"slaTier":{"type":"string","enum":["premium","standard","basic"],"description":"Exact SLA tier to filter by"},"lithiumBattery":{"type":"boolean","description":"Filter to shipments carrying standalone lithium-ion batteries"},"activeTempControl":{"type":"boolean","description":"Filter to shipments in an active temperature-controlled container"},"pharmaQualifiedLane":{"type":"boolean","description":"Filter to shipments on a pharma-qualified lane"},"oversizeMainDeckOnly":{"type":"boolean","description":"Filter to oversize shipments built for a main deck"},"screeningStatus":{"type":"string","enum":["cleared","pending"],"description":"Exact security screening status to filter by"},"customsStatus":{"type":"string","enum":["released","held"],"description":"Exact customs release status to filter by"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_shipment","kind":"answer","impl":"imperative","description":"Get a single house shipment by id, together with the availability, cost, and recovered time of every remedy — and which rule blocks any that are not available.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"House shipment id, e.g. HAWB-70001"}},"required":["id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"propose_remedy","kind":"act","impl":"imperative","description":"Propose a remedy for shipments matching a filter. Without `remedy`, each shipment gets the cheapest remedy available to it — most get the free same-carrier rebook. With `remedy`, that specific remedy is applied only where it is not blocked; blocked rows are skipped and reported with the rule that blocked them. Where a proposed change carries a cost, the operator on shift is a gateway operator and may authorise up to €250 on one shipment; anything above that is referred to a duty manager and is not applied by this call. When the result's status is `partially_applied` or `denied`, do not retry the same call. Read `rejected`: each entry carries a reason and the exact ids it applies to. Propose a follow-up that addresses those reasons, restricted to those ids. An entry carrying `pending` is with a second person rather than refused; leave those ids out of the follow-up.","inputSchema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"},"description":"Exact shipment ids to target"},"customer":{"type":"string","description":"Exact customer name to filter by"},"consol":{"type":"string","description":"Exact consol id to filter by, e.g. CONSOL-A"},"slaTier":{"type":"string","enum":["premium","standard","basic"],"description":"Exact SLA tier to filter by"},"lithiumBattery":{"type":"boolean","description":"Filter to shipments carrying standalone lithium-ion batteries"},"activeTempControl":{"type":"boolean","description":"Filter to shipments in an active temperature-controlled container"},"pharmaQualifiedLane":{"type":"boolean","description":"Filter to shipments on a pharma-qualified lane"},"oversizeMainDeckOnly":{"type":"boolean","description":"Filter to oversize shipments built for a main deck"},"screeningStatus":{"type":"string","enum":["cleared","pending"],"description":"Exact security screening status to filter by"},"customsStatus":{"type":"string","enum":["released","held"],"description":"Exact customs release status to filter by"},"remedy":{"type":"string","enum":["rebook","competitor","truck"],"description":"Force this specific remedy instead of recommending the cheapest available one"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"notify_customers","kind":"transact","impl":"imperative","description":"Notify each distinct customer among shipments matching a filter about the disruption. Never eligible for standing-rule automation. Where a proposed change carries a cost, the operator on shift is a gateway operator and may authorise up to €250 on one shipment; anything above that is referred to a duty manager and is not applied by this call. When the result's status is `partially_applied` or `denied`, do not retry the same call. Read `rejected`: each entry carries a reason and the exact ids it applies to. Propose a follow-up that addresses those reasons, restricted to those ids. An entry carrying `pending` is with a second person rather than refused; leave those ids out of the follow-up.","inputSchema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"},"description":"Exact shipment ids to target"},"customer":{"type":"string","description":"Exact customer name to filter by"},"consol":{"type":"string","description":"Exact consol id to filter by, e.g. CONSOL-A"},"slaTier":{"type":"string","enum":["premium","standard","basic"],"description":"Exact SLA tier to filter by"},"lithiumBattery":{"type":"boolean","description":"Filter to shipments carrying standalone lithium-ion batteries"},"activeTempControl":{"type":"boolean","description":"Filter to shipments in an active temperature-controlled container"},"pharmaQualifiedLane":{"type":"boolean","description":"Filter to shipments on a pharma-qualified lane"},"oversizeMainDeckOnly":{"type":"boolean","description":"Filter to oversize shipments built for a main deck"},"screeningStatus":{"type":"string","enum":["cleared","pending"],"description":"Exact security screening status to filter by"},"customsStatus":{"type":"string","enum":["released","held"],"description":"Exact customs release status to filter by"},"message":{"type":"string"}},"required":["message"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Productivity & Business","favicon":"/favicons/ladder-webmcp.vercel.app.svg","apiSurface":"spec","toolCount":4}}