warpfreight avatar

Warp Agent Mcp

warpfreight/warp-agent-mcp

Connects Claude to Warp's freight API for quoting, booking, and tracking shipments across LTL, FTL, cargo van, and box truck modes. You get 23 tools covering the full workflow: multi-carrier rate comparison, batch quoting from CSV lanes, booking with pickup and delivery addresses, tracking events, invoice retrieval, and saved load templates. Includes a CLI that provisions your Warp account and wires the MCP into Claude Desktop, Cursor, and Claude Code automatically. Useful if you're moving freight regularly and want to price lanes, compare 30+ LTL carriers, or automate booking without leaving your editor. Reads credentials from a local config file, so you can rotate keys without restarting your client.

GitHub stars
8
tools
42
auth
Secret needed
transport
STDIO, HTTP
env vars
2
last updated
Sep 21, 2026

Install

From registry metadata
$ npx add-mcp https://mcp.wearewarp.com/api/mcp --name warp-agent-mcp

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http warp-agent-mcp https://mcp.wearewarp.com/api/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 42 tools

Verified live against the running server on Nov 6, 2026.

freight_workflowGet 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 sup...1 params

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 sup...

Parameters* required
workflow*string
one of shipment_intake · weekly_freight_review · invoice_review
compare_freight_costsCalculate 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 do...1 params

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 do...

Parameters* required
rows*array
van_quoteQuote a cargo van shipment (1-3 pallets, firm price)11 params

Quote a cargo van shipment (1-3 pallets, firm price)

Parameters* required
commoditystring
Commodity description
delivery_servicesarray
Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery
destination_zip*string
5-digit US ZIP code
height_innumber
Per-pallet height in inches (defaults to 48)
length_innumber
Per-pallet length in inches (defaults to 48)
origin_zip*string
5-digit US ZIP code
pallets*integer
Number of pallets (1-3)
pickup_date*string
Pickup date YYYY-MM-DD
pickup_servicesarray
Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup
weight_lbs_per_pallet*number
Weight per pallet in lbs
width_innumber
Per-pallet width in inches (defaults to 40)
box_truck_quoteQuote a 26' box truck shipment (1-12 pallets, firm price)11 params

Quote a 26' box truck shipment (1-12 pallets, firm price)

Parameters* required
commoditystring
Commodity description
delivery_servicesarray
Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery
destination_zip*string
5-digit US ZIP code
height_innumber
Per-pallet height in inches (defaults to 48)
length_innumber
Per-pallet length in inches (defaults to 48)
origin_zip*string
5-digit US ZIP code
pallets*integer
Number of pallets (1-12)
pickup_date*string
Pickup date YYYY-MM-DD
pickup_servicesarray
Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup
weight_lbs_per_pallet*number
Weight per pallet in lbs
width_innumber
Per-pallet width in inches (defaults to 40)
ftl_quoteQuote a full truckload (53' dry van). Only origin, destination, and date required.6 params

Quote a full truckload (53' dry van). Only origin, destination, and date required.

Parameters* required
commoditystring
Commodity description
destination_zip*string
5-digit US ZIP code
origin_zip*string
5-digit US ZIP code
palletsinteger
Pallets (optional, display only)
pickup_date*string
Pickup date YYYY-MM-DD
weight_lbs_per_palletnumber
Weight per pallet (optional)
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 par...14 params

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 par...

Parameters* required
commoditystring
Commodity description
delivery_servicesarray
Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery
destination_zip*string
5-digit US ZIP code
freight_classstring
Freight class (optional, FAK rates used if omitted)
hazmatboolean
Hazardous materials flag
height_innumber
Pallet height in inches
length_innumber
Pallet length in inches
origin_zip*string
5-digit US ZIP code
palletsinteger
Number of pallets
pickup_date*string
Pickup date YYYY-MM-DD
pickup_servicesarray
Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup
stackableboolean
Whether pallets are stackable
weight_lbs_per_palletnumber
Weight per pallet in lbs
width_innumber
Pallet width in inches
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 car...14 params

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 car...

Parameters* required
commoditystring
Commodity description
delivery_servicesarray
Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery
destination_zip*string
5-digit US ZIP code
freight_classstring
Freight class (optional, FAK rates used if omitted)
hazmatboolean
Hazardous materials flag
height_innumber
Pallet height in inches
length_innumber
Pallet length in inches
origin_zip*string
5-digit US ZIP code
palletsinteger
Number of pallets
pickup_date*string
Pickup date YYYY-MM-DD
pickup_servicesarray
Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup
stackableboolean
Whether pallets are stackable
weight_lbs_per_palletnumber
Weight per pallet in lbs
width_innumber
Pallet width in inches
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...16 params

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...

Parameters* required
benchmark_marketboolean
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 retu...
commoditystring
Commodity description
delivery_servicesarray
Delivery accessorials: delivery-appointment, liftgate-delivery, residential-delivery, limited-access-delivery, inside-delivery, driver-assist-delivery
destination_zip*string
5-digit US ZIP code
freight_classstring
Freight class (optional, FAK rates used if omitted)
hazmatboolean
Hazardous materials flag
height_innumber
Pallet height in inches (defaults to 48)
length_innumber
Pallet length in inches (defaults to 48)
origin_zip*string
5-digit US ZIP code
pallets*integer
Number of pallets (1-26)
pickup_date*string
Pickup date YYYY-MM-DD
pickup_servicesarray
Pickup accessorials: pickup-appointment, liftgate-pickup, residential-pickup, limited-access-pickup, inside-pickup, driver-assist-pickup
prioritystring
What to optimize the recommendation for. Defaults to 'cheapest'.one of cheapest · fastest
stackableboolean
Whether pallets are stackable
weight_lbs_per_pallet*number
Weight per pallet in lbs
width_innumber
Pallet width in inches (defaults to 40)
batch_quotePrice 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...1 params

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...

Parameters* required
lanes*array
Array of lane requests (1-50). Each row maps to one quote.
bookBook 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...8 params

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...

Parameters* required
accessorialsobject
Pickup/delivery accessorial services. Should match the accessorials used when quoting.
delivery*object
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 u...
delivery_windowobject
Delivery time window, 24h HH:MM, e.g. { from: '09:00', to: '12:00' }. Defaults to a full business day if omitted.
notesstring
Special instructions for the shipment
pickupobject
Pickup address. Required if no default shipper is saved on your account.
pickup_windowobject
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
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...
referencestring
Your internal reference number
parcel_quoteFedEx 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...4 params

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...

Parameters* required
destination_zip*string
5-digit US delivery ZIP
origin_zip*string
5-digit US pickup ZIP
packages*array
One entry per group of identical packages
pickup_date*string
YYYY-MM-DD, today through 10 days out
parcel_bookBook 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). C...6 params

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). C...

Parameters* required
delivery*object
Delivery address and contact, every required field
delivery_windowobject
Local delivery window, 24h HH:MM. Defaults to 08:00-20:00.
pickupobject
Pickup address. Required if no default shipper is saved.
pickup_windowobject
Local pickup window, 24h HH:MM. Defaults to 08:00-20:00.
quote_id*string
quote_id of the option the user chose, from your MOST RECENT parcel_quote
referencestring
Your reference (PO, order number)
international_settingsWhether 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 th...1 params

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 th...

Parameters* required
countrystring
ISO alpha-2 code of the country to look up
international_quoteAir, 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...6 params

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...

Parameters* required
containersarray
Ocean full container load (FCL), up to 30 containers. Use this OR items OR volume.
destination*object
Delivery location
itemsarray
Pallets / pieces, one entry per group of identical units. Use this OR containers OR volume.
origin*object
Pickup location
pickup_date*string
YYYY-MM-DD
volumeobject
Loose cargo by total volume when piece sizes are unknown. Use this OR items OR containers.
international_bookBook 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 th...7 params

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 th...

Parameters* required
customsobject
Customs data. Send what the user has; the rest can follow with international_customs.
delivery*object
Delivery address and contact (the consignee)
international_infoobject
Advanced: raw fields in gw's internationalInfo shape, merged over customs
itemsarray
The items exactly as quoted. Omit when the quote used containers or volume.
option_id*string
option_id the user chose, from your MOST RECENT international_quote
pickup*object
Pickup address and contact (the shipper)
port_charges_acknowledgedboolean
true once the user accepts far-port charges (door_to_port / port_to_door only)
international_customsRead, 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,...3 params

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,...

Parameters* required
customsobject
Customs fields to add or correct
order_id*string
Order id or order number (P-xxxxx-xxxx)
updateobject
Advanced: raw fields in gw's internationalInfo shape, merged over customs
hs_code_searchFind 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;...3 params

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;...

Parameters* required
limitinteger
Matches to return, default 10
origin*string
ISO alpha-2 country the freight ships FROM: 'US' for an export (Schedule B), the supplier's country for an import (HTS)
query*string
Product keywords or the start of a code
international_duty_estimateEstimate 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 t...2 params

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 t...

Parameters* required
lines*array
One line per kind of goods
mode*string
How the goods arrive: ocean or airone of ocean · air
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). P...8 params

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). P...

Parameters* required
bookings*array
Array of bookings to confirm (1-25). Each is one freight shipment, one card charge.
shared_accessorialsobject
shared_deliveryobject
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_windowobject
shared_notesstring
Notes applied to every row without their own.
shared_pickupobject
Pickup address applied to every row that doesn't supply its own (FBA case: one warehouse → many destinations).
shared_pickup_windowobject
shared_referencestring
Reference applied to every row without its own.
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)....8 params

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)....

Parameters* required
commoditystring
Commodity description
delivery_zip*string
5-digit ZIP of the final delivery stop
palletsinteger
Total pallets riding the route (default 1)
pickup_date*string
Pickup date YYYY-MM-DD
pickup_zip*string
5-digit ZIP of the first pickup stop
stop_zips*array
5-digit ZIPs of the intermediate stops, in route order (at least 1)
total_weight_lbsnumber
Total weight across all freight in lbs (default 500 per pallet)
vehicle_typestring
Vehicle code (default DRY_VAN_53)
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 — mul...2 params

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 — mul...

Parameters* required
quote_id*string
Quote ID from multistop_quote (PRICING_MULTI_…). Use the id from your MOST RECENT quote — ids expire and rotate.
shipments*array
One leg per pickup→delivery pair (the gateway requires at least 2)
trackTrack a shipment by ID or tracking number. Auth required.1 params

Track a shipment by ID or tracking number. Auth required.

Parameters* required
shipment_id*string
Shipment ID or tracking number (e.g. S-12345-2616)
lane_historyGet shipping history for your lanes (past shipments, last consignee, counts). Auth required.

Get shipping history for your lanes (past shipments, last consignee, counts). Auth required.

No parameters. Call it with no arguments.

list_bookingsList 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 re...1 params

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 re...

Parameters* required
limitinteger
Max bookings to return (default 25, max 100)
statusCheck Warp API health and version. Also validates your API key if one is configured.

Check Warp API health and version. Also validates your API key if one is configured.

No parameters. Call it with no arguments.

eventsGet the full tracking event history for a shipment (timeline of pickups, in-transit updates, deliveries). Auth required.1 params

Get the full tracking event history for a shipment (timeline of pickups, in-transit updates, deliveries). Auth required.

Parameters* required
shipment_id*string
Shipment ID from book response
get_invoiceRetrieve the invoice for a delivered shipment (line items, taxes, payment status). Auth required.1 params

Retrieve the invoice for a delivered shipment (line items, taxes, payment status). Auth required.

Parameters* required
order_id*string
Order ID (typically the same as shipment_id)
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.2 params

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.

Parameters* required
document_typestring
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
Order ID (typically the same as shipment_id)
quote_historyList your recent freight quotes (LTL, van, box truck, FTL) from all sessions. Useful for surfacing prior pricing on similar lanes. Auth required.

List your recent freight quotes (LTL, van, box truck, FTL) from all sessions. Useful for surfacing prior pricing on similar lanes. Auth required.

No parameters. Call it with no arguments.

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 —...2 params

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 —...

Parameters* required
loads*array
The loads you plan to ship
window_daysinteger
Loads picking up within this many days of each other may ride together (default 3)
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, standa...1 params

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, standa...

Parameters* required
set_preferencesobject
Omit to read. Provide to merge-update the explicit preferences.
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...7 params

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...

Parameters* required
book*object
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
Max auto-booked price per shipment in USD; above this the week books nothing and the owner is emailed
criteriastring
How to pick the winning option each week (default lowest_price)one of lowest_price · fastest_transit
end_datestring
Optional YYYY-MM-DD; the automation retires itself after the last pickup on or before this date
labelstring
Human-readable lane label for the owner's emails, e.g. 'Ontario CA → Dallas TX, 6 pallets'
quote*object
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
Pickup day each week: 0=Sunday … 6=Saturday
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 o...2 params

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 o...

Parameters* required
action*string
status is read-only; pause/cancel/skip_next stop or shrink the automationone of status · pause · cancel · skip_next
token*string
automation token from automate_lane (so_…)
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 confirm...1 params

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 confirm...

Parameters* required
token*string
automation token from automate_lane (so_…)
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.

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.

No parameters. Call it with no arguments.

report_issueReport 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,...11 params

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,...

Parameters* required
category*string
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...one of tool_error · unexpected_result · confusing_response · missing_capability
customer_blocked*boolean
true if the user could not finish what they were trying to do
error_codestring
Error code returned by the tool, e.g. UPSTREAM_ERROR
expected_behavior*string
What you or the user expected to happen
observed_behavior*string
What actually happened, including any error code or message returned
occurred_atstring
When it happened, ISO 8601. Defaults to now.
quote_idstring
Quote ID involved, if any
request_idstring
Request ID from an error response, if any
shipment_idstring
Shipment ID involved, if any
summary*string
One line: what went wrong
tool_name*string
The Warp tool involved, e.g. ltl_quote or book. Use the closest tool for missing_capability.
analyticsSummarise 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 alw...2 params

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 alw...

Parameters* required
group_bystring
Which breakdown to lead with. All three are returned regardless; this only orders the response.one of mode · status · lane
limitinteger
How many of your most recent bookings to summarise (default 100, max 500)
price_checkJudge 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,...5 params

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,...

Parameters* required
destination_zip*string
Destination ZIP
mode*string
Mode of the price being judgedone of ltl · ftl · van · box_truck
origin_zip*string
Origin ZIP
palletsinteger
Pallet count (LTL is compared per pallet when given)
price_usd*number
The price to judge, in USD
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.

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.

No parameters. Call it with no arguments.

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.

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.

No parameters. Call it with no arguments.

save_load_templateSave a reusable load template (a named shipment config) so it can be recalled for repeat lanes. Auth required.9 params

Save a reusable load template (a named shipment config) so it can be recalled for repeat lanes. Auth required.

Parameters* required
commoditystring
Commodity description
freight_classstring
Freight class (optional; FAK pricing if omitted)
hazmatboolean
Whether the freight is hazmat
height_in*number
Height in inches
length_in*number
Length in inches
name*string
Friendly name, e.g. 'Standard 2-pallet LA load'
stackableboolean
Whether the freight is stackable
weight_lbs*number
Total weight in lbs
width_in*number
Width in inches
delete_load_templateDelete a saved load template by its id (starts with lt_). Auth required.1 params

Delete a saved load template by its id (starts with lt_). Auth required.

Parameters* required
load_template_id*string
Template id to delete (starts with lt_)

Sponsors

Configuration

WARP_API_KEYsecret

Warp API key (wak_live_* or wak_test_*). Optional — the package prefers ~/.warp/config.json populated by `warp-agent signup` or `warp-agent login`.

WARP_API_URL

Override the API base URL. Defaults to https://www.wearewarp.com/api/v1/warp (the warp-site proxy that accepts wak_* tokens). Set to https://gw.wearewarp.com/api/v1 for direct gateway access with a raw customer key.

Readme

warp-agent-mcp

npm version License: MIT

warp-agent-mcp is the first MCP server for booking real freight. It's a Model Context Protocol server for the Warp freight network that lets an AI agent quote, book, and track LTL, FTL, cargo van, box-truck, and multi-stop shipments — straight from Claude Desktop, Claude Code, Cursor, Windsurf, Continue, or any MCP-compatible client — on the same production network the wearewarp.com customer portal runs on. Open source, MIT, one npx line to install.

Why warp-agent-mcp

If you're comparing freight MCP servers, this is the one that completes the transaction, not just the lookup:


View the full README on GitHub

Details

Repository
github.com/warpfreight/warp-agent-mcp
Website
wearewarp.com
Category
AI & LLM Tools
Package
warp-agent-mcp
Transport
STDIO, HTTP
Auth
Required
Registry
MCP registry, active
Resources
8
Tools verified
Nov 6, 2026

Related AI & LLM Tools MCP servers

View all
1keshrath avatarAgent Discoverkeshrath/agent-discoverFind, install and enable MCP servers mid-session on any host, with consent and tool pinning7stars
2muzaqil555 avatarGemini Pro MCPmuzaqil555/gemini-pro-mcpYour Google AI Pro plan in Claude, Codex and Gemini CLI: Gemini, Flow, Notebooks, Jules, Veo7stars
3xmtlzzz avatarDsh Any Agentxmtlzzz/dsh-any-agentDrive DeepSeek Harness (DSH) as a long-lived, resumable coding agent from any MCP client.5stars
4rbbtsn0w avatarAwesome Copilot MCP Serverrbbtsn0w/awesome-copilot-mcpModel Context Protocol server for awesome-copilot agents and collections4stars
5titansneaker avatarpaper-search-mcp-openai-v2titansneaker/paper-search-mcp-openaiFind and download academic papers from leading sources like arXiv, PubMed, bioRxiv, medRxiv, Google Scholar, Semantic Scholar, CrossRef, and IACR. Get standardi4stars
6xenmcp avatarXenMCP Docker agentxenmcp/docker-agentRead-only MCP server for one Docker host: containers, inspect, logs, stats, events. No exec.4stars