Install warp-agent-mcp from npm
Install exact version 0.19.3. No verified executable entrypoint is available, so use the package documentation to launch it.
npm install --save-exact warp-agent-mcp@0.19.3Quote, book, and track real LTL, FTL, cargo van, and box-truck freight through the Warp network - 20 tools, in-chat login, Stripe-charged bookings, and real carrier dispatch. Quoting is keyless; booking needs a free Warp account with a card on file
Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.
Install exact version 0.19.3. No verified executable entrypoint is available, so use the package documentation to launch it.
npm install --save-exact warp-agent-mcp@0.19.3| Canonical slug | warp-agent-mcp-cfa3b54f | Deployment | Local Only |
|---|---|---|---|
| Canonical package | npm:warp-agent-mcp | Repository | warpfreight/warp-agent-mcp |
| First published | Aug 10, 2026 | Latest release | Aug 10, 2026 |
| Last security verification | Sep 3, 2026 | Classification confidence | 90% |
| Publication | Published | Official distribution | Yes |
| Channel | Identifier | Current version | Versions | Source |
|---|---|---|---|---|
| npm | warp-agent-mcp | 0.19.3 | 5 | Repository |
| Package | Version | Published / observed | Inventory | Security scan |
|---|---|---|---|---|
| npmwarp-agent-mcp | 0.19.3Current | Sep 5, 2026 | 31 toolsSucceeded · 8 resources · 0 prompts | Verified clean |
Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.
| Provenance | artifact_hash_verified | Signature | — |
|---|---|---|---|
| MCP SDK | — | Artifact SHA-256 | 4c1c0749ef6cc421f731cdd68da19da18648fa617c9b458c1ea7269b847796f3 |
| Scanner | mcp-proof-engine 0.1.0 | Scan completed | Sep 3, 2026 |
| Security rating | — | Methodology | — |
| Tool | Category | Annotations | Risk |
|---|---|---|---|
analyticsSummarise your own shipping history: how many shipments, what you spent, and the split by mode, status and lane over a window. Aggregates the same bookings `list_bookings` returns, so an agent gets the answer in one call instead of pulling the list and adding it up. Auth required.Input schema{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"description": "How many of your most recent bookings to summarise (default 100, max 500)"
},
"group_by": {
"type": "string",
"enum": [
"mode",
"status",
"lane"
],
"description": "Which breakdown to lead with. All three are returned regardless; this only orders the response."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Summarise Shipping History",
"readOnlyHint": true
} | — | Read only | — |
automate_laneSet up a RECURRING weekly shipment (standing order): describe the lane once, and after the account owner approves by email, Warp re-quotes it fresh every week and books the best option automatically while the price stays at or under the owner's ceiling. Over-ceiling weeks book nothing and notify the owner. THIS TOOL ONLY PROPOSES — nothing books now, and nothing ever books without the owner's one-time email approval. Auth required.Input schema{
"type": "object",
"properties": {
"weekday": {
"type": "integer",
"minimum": 0,
"maximum": 6,
"description": "Pickup day each week: 0=Sunday … 6=Saturday"
},
"ceiling_usd": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100000,
"description": "Max auto-booked price per shipment in USD; above this the week books nothing and the owner is emailed"
},
"criteria": {
"type": "string",
"enum": [
"lowest_price",
"fastest_transit"
],
"description": "How to pick the winning option each week (default lowest_price)"
},
"label": {
"type": "string",
"maxLength": 80,
"description": "Human-readable lane label for the owner's emails, e.g. 'Ontario CA → Dallas TX, 6 pallets'"
},
"end_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Optional YYYY-MM-DD; the automation retires itself after the last pickup on or before this date"
},
"quote": {
"type": "object",
"properties": {
"origin_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP"
},
"destination_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP"
},
"pallets": {
"type": "integer",
"minimum": 1,
"description": "Pallet count"
},
"weight_lbs_per_pallet": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Weight per pallet in lbs"
}
},
"required": [
"origin_zip",
"destination_zip",
"pallets",
"weight_lbs_per_pallet"
],
"additionalProperties": true,
"description": "Lane payload re-quoted each run — same fields as the quote tools (add length_in/width_in/height_in and commodity for firm LTL pricing). pickup_date is set automatically each week"
},
"book": {
"type": "object",
"additionalProperties": {},
"description": "Booking payload used each run — same shape as the book tool's pickup/delivery addresses and contacts (patch.pickup, patch.delivery). quote_id and reference are set automatically each run"
}
},
"required": [
"weekday",
"ceiling_usd",
"quote",
"book"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Automate a Recurring Lane"
} | — | — | |
automation_receiptsAuthorization record for an automation's bookings: one entry per booking attempt showing the checks it passed at commit time against the owner's approval — same lane, price within ceiling, automation active, quote live — plus the shipment id it produced. Entries marked confirmation_required did NOT book autonomously; they fell back to owner confirmation. Read-only. Auth required.Input schema{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "automation token from automate_lane (so_…)"
}
},
"required": [
"token"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Automation Authorization Record",
"readOnlyHint": true
} | — | Read only | — |
batch_bookBook MANY already-quoted lanes in ONE call (sequential, one card charge per row). Use this after batch_quote when the user says "book all of them" or "book rows 1, 3, 5" — do NOT call book in a loop. Each row needs a quote_id (the same one batch_quote returned for that row). Pickup/delivery default to the shared addresses at the top level so a single warehouse → many destinations only needs one address pair. Returns a progress card showing per-row Booked/Failed status with tracking numbers.Input schema{
"type": "object",
"properties": {
"bookings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"quote_id": {
"type": "string",
"description": "Quote ID from a previous quote tool. Must be from THIS session — quote ids expire and rotate, so quote → book back-to-back."
},
"pickup": {
"type": "object",
"properties": {
"zipCode": {
"type": "string",
"pattern": "^\\d{5}$"
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"street": {
"type": "string"
},
"contactName": {
"type": "string"
},
"phone": {
"type": "string"
},
"email": {
"type": "string"
},
"specialInstruction": {
"type": "string"
}
},
"required": [
"zipCode",
"city",
"state",
"street",
"contactName",
"phone",
"email"
],
"additionalProperties": false,
"description": "Per-row pickup. Omit to inherit from shared_pickup."
},
"delivery": {
"type": "object",
"properties": {
"zipCode": {
"type": "string",
"pattern": "^\\d{5}$"
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"street": {
"type": "string"
},
"contactName": {
"type": "string"
},
"phone": {
"type": "string"
},
"email": {
"type": "string"
},
"specialInstruction": {
"type": "string"
}
},
"required": [
"zipCode",
"city",
"state",
"street",
"contactName",
"phone"
],
"additionalProperties": false,
"description": "Per-row delivery. Omit to inherit from shared_delivery."
},
"reference": {
"type": "string",
"description": "Per-row reference (PO #, order #). Falls back to shared_reference."
},
"notes": {
"type": "string",
"description": "Per-row special instructions. Falls back to shared_notes."
},
"accessorials": {
"type": "object",
"properties": {
"pickup": {
"type": "array",
"items": {
"type": "string"
}
},
"delivery": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false,
"description": "Per-row accessorials. Falls back to shared_accessorials."
},
"pickup_window": {
"type": "object",
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
}
},
"required": [
"from",
"to"
],
"additionalProperties": false
},
"delivery_window": {
"type": "object",
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
}
},
"required": [
"from",
"to"
],
"additionalProperties": false
}
},
"required": [
"quote_id"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 25,
"description": "Array of bookings to confirm (1-25). Each is one freight shipment, one card charge."
},
"shared_pickup": {
"type": "object",
"properties": {
"zipCode": {
"type": "string",
"pattern": "^\\d{5}$"
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"street": {
"type": "string"
},
"contactName": {
"type": "string"
},
"phone": {
"type": "string"
},
"email": {
"type": "string"
},
"specialInstruction": {
"type": "string"
}
},
"required": [
"zipCode",
"city",
"state",
"street",
"contactName",
"phone",
"email"
],
"additionalProperties": false,
"description": "Pickup address applied to every row that doesn't supply its own (FBA case: one warehouse → many destinations)."
},
"shared_delivery": {
"type": "object",
"properties": {
"zipCode": {
"type": "string",
"pattern": "^\\d{5}$"
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"street": {
"type": "string"
},
"contactName": {
"type": "string"
},
"phone": {
"type": "string"
},
"email": {
"type": "string"
},
"specialInstruction": {
"type": "string"
}
},
"required": [
"zipCode",
"city",
"state",
"street",
"contactName",
"phone"
],
"additionalProperties": false,
"description": "Delivery address applied to every row that doesn't supply its own. Uncommon (usually each row goes somewhere different)."
},
"shared_reference": {
"type": "string",
"description": "Reference applied to every row without its own."
},
"shared_notes": {
"type": "string",
"description": "Notes applied to every row without their own."
},
"shared_accessorials": {
"type": "object",
"properties": {
"pickup": {
"type": "array",
"items": {
"type": "string"
}
},
"delivery": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"shared_pickup_window": {
"type": "object",
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
}
},
"required": [
"from",
"to"
],
"additionalProperties": false
},
"shared_delivery_window": {
"type": "object",
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
}
},
"required": [
"from",
"to"
],
"additionalProperties": false
}
},
"required": [
"bookings"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Batch Book Shipments",
"destructiveHint": true
} | — | Destructive | — |
batch_quotePrice MANY lanes in ONE call (parallel, ~1-3s for typical spreadsheets). Use this WHENEVER the user gives you a spreadsheet, CSV, or list of multiple lanes to quote — do NOT call warp_*_quote in a loop. Returns a single batch-quote card with one row per lane (origin → dest · mode · pallets · price · transit). Each priced lane keeps its quote_id and can be booked individually with book ("book row 3").Input schema{
"type": "object",
"properties": {
"lanes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"ltl",
"ftl",
"van",
"box-truck"
],
"description": "Mode for this lane. Defaults to 'ltl'."
},
"origin_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP code"
},
"destination_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP code"
},
"pickup_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Pickup date YYYY-MM-DD (must not be in the past)"
},
"pallets": {
"type": "integer",
"minimum": 1,
"maximum": 26
},
"weight_lbs_per_pallet": {
"type": "number",
"minimum": 50,
"maximum": 5000
},
"commodity": {
"type": "string"
},
"length_in": {
"type": "number",
"exclusiveMinimum": 0
},
"width_in": {
"type": "number",
"exclusiveMinimum": 0
},
"height_in": {
"type": "number",
"exclusiveMinimum": 0
},
"freight_class": {
"type": "string"
},
"stackable": {
"type": "boolean"
},
"hazmat": {
"type": "boolean"
},
"pickup_services": {
"type": "array",
"items": {
"type": "string"
}
},
"delivery_services": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"origin_zip",
"destination_zip",
"pickup_date"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 50,
"description": "Array of lane requests (1-50). Each row maps to one quote."
}
},
"required": [
"lanes"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Batch Quote Lanes",
"readOnlyHint": true
} | — | Read only | — |
bookBook a quoted shipment using any quote_id or option id returned from a quote tool (Warp or market carrier). Requires quote_id + pickup and delivery addresses. Auth required.Input schema{
"type": "object",
"properties": {
"quote_id": {
"type": "string",
"description": "Quote ID from warp_quote_id (Warp) or id field of any market option returned by a quote tool. Use the id from your MOST RECENT quote — market-option ids rotate on every quote call and stale ids are rejected."
},
"pickup": {
"type": "object",
"properties": {
"zipCode": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit ZIP"
},
"city": {
"type": "string",
"description": "City name"
},
"state": {
"type": "string",
"description": "2-letter state code"
},
"street": {
"type": "string",
"description": "Street address"
},
"contactName": {
"type": "string",
"description": "Contact full name"
},
"phone": {
"type": "string",
"description": "Phone number"
},
"email": {
"type": "string",
"description": "Email address"
},
"specialInstruction": {
"type": "string",
"description": "Special instructions"
}
},
"required": [
"zipCode",
"city",
"state",
"street",
"contactName",
"phone",
"email"
],
"additionalProperties": false,
"description": "Pickup address. Required if no default shipper is saved on your account."
},
"delivery": {
"type": "object",
"properties": {
"zipCode": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit ZIP"
},
"city": {
"type": "string",
"description": "City name"
},
"state": {
"type": "string",
"description": "2-letter state code"
},
"street": {
"type": "string",
"description": "Street address"
},
"contactName": {
"type": "string",
"description": "Contact full name"
},
"phone": {
"type": "string",
"description": "Phone number"
},
"email": {
"type": "string",
"description": "Email address (optional — consignee email is often unknown)"
},
"specialInstruction": {
"type": "string",
"description": "Special instructions"
}
},
"required": [
"zipCode",
"city",
"state",
"street",
"contactName",
"phone"
],
"additionalProperties": false,
"description": "Delivery address. Required if this lane has not been shipped before."
},
"notes": {
"type": "string",
"description": "Special instructions for the shipment"
},
"reference": {
"type": "string",
"description": "Your internal reference number"
},
"accessorials": {
"type": "object",
"properties": {
"pickup": {
"type": "array",
"items": {
"type": "string"
},
"description": "Pickup accessorials: liftgate-pickup, residential-pickup, inside-pickup, limited-access-pickup, pickup-appointment"
},
"delivery": {
"type": "array",
"items": {
"type": "string"
},
"description": "Delivery accessorials: liftgate-delivery, residential-delivery, inside-delivery, limited-access-delivery, delivery-appointment"
}
},
"additionalProperties": false,
"description": "Pickup/delivery accessorial services. Should match the accessorials used when quoting."
},
"pickup_window": {
"type": "object",
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
}
},
"required": [
"from",
"to"
],
"additionalProperties": false,
"description": "Pickup time window, 24h HH:MM, e.g. { from: '08:00', to: '17:00' }. Defaults to a full business day if omitted."
},
"delivery_window": {
"type": "object",
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
}
},
"required": [
"from",
"to"
],
"additionalProperties": false,
"description": "Delivery time window, 24h HH:MM, e.g. { from: '09:00', to: '12:00' }. Defaults to a full business day if omitted."
}
},
"required": [
"quote_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Book Shipment",
"destructiveHint": true
} | — | Destructive | — |
box_truck_quoteQuote a 26' box truck shipment (1-12 pallets, firm price, 15-min expiry)Input schema{
"type": "object",
"properties": {
"origin_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP code"
},
"destination_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP code"
},
"pallets": {
"type": "integer",
"minimum": 1,
"maximum": 12,
"description": "Number of pallets (1-12)"
},
"weight_lbs_per_pallet": {
"type": "number",
"minimum": 50,
"maximum": 10000,
"description": "Weight per pallet in lbs"
},
"pickup_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Pickup date YYYY-MM-DD"
},
"commodity": {
"type": "string",
"description": "Commodity description"
},
"pickup_services": {
"type": "array",
"items": {
"type": "string"
},
"description": "Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup"
},
"delivery_services": {
"type": "array",
"items": {
"type": "string"
},
"description": "Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery"
}
},
"required": [
"origin_zip",
"destination_zip",
"pallets",
"weight_lbs_per_pallet",
"pickup_date"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Box Truck Quote",
"readOnlyHint": true
} | — | Read only | — |
compare_modesTHE ONE CALL for "what's the cheapest/best way to ship this?". Prices ALL FOUR freight modes (LTL / full truckload / cargo van / 26' box truck) in ONE keyless call to Warp's all-modes engine and returns a decision-complete recommendation: the winning mode, its rate, transit, a bookable quote_id, the trade-off math against the runner-up, and every mode that couldn't price (with the reason). Prefer this over calling the individual quote tools and comparing them yourself — one round trip, and modes Warp can't serve are returned as explicitly unavailable WITH the reason rather than being dropped, so there is never a silently shortened list to guess from. Dims are optional (a standard 48x40x48 pallet is assumed). Set benchmark_market:true to also rank Warp's rate against the live 30+ carrier market for the lane (adds ~15-25s) — that makes the answer decision-complete: the right mode AND whether the price is actually good. Quote-only: it never books. To book, pass the recommended quote_id to `book` after the user confirms.Input schema{
"type": "object",
"properties": {
"origin_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP code"
},
"destination_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP code"
},
"pickup_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Pickup date YYYY-MM-DD"
},
"pallets": {
"type": "integer",
"minimum": 1,
"maximum": 26,
"description": "Number of pallets (1-26)"
},
"weight_lbs_per_pallet": {
"type": "number",
"minimum": 50,
"maximum": 10000,
"description": "Weight per pallet in lbs"
},
"commodity": {
"type": "string",
"description": "Commodity description"
},
"length_in": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Pallet length in inches (defaults to 48)"
},
"width_in": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Pallet width in inches (defaults to 40)"
},
"height_in": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Pallet height in inches (defaults to 48)"
},
"freight_class": {
"type": "string",
"description": "Freight class (optional, FAK rates used if omitted)"
},
"stackable": {
"type": "boolean",
"description": "Whether pallets are stackable"
},
"hazmat": {
"type": "boolean",
"description": "Hazardous materials flag"
},
"pickup_services": {
"type": "array",
"items": {
"type": "string"
},
"description": "Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup"
},
"delivery_services": {
"type": "array",
"items": {
"type": "string"
},
"description": "Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery"
},
"priority": {
"type": "string",
"enum": [
"cheapest",
"fastest"
],
"description": "What to optimize the recommendation for. Defaults to 'cheapest'."
},
"benchmark_market": {
"type": "boolean",
"description": "Also benchmark Warp's rate against the live 30+ carrier LTL market for this lane. Makes the answer decision-complete (is this rate actually good?) but costs ~15-25s — the mode comparison alone returns in ~1-2s. Defaults to false."
}
},
"required": [
"origin_zip",
"destination_zip",
"pickup_date",
"pallets",
"weight_lbs_per_pallet"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Compare Freight Modes",
"readOnlyHint": true
} | — | Read only | — |
consolidateFind consolidation savings across 2-12 upcoming loads: clusters loads sharing an origin+destination zip whose pickup dates fall within window_days (default 3) that together fit one 53' dry van, then prices each cluster BOTH ways — one combined FTL vs the sum of per-load LTLs — through real quotes with bookable quote ids. Use when the user has several loads to ship this week, asks if anything can ride together, or wants to cut freight spend. Loads that can't consolidate come back with the reason (no lane partner / outside window / exceeds trailer / cluster full) — relay reasons honestly. A truck pricing above its LTLs is shown with recommended:false; don't hide it. To act on a proposal, call `book` with the consolidated truck's quote_id. Auth optional — works keyless like the quote tools.Input schema{
"type": "object",
"properties": {
"loads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"origin_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit origin ZIP"
},
"destination_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit destination ZIP"
},
"pickup_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD"
},
"pallets": {
"type": "integer",
"minimum": 1,
"maximum": 26
},
"weight_lbs_per_pallet": {
"type": "integer",
"minimum": 50,
"maximum": 5000
},
"ref": {
"type": "string",
"maxLength": 64,
"description": "Your reference (PO number, order id) — echoed back"
},
"length": {
"type": "number",
"description": "Pallet length in inches (real dims firm up LTL pricing)"
},
"width": {
"type": "number"
},
"height": {
"type": "number",
"description": "Pallet height in inches — LTL prices off height above all"
}
},
"required": [
"origin_zip",
"destination_zip",
"pickup_date",
"pallets",
"weight_lbs_per_pallet"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 12,
"description": "The loads you plan to ship"
},
"window_days": {
"type": "integer",
"minimum": 1,
"maximum": 7,
"description": "Loads picking up within this many days of each other may ride together (default 3)"
}
},
"required": [
"loads"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Find Consolidation Savings",
"readOnlyHint": true
} | — | Read only | — |
delete_load_templateDelete a saved load template by its id (starts with lt_). Auth required.Input schema{
"type": "object",
"properties": {
"load_template_id": {
"type": "string",
"description": "Template id to delete (starts with lt_)"
}
},
"required": [
"load_template_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Delete Load Template",
"destructiveHint": true
} | — | Destructive | — |
eventsGet the full tracking event history for a shipment (timeline of pickups, in-transit updates, deliveries). Auth required.Input schema{
"type": "object",
"properties": {
"shipment_id": {
"type": "string",
"description": "Shipment ID from book response"
}
},
"required": [
"shipment_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Shipment Events",
"readOnlyHint": true
} | — | Read only | — |
ftl_quoteQuote a full truckload (53' dry van). Only origin, destination, and date required.Input schema{
"type": "object",
"properties": {
"origin_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP code"
},
"destination_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP code"
},
"pickup_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Pickup date YYYY-MM-DD"
},
"pallets": {
"type": "integer",
"minimum": 1,
"maximum": 26,
"description": "Pallets (optional, display only)"
},
"weight_lbs_per_pallet": {
"type": "number",
"minimum": 50,
"maximum": 5000,
"description": "Weight per pallet (optional)"
},
"commodity": {
"type": "string",
"description": "Commodity description"
}
},
"required": [
"origin_zip",
"destination_zip",
"pickup_date"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Full Truckload Quote",
"readOnlyHint": true
} | — | Read only | — |
get_documentsList shipment documents (BOL, POD, customs forms, etc.). Returns download URLs. Auth required. To fetch the Bill of Lading, pass document_type='bol' — this is how EXTERNAL / brokered (market-carrier) BOLs are returned now, not just Warp-carrier ones.Input schema{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Order ID (typically the same as shipment_id)"
},
"document_type": {
"type": "string",
"description": "Filter to one document type. Common: 'bol' (Bill of Lading — required for external/market carrier BOLs), 'pod' (proof of delivery). Omit to list all documents."
}
},
"required": [
"order_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Shipment Documents",
"readOnlyHint": true
} | — | Read only | — |
get_invoiceRetrieve the invoice for a delivered shipment (line items, taxes, payment status). Auth required.Input schema{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Order ID (typically the same as shipment_id)"
}
},
"required": [
"order_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Invoice",
"readOnlyHint": true
} | — | Read only | — |
lane_historyGet shipping history for your lanes (past shipments, last consignee, counts). Auth required.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {}
}Annotations{
"title": "View Lane History",
"readOnlyHint": true
} | — | Read only | — |
list_bookingsList recent bookings for this API key, newest first. Auth required. Renders an interactive shipments card (click a shipment to expand pickup/delivery, freight, and a tracking link).Input schema{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Max bookings to return (default 25, max 100)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "List Bookings",
"readOnlyHint": true
} | — | Read only | — |
load_templatesList the agent's saved load templates — reusable shipment configs (name, dims, weight, commodity). Recall one to quote/book a repeat kind of load without re-entering details. Auth required.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {}
}Annotations{
"title": "List Load Templates",
"readOnlyHint": true
} | — | Read only | — |
locationsList the agent's saved pickup/delivery locations (addresses Warp has on file for this account), so you can reuse them when booking instead of re-typing addresses. Auth required.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {}
}Annotations{
"title": "List Saved Locations",
"readOnlyHint": true
} | — | Read only | — |
loginLog in to Warp with email and password. Saves credentials locally so booking tools work. Call this if the user needs to authenticate or if payment_status says no key is configured.Input schema{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"description": "Warp account email"
},
"password": {
"type": "string",
"minLength": 1,
"description": "Warp account password"
}
},
"required": [
"email",
"password"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Log In to Warp",
"readOnlyHint": false,
"destructiveHint": false
} | — | WritesNon-destructive | — |
ltl_market_optionsMulti-carrier LTL comparison — returns 30+ carrier rates ranked by price (slow, ~15s). Call IMMEDIATELY AFTER ltl_quote with the same parameters; this fills in the 'finding other carrier rates…' section the fast quote card was showing. Useful when the user wants to compare carriers or pick a specific one. Do not declare a winner or recommend a specific carrier; just present the ranked list.Input schema{
"type": "object",
"properties": {
"origin_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP code"
},
"destination_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP code"
},
"pickup_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Pickup date YYYY-MM-DD"
},
"pallets": {
"type": "integer",
"minimum": 1,
"maximum": 26,
"description": "Number of pallets"
},
"weight_lbs_per_pallet": {
"type": "number",
"minimum": 50,
"maximum": 5000,
"description": "Weight per pallet in lbs"
},
"commodity": {
"type": "string",
"description": "Commodity description"
},
"length_in": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Pallet length in inches"
},
"width_in": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Pallet width in inches"
},
"height_in": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Pallet height in inches"
},
"freight_class": {
"type": "string",
"description": "Freight class (optional, FAK rates used if omitted)"
},
"stackable": {
"type": "boolean",
"description": "Whether pallets are stackable"
},
"hazmat": {
"type": "boolean",
"description": "Hazardous materials flag"
},
"pickup_services": {
"type": "array",
"items": {
"type": "string"
},
"description": "Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup"
},
"delivery_services": {
"type": "array",
"items": {
"type": "string"
},
"description": "Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery"
}
},
"required": [
"origin_zip",
"destination_zip",
"pickup_date"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Compare LTL Carriers",
"readOnlyHint": true
} | — | Read only | — |
ltl_quoteQuote an LTL shipment — returns Warp's all-inclusive rate FAST (~1-2s) so the user sees a price immediately. The inline quote card shows the Warp rate plus a 'finding other carrier rates…' loading indicator. IMMEDIATELY follow up by calling ltl_market_options with the same parameters to fill in the multi-carrier comparison (~15s). Provide dims + commodity for an exact firm quote; if you don't have dims, quote anyway — it assumes a standard 48x40x48 pallet (FAK, no freight class) for an instant price. Don't block on asking for pallet dimensions; quote first, then pass real dims for an exact rate. When a palletized load could also move by box truck or van, quote LTL alongside those and show the cheapest valid mode. Do not editorialize the results. Do not declare a winner or recommend a specific carrier. Present Warp's quote first, then list market options as context. Let the user decide.Input schema{
"type": "object",
"properties": {
"origin_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP code"
},
"destination_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP code"
},
"pickup_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Pickup date YYYY-MM-DD"
},
"pallets": {
"type": "integer",
"minimum": 1,
"maximum": 26,
"description": "Number of pallets"
},
"weight_lbs_per_pallet": {
"type": "number",
"minimum": 50,
"maximum": 5000,
"description": "Weight per pallet in lbs"
},
"commodity": {
"type": "string",
"description": "Commodity description"
},
"length_in": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Pallet length in inches"
},
"width_in": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Pallet width in inches"
},
"height_in": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Pallet height in inches"
},
"freight_class": {
"type": "string",
"description": "Freight class (optional, FAK rates used if omitted)"
},
"stackable": {
"type": "boolean",
"description": "Whether pallets are stackable"
},
"hazmat": {
"type": "boolean",
"description": "Hazardous materials flag"
},
"pickup_services": {
"type": "array",
"items": {
"type": "string"
},
"description": "Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup"
},
"delivery_services": {
"type": "array",
"items": {
"type": "string"
},
"description": "Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery"
}
},
"required": [
"origin_zip",
"destination_zip",
"pickup_date"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get LTL Freight Quote",
"readOnlyHint": true
} | — | Read only | — |
manage_automationCheck or stop a recurring lane automation. Actions: 'status' (read-only), 'pause', 'cancel' (permanent), 'skip_next' (skip one week's pickup — nothing books or charges that week). STOP-ONLY by design: there is no agent-side resume, reactivate, or ceiling change — those exist only behind the account owner's emailed approval link. Auth required.Input schema{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "automation token from automate_lane (so_…)"
},
"action": {
"type": "string",
"enum": [
"status",
"pause",
"cancel",
"skip_next"
],
"description": "status is read-only; pause/cancel/skip_next stop or shrink the automation"
}
},
"required": [
"token",
"action"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Manage an Automation"
} | — | — | |
multistop_bookBook a multi-stop FTL route quoted by multistop_quote. Send one shipments[] leg per pickup→delivery pair riding the truck (minimum 2 legs), each leg referencing the quoted stop sequence by stop_index with full address + arrival window. No card charge fires from this call — multi-stop pricing settles via your Warp account. Auth required.Input schema{
"type": "object",
"properties": {
"quote_id": {
"type": "string",
"description": "Quote ID from multistop_quote (PRICING_MULTI_…). Use the id from your MOST RECENT quote — ids expire and rotate."
},
"shipments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pickup_info": {
"type": "object",
"properties": {
"stop_index": {
"type": "integer",
"minimum": 0,
"description": "Index into the quoted stop sequence: 0 = first pickup, then intermediate stops in order, last = final delivery. multistop_quote echoes the sequence as stop_sequence."
},
"address": {
"type": "object",
"properties": {
"street": {
"type": "string",
"description": "Street address"
},
"city": {
"type": "string",
"description": "City name"
},
"state": {
"type": "string",
"description": "2-letter state code"
},
"zipcode": {
"type": "string",
"description": "5-digit ZIP — must match the quoted stop's ZIP"
}
},
"required": [
"street",
"city",
"state",
"zipcode"
],
"additionalProperties": false,
"description": "Full address of this stop"
},
"window_time": {
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "Window open, ISO date-time, e.g. 2026-06-22T08:00:00.000Z"
},
"to": {
"type": "string",
"description": "Window close, ISO date-time, e.g. 2026-06-22T23:59:59.000Z"
}
},
"required": [
"from",
"to"
],
"additionalProperties": false,
"description": "Arrival window for this stop"
},
"contact_name": {
"type": "string",
"description": "Contact full name"
},
"contact_phone": {
"type": "string",
"description": "Contact phone"
},
"contact_email": {
"type": "string",
"description": "Contact email"
}
},
"required": [
"stop_index",
"address",
"window_time"
],
"additionalProperties": false,
"description": "Where this leg's freight gets picked up"
},
"delivery_info": {
"type": "object",
"properties": {
"stop_index": {
"$ref": "#/properties/shipments/items/properties/pickup_info/properties/stop_index"
},
"address": {
"$ref": "#/properties/shipments/items/properties/pickup_info/properties/address"
},
"window_time": {
"$ref": "#/properties/shipments/items/properties/pickup_info/properties/window_time"
},
"contact_name": {
"$ref": "#/properties/shipments/items/properties/pickup_info/properties/contact_name"
},
"contact_phone": {
"$ref": "#/properties/shipments/items/properties/pickup_info/properties/contact_phone"
},
"contact_email": {
"$ref": "#/properties/shipments/items/properties/pickup_info/properties/contact_email"
}
},
"required": [
"stop_index",
"address",
"window_time"
],
"additionalProperties": false,
"description": "Where this leg's freight gets dropped"
},
"list_items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Item label"
},
"quantity": {
"type": "integer",
"minimum": 1,
"description": "Piece count"
},
"packaging": {
"type": "string",
"description": "e.g. pallet"
},
"total_weight": {
"type": "number",
"description": "Total weight across the quantity in lbs (not per piece)"
},
"weight_unit": {
"type": "string",
"description": "Defaults to lbs"
},
"length": {
"type": "number",
"description": "Inches"
},
"width": {
"type": "number",
"description": "Inches"
},
"height": {
"type": "number",
"description": "Inches"
},
"size_unit": {
"type": "string",
"description": "Defaults to IN"
},
"stackable": {
"type": "boolean"
}
},
"required": [
"quantity",
"total_weight"
],
"additionalProperties": false
},
"minItems": 1,
"description": "Freight riding this leg"
}
},
"required": [
"pickup_info",
"delivery_info",
"list_items"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 20,
"description": "One leg per pickup→delivery pair (the gateway requires at least 2)"
}
},
"required": [
"quote_id",
"shipments"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Book Multi-stop FTL",
"destructiveHint": true
} | — | Destructive | — |
multistop_quoteQuote a multi-stop FTL route: ONE truck visits 3+ stops in order (first pickup → intermediate stops → final delivery). Use for milk runs, pool distribution, or multi-store replenishment on a single truck — for a simple A→B truckload use ftl_quote. Auth required (free account). Coverage is route-dependent — not every route has a rate yet.Input schema{
"type": "object",
"properties": {
"pickup_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit ZIP of the first pickup stop"
},
"stop_zips": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d{5}$"
},
"minItems": 1,
"maxItems": 10,
"description": "5-digit ZIPs of the intermediate stops, in route order (at least 1)"
},
"delivery_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit ZIP of the final delivery stop"
},
"pickup_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Pickup date YYYY-MM-DD"
},
"pallets": {
"type": "integer",
"minimum": 1,
"maximum": 26,
"description": "Total pallets riding the route (default 1)"
},
"total_weight_lbs": {
"type": "number",
"minimum": 50,
"maximum": 44000,
"description": "Total weight across all freight in lbs (default 500 per pallet)"
},
"vehicle_type": {
"type": "string",
"description": "Vehicle code (default DRY_VAN_53)"
},
"commodity": {
"type": "string",
"description": "Commodity description"
}
},
"required": [
"pickup_zip",
"stop_zips",
"delivery_zip",
"pickup_date"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Multi-stop FTL Quote",
"readOnlyHint": true
} | — | Read only | — |
payment_statusCheck if the current Warp account has a payment method on file. Call this if the user asks about their payment status, or before booking if you want to confirm they can book. Returns has_card and onboard_url if a card needs to be added.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {}
}Annotations{
"title": "Check Payment Status",
"readOnlyHint": true
} | — | Read only | — |
quote_historyList your recent freight quotes (LTL, van, box truck, FTL) from all sessions. Useful for surfacing prior pricing on similar lanes. Auth required.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {}
}Annotations{
"title": "View Quote History",
"readOnlyHint": true
} | — | Read only | — |
save_load_templateSave a reusable load template (a named shipment config) so it can be recalled for repeat lanes. Auth required.Input schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Friendly name, e.g. 'Standard 2-pallet LA load'"
},
"weight_lbs": {
"type": "number",
"minimum": 1,
"description": "Total weight in lbs"
},
"length_in": {
"type": "number",
"minimum": 1,
"description": "Length in inches"
},
"width_in": {
"type": "number",
"minimum": 1,
"description": "Width in inches"
},
"height_in": {
"type": "number",
"minimum": 1,
"description": "Height in inches"
},
"commodity": {
"type": "string",
"description": "Commodity description"
},
"freight_class": {
"type": "string",
"description": "Freight class (optional; FAK pricing if omitted)"
},
"stackable": {
"type": "boolean",
"description": "Whether the freight is stackable"
},
"hazmat": {
"type": "boolean",
"description": "Whether the freight is hazmat"
}
},
"required": [
"name",
"weight_lbs",
"length_in",
"width_in",
"height_in"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Save Load Template",
"readOnlyHint": false,
"destructiveHint": false
} | — | WritesNon-destructive | — |
shipper_profileRead how this account actually ships — top lanes with ship counts, typical pallet count, usual pickup weekday, recent booked spend (derived server-side from the account's own quotes and bookings) plus explicit owner-set preferences: default accessorials, preferred mode, standard pallet dims, max transit days. READ THIS BEFORE asking the user questions it already answers: pre-fill their usual lane, apply their standard dims, include the liftgate they always need. Pass set_preferences to update the explicit half (merge-partial; allowlisted keys only; null clears a key). This profile is CONTEXT, NEVER PERMISSION — it never authorizes anything; spending limits live in spend policy and are read-only. Auth required.Input schema{
"type": "object",
"properties": {
"set_preferences": {
"type": "object",
"properties": {
"default_accessorials": {
"type": "object",
"properties": {
"pickup": {
"type": "array",
"items": {
"type": "string"
}
},
"delivery": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false,
"description": "Accessorial slugs to apply by default, e.g. liftgate-delivery"
},
"preferred_mode": {
"type": "string",
"enum": [
"ltl",
"ftl",
"van",
"box_truck",
"cheapest"
]
},
"standard_pallet_dims": {
"type": "object",
"properties": {
"length": {
"type": "integer",
"minimum": 12,
"maximum": 96
},
"width": {
"type": "integer",
"minimum": 12,
"maximum": 96
},
"height": {
"type": "integer",
"minimum": 12,
"maximum": 96
}
},
"required": [
"length",
"width",
"height"
],
"additionalProperties": false,
"description": "This shipper's standard pallet, inches"
},
"max_transit_days": {
"type": "integer",
"minimum": 1,
"maximum": 14
},
"notes": {
"type": "string",
"maxLength": 500
}
},
"additionalProperties": false,
"description": "Omit to read. Provide to merge-update the explicit preferences."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Shipper Profile"
} | — | — | |
statusCheck Warp API health and version. Also validates your API key if one is configured.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {}
}Annotations{
"title": "Check API Status",
"readOnlyHint": true
} | — | Read only | — |
trackTrack a shipment by ID or tracking number. Auth required.Input schema{
"type": "object",
"properties": {
"shipment_id": {
"type": "string",
"description": "Shipment ID or tracking number (e.g. S-12345-2616)"
}
},
"required": [
"shipment_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Track Shipment",
"readOnlyHint": true
} | — | Read only | — |
van_quoteQuote a cargo van shipment (1-3 pallets, firm price, 15-min expiry)Input schema{
"type": "object",
"properties": {
"origin_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP code"
},
"destination_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "5-digit US ZIP code"
},
"pallets": {
"type": "integer",
"minimum": 1,
"maximum": 3,
"description": "Number of pallets (1-3)"
},
"weight_lbs_per_pallet": {
"type": "number",
"minimum": 50,
"maximum": 3500,
"description": "Weight per pallet in lbs"
},
"pickup_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Pickup date YYYY-MM-DD"
},
"commodity": {
"type": "string",
"description": "Commodity description"
},
"pickup_services": {
"type": "array",
"items": {
"type": "string"
},
"description": "Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup"
},
"delivery_services": {
"type": "array",
"items": {
"type": "string"
},
"description": "Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery"
}
},
"required": [
"origin_zip",
"destination_zip",
"pallets",
"weight_lbs_per_pallet",
"pickup_date"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Cargo Van Quote",
"readOnlyHint": true
} | — | Read only | — |
ui://warp/batch-book-cardInline batch-book progress card shown after batch_book. Renders N bookings in a single card with per-row Booked/Failed pills, tracking numbers, and click-to-expand detail (tracking_url, order_id, amount charged).
ui://warp/batch-book-card.mcpInline batch-book progress card (MCP Apps) shown after batch_book. Single card, N rows, one booking status per row.
ui://warp/batch-quote-cardInline batch-quote card shown after batch_quote. Renders N priced lanes in a single scrollable card; click a row to expand its quote_id + transit + delivery for booking.
ui://warp/batch-quote-card.mcpInline batch-quote card (MCP Apps) shown after batch_quote. Single card, N rows, one price per lane.
ui://warp/bookings-cardInline shipments card shown after list_bookings. Lists shipments as clickable rows; each expands to pickup/delivery detail, freight, and a Track shipment deep-link.
ui://warp/bookings-card.mcpInline shipments card (MCP Apps) shown after list_bookings. Clickable shipment rows expand to full detail with a Track shipment deep-link.
ui://warp/quote-cardInline quote card shown after van_quote / box_truck_quote / ftl_quote / ltl_quote. Renders rate, lane, transit, expiration countdown, and a Book CTA.
ui://warp/quote-card.mcpInline quote card (MCP Apps) shown after van_quote / box_truck_quote / ftl_quote / ltl_quote. Renders rate, lane, transit, expiration, and a Book CTA.
| Endpoint | Transport | Authentication | Health | Observed |
|---|---|---|---|---|
| No verified remote endpoint is linked. | ||||
Install the selected package version with: npm install --save-exact warp-agent-mcp@0.19.3
warp-agent-mcp Server exposed 31 tools during independent protocol observation, including analytics, automate_lane, automation_receipts, batch_book, batch_quote, book, box_truck_quote, compare_modes, and others.
Our scanner tested version 0.19.3 without proving a finding in the methods exercised. This is not a guarantee that every deployment is secure.
Curated product and capability guides containing this catalog record.