io.github.warpfreight/warp-agent-mcp
REMOTE · MCP.WEAREWARP.COM · 2 COMPONENTS
Quote, book, and track LTL, FTL, cargo van, and box-truck freight via the Warp API.
Available components
Last scanned (1 hour ago)
Scores higher than 84% of remote servers
Reachable. Last reached 5 Nov 2026.
Category E-commerce
Recent critical change
Authorization (29 Sept 2026). See the changelog before you install this server.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (book). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability80
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 7815 tokens (~156/item across 50 items; 42 tools + 8 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
- Stability check failed: schema churn in the 30 days we've observed: 1 tool removals, 0 breaking changes, 0 auth/transport breaks, 8 additions. See how to fix → Fail
Tool Coverage99
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 97% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 43 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Nov 26 0
- Server version: 0.25.0 → 0.25.1 functional
- 2 Nov 26 0
- Server version: 0.24.0 → 0.25.0 functional
- New tool “international_duty_estimate” functional
- New tool “hs_code_search” functional
- 31 Oct 26 0
- Tool “international_book” rewrote its description, which is the text the model reads security
- Tool “international_customs” rewrote its description, which is the text the model reads security
- Tool “international_quote” rewrote its description, which is the text the model reads security
- Server version: 0.23.0 → 0.24.0 functional
- “international_quote” added an optional parameter “containers” cosmetic
- “international_quote” added an optional parameter “volume” cosmetic
- “international_book” added an optional parameter “customs” cosmetic
- “international_customs” added an optional parameter “customs” cosmetic
- “international_quote” reworded the description of “items” cosmetic
- “international_book” reworded the description of “delivery” cosmetic
- “international_book” reworded the description of “international_info” cosmetic
- “international_book” reworded the description of “items” cosmetic
- “international_book” reworded the description of “pickup” cosmetic
- “international_customs” reworded the description of “update” cosmetic
- “international_book” made “items” optional cosmetic
- “international_quote” made “items” optional cosmetic
- 30 Oct 26 0
- New tool “international_customs”, which the server declares destructive security
- New tool “international_book”, which the server declares destructive security
- Schema quality: 6431 → 7134 ▼ functional
- Server version: 0.22.0 → 0.23.0 functional
- New tool “international_quote” functional
- New tool “international_settings” functional
- 29 Oct 26 0
- Stability: 0.97 → fail ▼ security
- A breaking change shipped without a version bump: still 0.22.0 ▼ security
- Tool “login” was removed ▼ security
- 28 Oct 26 0
- Stability: fail → 0.97 functional
- 17 Oct 26 0
- New tool “parcel_book”, which the server declares destructive security
- Server version: 0.21.0 → 0.22.0 functional
- New tool “parcel_quote” functional
- 3 Oct 26 81
- Server version: 0.20.1 → 0.21.0 functional
- New tool “price_check” functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://mcp.wearewarp.com/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.wearewarp.com | CN=YR1,O=Let's Encrypt,C=US | 6 Oct 2026 | 4 Jan 2027 | RSA 2048 | SHA256-RSA | 5a5c5bd0e1bc041dbd9209f827a32c23a32 |
| SANs: mcp.wearewarp.com | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.wearewarp.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| wearewarp.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.wearewarp.com/api/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.wearewarp.com/api/mcp | HTTPS enforced | 308 | https://mcp.wearewarp.com/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
analytics Summarise Shipping History ~124
Summarise your own shipping history: how many bookings, what you spent, and the split by mode, status and lane over a window. Both the headline count and every breakdown are computed from ONE population — your bookings via the agent API (warp-site /bookings) — so the total always matches the splits. Auth required.
| Name | Type | Req | Description |
|---|---|---|---|
| group_by | string | – | Which breakdown to lead with. All three are returned regardless; this only orders the response. |
| limit | integer | – | How many of your most recent bookings to summarise (default 100, max 500) |
No output schema declared.
No examples provided.
automate_lane Automate a Recurring Lane ~312
Set 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.
| Name | Type | Req | Description |
|---|---|---|---|
| book | object | yes | 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 |
| ceiling_usd | number | yes | Max auto-booked price per shipment in USD; above this the week books nothing and the owner is emailed |
| criteria | string | – | How to pick the winning option each week (default lowest_price) |
| end_date | string | – | Optional YYYY-MM-DD; the automation retires itself after the last pickup on or before this date |
| label | string | – | Human-readable lane label for the owner's emails, e.g. 'Ontario CA → Dallas TX, 6 pallets' |
| quote | object | yes | 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 |
| weekday | integer | yes | Pickup day each week: 0=Sunday … 6=Saturday |
No output schema declared.
No examples provided.
automation_receipts Automation Authorization Record ~94
Authorization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| token | string | yes | automation token from automate_lane (so_…) |
No output schema declared.
No examples provided.
batch_book Batch Book Shipments ~278
Book 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.
| Name | Type | Req | Description |
|---|---|---|---|
| bookings | array | yes | Array of bookings to confirm (1-25). Each is one freight shipment, one card charge. |
| shared_accessorials | object | – | – |
| shared_delivery | object | – | Delivery address (all fields incl. contact phone and email) applied to every row that doesn't supply its own. Uncommon (usually each row goes somewhere different). |
| shared_delivery_window | object | – | – |
| shared_notes | string | – | Notes applied to every row without their own. |
| shared_pickup | object | – | Pickup address applied to every row that doesn't supply its own (FBA case: one warehouse → many destinations). |
| shared_pickup_window | object | – | – |
| shared_reference | string | – | Reference applied to every row without its own. |
No output schema declared.
No examples provided.
batch_quote Batch Quote Lanes ~141
Price up to 50 lanes in one call for a specified mode per row (defaults to LTL). This returns a Warp rate per row, NOT all-mode or all-carrier comparison. For Compare All use compare_modes per shipment; for LTL carrier alternatives use ltl_market_options. Never imply this tool compared every carrier. 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").
| Name | Type | Req | Description |
|---|---|---|---|
| lanes | array | yes | Array of lane requests (1-50). Each row maps to one quote. |
No output schema declared.
No examples provided.
book Book Shipment ~349
Book a quoted shipment using any quote_id or option id returned from a quote tool (Warp or market carrier). Requires quote_id and the full delivery address with the delivery contact's name, phone and email, every time. Pickup can be omitted only when a default shipper is saved on the account. Collect any missing delivery details from the user BEFORE calling. Auth required.
| Name | Type | Req | Description |
|---|---|---|---|
| accessorials | object | – | Pickup/delivery accessorial services. Should match the accessorials used when quoting. |
| delivery | object | yes | Delivery address and delivery contact. Required on every booking, with every field: street, city, state, ZIP, contact name, phone and email. Warp never fills delivery from past shipments. Ask the use… |
| delivery_window | object | – | Delivery time window, 24h HH:MM, e.g. { from: '09:00', to: '12:00' }. Defaults to a full business day if omitted. |
| notes | string | – | Special instructions for the shipment |
| pickup | object | – | Pickup address. Required if no default shipper is saved on your account. |
| pickup_window | object | – | Pickup time window, 24h HH:MM, e.g. { from: '08:00', to: '17:00' }. Defaults to a full business day if omitted. |
| quote_id | string | yes | 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 r… |
| reference | string | – | Your internal reference number |
No output schema declared.
No examples provided.
box_truck_quote Get Box Truck Quote ~250
Quote a 26' box truck shipment (1-12 pallets, firm price)
| Name | Type | Req | Description |
|---|---|---|---|
| commodity | string | – | Commodity description |
| delivery_services | array | – | Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery |
| destination_zip | string | yes | 5-digit US ZIP code |
| height_in | number | – | Per-pallet height in inches (defaults to 48) |
| length_in | number | – | Per-pallet length in inches (defaults to 48) |
| origin_zip | string | yes | 5-digit US ZIP code |
| pallets | integer | yes | Number of pallets (1-12) |
| pickup_date | string | yes | Pickup date YYYY-MM-DD |
| pickup_services | array | – | Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup |
| weight_lbs_per_pallet | number | yes | Weight per pallet in lbs |
| width_in | number | – | Per-pallet width in inches (defaults to 40) |
No output schema declared.
No examples provided.
compare_freight_costs Compare Freight Costs Against Evidence ~82
Calculate USD cost differences for up to 50 distinct shipments using supplied invoice/quote amounts and explicit comparability evidence. Excludes mismatched or unknown terms, keeps losses, separates quoted opportunities from invoice differences. Does not fetch rates, verify documents, annualize savings, or book. One candidate per shipment per call.
| Name | Type | Req | Description |
|---|---|---|---|
| rows | array | yes | – |
No output schema declared.
No examples provided.
compare_modes Compare Freight Modes ~584
THE 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.
| Name | Type | Req | Description |
|---|---|---|---|
| benchmark_market | boolean | – | 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 return… |
| commodity | string | – | Commodity description |
| delivery_services | array | – | Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery |
| destination_zip | string | yes | 5-digit US ZIP code |
| freight_class | string | – | Freight class (optional, FAK rates used if omitted) |
| hazmat | boolean | – | Hazardous materials flag |
| height_in | number | – | Pallet height in inches (defaults to 48) |
| length_in | number | – | Pallet length in inches (defaults to 48) |
| origin_zip | string | yes | 5-digit US ZIP code |
| pallets | integer | yes | Number of pallets (1-26) |
| pickup_date | string | yes | Pickup date YYYY-MM-DD |
| pickup_services | array | – | Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup |
| priority | string | – | What to optimize the recommendation for. Defaults to 'cheapest'. |
| stackable | boolean | – | Whether pallets are stackable |
| weight_lbs_per_pallet | number | yes | Weight per pallet in lbs |
| width_in | number | – | Pallet width in inches (defaults to 40) |
No output schema declared.
No examples provided.
consolidate Find Consolidation Savings ~217
Find 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.
| Name | Type | Req | Description |
|---|---|---|---|
| loads | array | yes | The loads you plan to ship |
| window_days | integer | – | Loads picking up within this many days of each other may ride together (default 3) |
No output schema declared.
No examples provided.
delete_load_template Delete Load Template ~43
Delete a saved load template by its id (starts with lt_). Auth required.
| Name | Type | Req | Description |
|---|---|---|---|
| load_template_id | string | yes | Template id to delete (starts with lt_) |
No output schema declared.
No examples provided.
events Get Shipment Events ~44
Get the full tracking event history for a shipment (timeline of pickups, in-transit updates, deliveries). Auth required.
| Name | Type | Req | Description |
|---|---|---|---|
| shipment_id | string | yes | Shipment ID from book response |
No output schema declared.
No examples provided.
freight_workflow Start a Freight Review ~78
Get a ready-to-use shipment intake CSV header, results CSV header, and starter prompt for shipment quoting, weekly freight comparison, or invoice review. Guidance only: does not read files, fetch rates, schedule work, or book. Use this when an operator asks how to start or supplies invoices/a shipment sheet.
| Name | Type | Req | Description |
|---|---|---|---|
| workflow | string | yes | – |
No output schema declared.
No examples provided.
ftl_quote Get Full Truckload Quote ~110
Quote a full truckload (53' dry van). Only origin, destination, and date required.
| Name | Type | Req | Description |
|---|---|---|---|
| commodity | string | – | Commodity description |
| destination_zip | string | yes | 5-digit US ZIP code |
| origin_zip | string | yes | 5-digit US ZIP code |
| pallets | integer | – | Pallets (optional, display only) |
| pickup_date | string | yes | Pickup date YYYY-MM-DD |
| weight_lbs_per_pallet | number | – | Weight per pallet (optional) |
No output schema declared.
No examples provided.
get_documents Get Shipment Documents ~137
List 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.
| Name | Type | Req | Description |
|---|---|---|---|
| document_type | string | – | 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. |
| order_id | string | yes | Order ID (typically the same as shipment_id) |
No output schema declared.
No examples provided.
get_invoice Get Invoice ~44
Retrieve the invoice for a delivered shipment (line items, taxes, payment status). Auth required.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | Order ID (typically the same as shipment_id) |
No output schema declared.
No examples provided.
hs_code_search Customs Code Search (HTS / Schedule B) ~193
Find the customs code for a product: 10-digit HTS codes for goods imported into the US, or Schedule B codes for US exports (origin US). Search by short keywords as the official tariff wording uses them (e.g. 'chairs', 'seats', 'cotton t-shirts', 'bolts'), not marketing names; one or two words work best, and a code prefix (e.g. '9401') lists the codes under it. Show the user the matches and let them pick; the code they ship under is their call. Free, no account needed.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Matches to return, default 10 |
| origin | string | yes | ISO alpha-2 country the freight ships FROM: 'US' for an export (Schedule B), the supplier's country for an import (HTS) |
| query | string | yes | Product keywords or the start of a code |
No output schema declared.
No examples provided.
international_book Book International (Air / Ocean) ~384
Book an option from international_quote. Requires the option_id the user chose (before its valid_until), full pickup and delivery addresses with company, contact name, phone in international format and email, a pickup window, and the items exactly as quoted (omit items when the quote used containers or volume). For door_to_port and port_to_door options, set port_charges_acknowledged only after the user has accepted that charges at the far port are extra. Customs: collect what you can in customs (hazmat confirmation, commodity lines with Schedule B / HTS / HS code, value, country of origin, tax ids, EEI choice for US exports); anything missing can be added later with international_customs, and the forwarder follows up for it. The incoterm and direction are set from the route. An international booking cannot be cancelled through the API (cancellations go to Warp support), so only call after the user explicitly confirms this option and price. Payment follows the account (terms, balance or card); if a payment_link comes back, the order is held until the user pays there. Auth required.
| Name | Type | Req | Description |
|---|---|---|---|
| customs | object | – | Customs data. Send what the user has; the rest can follow with international_customs. |
| delivery | object | yes | Delivery address and contact (the consignee) |
| international_info | object | – | Advanced: raw fields in gw's internationalInfo shape, merged over customs |
| items | array | – | The items exactly as quoted. Omit when the quote used containers or volume. |
| option_id | string | yes | option_id the user chose, from your MOST RECENT international_quote |
| pickup | object | yes | Pickup address and contact (the shipper) |
| port_charges_acknowledged | boolean | – | true once the user accepts far-port charges (door_to_port / port_to_door only) |
No output schema declared.
No examples provided.
international_customs International Customs Data ~164
Read, or add to, the customs data on a booked international order: hazmat confirmation, tax ids, importer or exporter of record, commodities (Schedule B / HTS / HS codes, values, country of origin), EEI authorization or ITN, ISF. Omit customs and update to read what is saved, including what is still missing. Pass customs to merge fields in; the forwarder is notified, invalid optional values come back in warnings, and sanctioned parties are rejected. Auth required.
| Name | Type | Req | Description |
|---|---|---|---|
| customs | object | – | Customs fields to add or correct |
| order_id | string | yes | Order id or order number (P-xxxxx-xxxx) |
| update | object | – | Advanced: raw fields in gw's internationalInfo shape, merged over customs |
No output schema declared.
No examples provided.
international_duty_estimate Estimate US Import Duties ~184
Estimate US import duties in dollars for the goods on an international shipment, per commodity line, from current tariff rates (base HTS rate plus Section 301 / 232 and other chapter 99 measures). Each line needs a 10-digit HTS code (find it with hs_code_search), the country the goods were made in, and the line's declared value in USD. US imports only. It is an ESTIMATE, not a customs ruling: say so, and say it excludes the merchandise processing fee, harbor maintenance fee, broker fees and any per-unit duty it flags. Use it with international_quote to give the user a landed cost (freight + duty). Auth required; each account has a daily cap.
| Name | Type | Req | Description |
|---|---|---|---|
| lines | array | yes | One line per kind of goods |
| mode | string | yes | How the goods arrive: ocean or air |
No output schema declared.
No examples provided.
international_quote Get International Rates (Air / Ocean) ~362
Air, ocean and US / Mexico cross-border truck rates for a shipment with at least one end outside the US / Canada (import, export, or between two other countries). Describe the cargo ONE way: items (pallets / pieces with dimensions), containers (ocean full container load: 20'DV, 40'DV, 40'HC), or volume (total cubic feet when piece sizes are unknown). Returns every option: mode (AIR / OCEAN / TRUCK), service (LCL, FCL, STANDARD, EXPRESS, ...), door service (door_to_door, door_to_port, port_to_door), price, transit days, ports and how long the rate is valid. door_to_port and port_to_door prices do NOT include charges at the far port; tell the user that plainly, and the user must accept those charges before booking. Not served: hazardous materials, sanctioned countries, and pickup and delivery in the same non-US country. Pricing runs live and can take up to a minute; if it times out, retry once. For domestic US freight use compare_modes or ltl_quote instead. Book the user's chosen option with international_book. Requires a signed-in Warp account.
| Name | Type | Req | Description |
|---|---|---|---|
| containers | array | – | Ocean full container load (FCL), up to 30 containers. Use this OR items OR volume. |
| destination | object | yes | Delivery location |
| items | array | – | Pallets / pieces, one entry per group of identical units. Use this OR containers OR volume. |
| origin | object | yes | Pickup location |
| pickup_date | string | yes | YYYY-MM-DD |
| volume | object | – | Loose cargo by total volume when piece sizes are unknown. Use this OR items OR containers. |
No output schema declared.
No examples provided.
international_settings International Settings ~97
Whether international (Air / Ocean) shipping is enabled on the user's Warp account, which door services it offers, and the rules for a destination or origin country (postal code required or not, how locations are given). Pass country to get that country's rules; omit it for the account settings and the list of blocked countries. Requires a signed-in Warp account.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | – | ISO alpha-2 code of the country to look up |
No output schema declared.
No examples provided.
lane_history View Lane History ~27
Get shipping history for your lanes (past shipments, last consignee, counts). Auth required.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_bookings List Bookings ~107
List recent bookings for this API key, newest first. Returns shipments across all channels and all time, including cancelled — a broader population than shipper_profile's counts (agent-API bookings over the last 180 days, excluding cancelled), so the totals can differ. Auth required. Renders an interactive shipments card (click a shipment to expand pickup/delivery, freight, and a tracking link).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max bookings to return (default 25, max 100) |
No output schema declared.
No examples provided.
load_templates List Load Templates ~47
List 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 present but exposes no named parameters.
No output schema declared.
No examples provided.
locations List Saved Locations ~43
List 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 present but exposes no named parameters.
No output schema declared.
No examples provided.
ltl_market_options Compare LTL Carriers ~343
Multi-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.
| Name | Type | Req | Description |
|---|---|---|---|
| commodity | string | – | Commodity description |
| delivery_services | array | – | Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery |
| destination_zip | string | yes | 5-digit US ZIP code |
| freight_class | string | – | Freight class (optional, FAK rates used if omitted) |
| hazmat | boolean | – | Hazardous materials flag |
| height_in | number | – | Pallet height in inches |
| length_in | number | – | Pallet length in inches |
| origin_zip | string | yes | 5-digit US ZIP code |
| pallets | integer | – | Number of pallets |
| pickup_date | string | yes | Pickup date YYYY-MM-DD |
| pickup_services | array | – | Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup |
| stackable | boolean | – | Whether pallets are stackable |
| weight_lbs_per_pallet | number | – | Weight per pallet in lbs |
| width_in | number | – | Pallet width in inches |
No output schema declared.
No examples provided.
ltl_quote Get LTL Freight Quote ~455
Quote 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.
| Name | Type | Req | Description |
|---|---|---|---|
| commodity | string | – | Commodity description |
| delivery_services | array | – | Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery |
| destination_zip | string | yes | 5-digit US ZIP code |
| freight_class | string | – | Freight class (optional, FAK rates used if omitted) |
| hazmat | boolean | – | Hazardous materials flag |
| height_in | number | – | Pallet height in inches |
| length_in | number | – | Pallet length in inches |
| origin_zip | string | yes | 5-digit US ZIP code |
| pallets | integer | – | Number of pallets |
| pickup_date | string | yes | Pickup date YYYY-MM-DD |
| pickup_services | array | – | Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup |
| stackable | boolean | – | Whether pallets are stackable |
| weight_lbs_per_pallet | number | – | Weight per pallet in lbs |
| width_in | number | – | Pallet width in inches |
No output schema declared.
No examples provided.
manage_automation Manage an Automation ~126
Check 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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | status is read-only; pause/cancel/skip_next stop or shrink the automation |
| token | string | yes | automation token from automate_lane (so_…) |
No output schema declared.
No examples provided.
multistop_book Book Multi-stop FTL ~138
Book 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.
| Name | Type | Req | Description |
|---|---|---|---|
| quote_id | string | yes | Quote ID from multistop_quote (PRICING_MULTI_…). Use the id from your MOST RECENT quote — ids expire and rotate. |
| shipments | array | yes | One leg per pickup→delivery pair (the gateway requires at least 2) |
No output schema declared.
No examples provided.
multistop_quote Get Multi-stop FTL Quote ~227
Quote 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.
| Name | Type | Req | Description |
|---|---|---|---|
| commodity | string | – | Commodity description |
| delivery_zip | string | yes | 5-digit ZIP of the final delivery stop |
| pallets | integer | – | Total pallets riding the route (default 1) |
| pickup_date | string | yes | Pickup date YYYY-MM-DD |
| pickup_zip | string | yes | 5-digit ZIP of the first pickup stop |
| stop_zips | array | yes | 5-digit ZIPs of the intermediate stops, in route order (at least 1) |
| total_weight_lbs | number | – | Total weight across all freight in lbs (default 500 per pallet) |
| vehicle_type | string | – | Vehicle code (default DRY_VAN_53) |
No output schema declared.
No examples provided.
parcel_book Book Parcel (FedEx) ~240
Book a FedEx parcel option from parcel_quote. Requires the quote_id the user chose and the full delivery address with contact name and phone; pickup can be omitted only when a default shipper is saved. ZIPs must match the quote. The packages are the ones quoted (not resent). Charges the account like book does (terms accounts are billed on terms; others pay from the Warp balance, with the saved card covering any shortfall). Only call after the user explicitly confirms this option and price. Auth required.
| Name | Type | Req | Description |
|---|---|---|---|
| delivery | object | yes | Delivery address and contact, every required field |
| delivery_window | object | – | Local delivery window, 24h HH:MM. Defaults to 08:00-20:00. |
| pickup | object | – | Pickup address. Required if no default shipper is saved. |
| pickup_window | object | – | Local pickup window, 24h HH:MM. Defaults to 08:00-20:00. |
| quote_id | string | yes | quote_id of the option the user chose, from your MOST RECENT parcel_quote |
| reference | string | – | Your reference (PO, order number) |
No output schema declared.
No examples provided.
parcel_quote Get Parcel Rates (FedEx) ~216
FedEx parcel rates for small packages (boxes, not pallets), US domestic ZIPs. Returns every FedEx option for the lane, cheapest first: each service level (Ground, Express Saver, 2Day, Overnight, ...) once per pickup type. pickup_type 'fedex_pickup' means FedEx collects at the pickup address; 'dropoff' means someone takes the package to a FedEx location. Show the user the options (including which are drop-off) and let them choose; book the chosen one with parcel_book. FedEx limits per package: 150 lb, longest side 108 in, length + girth 165 in. Pickup date must be within 10 days. Requires a signed-in Warp account.
| Name | Type | Req | Description |
|---|---|---|---|
| destination_zip | string | yes | 5-digit US delivery ZIP |
| origin_zip | string | yes | 5-digit US pickup ZIP |
| packages | array | yes | One entry per group of identical packages |
| pickup_date | string | yes | YYYY-MM-DD, today through 10 days out |
No output schema declared.
No examples provided.
payment_status Check Payment Status ~58
Check 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 present but exposes no named parameters.
No output schema declared.
No examples provided.
price_check Check Price Against History ~201
Judge a price against what THIS account has actually paid on the same lane and mode (its own bookings over the last 180 days, cancelled excluded; LTL compared per pallet). Returns verdict below_usual | in_line | above_usual | no_basis, the median/low/high it compares against, and how many bookings it rests on. Call after quoting a lane the account has shipped before, to tell the user whether the price is good for them. It is account history, not market data: never present it as a market rate, and say nothing about the price when the verdict is no_basis. Auth required.
| Name | Type | Req | Description |
|---|---|---|---|
| destination_zip | string | yes | Destination ZIP |
| mode | string | yes | Mode of the price being judged |
| origin_zip | string | yes | Origin ZIP |
| pallets | integer | – | Pallet count (LTL is compared per pallet when given) |
| price_usd | number | yes | The price to judge, in USD |
No output schema declared.
No examples provided.
quote_history View Quote History ~42
List your recent freight quotes (LTL, van, box truck, FTL) from all sessions. Useful for surfacing prior pricing on similar lanes. Auth required.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
report_issue Report a Problem to Warp ~410
Report a problem with Warp's tools to the Warp team. Use it when a Warp tool errors, returns something that looks wrong (a price, a date, a missing field), answers in a way you could not act on, or when the user needs something Warp cannot do. Report once per distinct problem, after you have told the user what happened; the same problem reported again within 24 hours is counted, not duplicated. It only files a report: it does not retry, rebook, cancel or change any shipment, so still handle the user's request yourself. Describe the problem in your own words. Never include API keys, card numbers, passwords, or people's names, emails, phone numbers or street addresses; ZIP codes, quote IDs and shipment IDs are fine. Requires a connected Warp account.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | yes | tool_error: a tool failed or returned an error. unexpected_result: it worked but the result looks wrong. confusing_response: you could not tell what to do with the response. missing_capability: the u… |
| customer_blocked | boolean | yes | true if the user could not finish what they were trying to do |
| error_code | string | – | Error code returned by the tool, e.g. UPSTREAM_ERROR |
| expected_behavior | string | yes | What you or the user expected to happen |
| observed_behavior | string | yes | What actually happened, including any error code or message returned |
| occurred_at | string | – | When it happened, ISO 8601. Defaults to now. |
| quote_id | string | – | Quote ID involved, if any |
| request_id | string | – | Request ID from an error response, if any |
| shipment_id | string | – | Shipment ID involved, if any |
| summary | string | yes | One line: what went wrong |
| tool_name | string | yes | The Warp tool involved, e.g. ltl_quote or book. Use the closest tool for missing_capability. |
No output schema declared.
No examples provided.
save_load_template Save Load Template ~154
Save a reusable load template (a named shipment config) so it can be recalled for repeat lanes. Auth required.
| Name | Type | Req | Description |
|---|---|---|---|
| commodity | string | – | Commodity description |
| freight_class | string | – | Freight class (optional; FAK pricing if omitted) |
| hazmat | boolean | – | Whether the freight is hazmat |
| height_in | number | yes | Height in inches |
| length_in | number | yes | Length in inches |
| name | string | yes | Friendly name, e.g. 'Standard 2-pallet LA load' |
| stackable | boolean | – | Whether the freight is stackable |
| weight_lbs | number | yes | Total weight in lbs |
| width_in | number | yes | Width in inches |
No output schema declared.
No examples provided.
shipper_profile Shipper Profile ~216
Read 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. The ship/booking counts here count bookings via the agent API over the last 180 days, excluding cancelled — a narrower population than list_bookings (all channels, all time, including cancelled), so the totals can differ. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| set_preferences | object | – | Omit to read. Provide to merge-update the explicit preferences. |
No output schema declared.
No examples provided.
status Check API Status ~24
Check Warp API health and version. Also validates your API key if one is configured.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
track Track Shipment ~43
Track a shipment by ID or tracking number. Auth required.
| Name | Type | Req | Description |
|---|---|---|---|
| shipment_id | string | yes | Shipment ID or tracking number (e.g. S-12345-2616) |
No output schema declared.
No examples provided.
van_quote Get Cargo Van Quote ~245
Quote a cargo van shipment (1-3 pallets, firm price)
| Name | Type | Req | Description |
|---|---|---|---|
| commodity | string | – | Commodity description |
| delivery_services | array | – | Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery |
| destination_zip | string | yes | 5-digit US ZIP code |
| height_in | number | – | Per-pallet height in inches (defaults to 48) |
| length_in | number | – | Per-pallet length in inches (defaults to 48) |
| origin_zip | string | yes | 5-digit US ZIP code |
| pallets | integer | yes | Number of pallets (1-3) |
| pickup_date | string | yes | Pickup date YYYY-MM-DD |
| pickup_services | array | – | Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup |
| weight_lbs_per_pallet | number | yes | Weight per pallet in lbs |
| width_in | number | – | Per-pallet width in inches (defaults to 40) |
No output schema declared.
No examples provided.
How do I install the io.github.warpfreight/warp-agent-mcp server?
io.github.warpfreight/warp-agent-mcp is a hosted endpoint at https://mcp.wearewarp.com/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.wearewarp.com
claude mcp add --transport http warpfreight-warp-agent-mcp 'https://mcp.wearewarp.com/api/mcp'
What is the io.github.warpfreight/warp-agent-mcp server?
io.github.warpfreight/warp-agent-mcp is listed in the public MCP registry as io.github.warpfreight/warp-agent-mcp. Quote, book, and track LTL, FTL, cargo van, and box-truck freight via the Warp API. This page covers its hosted endpoint (https://mcp.wearewarp.com/api/mcp).
Is the io.github.warpfreight/warp-agent-mcp server safe to use?
io.github.warpfreight/warp-agent-mcp scores 81 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.warpfreight/warp-agent-mcp server expose?
io.github.warpfreight/warp-agent-mcp exposes 42 tools: freight_workflow, compare_freight_costs, van_quote, box_truck_quote, ftl_quote, and 37 more. Their descriptions and schemas cost roughly 7,633 tokens of context every time the server is loaded.
Does the io.github.warpfreight/warp-agent-mcp server require authentication?
No. We connected to io.github.warpfreight/warp-agent-mcp without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the io.github.warpfreight/warp-agent-mcp server still maintained?
io.github.warpfreight/warp-agent-mcp is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.