
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-mcpRun 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/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 42 toolsVerified 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...
workflow*stringshipment_intake · weekly_freight_review · invoice_reviewcompare_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...
rows*arrayvan_quoteQuote a cargo van shipment (1-3 pallets, firm price)11 params
Quote a cargo van shipment (1-3 pallets, firm price)
commoditystringdelivery_servicesarraydestination_zip*stringheight_innumberlength_innumberorigin_zip*stringpallets*integerpickup_date*stringpickup_servicesarrayweight_lbs_per_pallet*numberwidth_innumberbox_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)
commoditystringdelivery_servicesarraydestination_zip*stringheight_innumberlength_innumberorigin_zip*stringpallets*integerpickup_date*stringpickup_servicesarrayweight_lbs_per_pallet*numberwidth_innumberftl_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.
commoditystringdestination_zip*stringorigin_zip*stringpalletsintegerpickup_date*stringweight_lbs_per_palletnumberltl_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...
commoditystringdelivery_servicesarraydestination_zip*stringfreight_classstringhazmatbooleanheight_innumberlength_innumberorigin_zip*stringpalletsintegerpickup_date*stringpickup_servicesarraystackablebooleanweight_lbs_per_palletnumberwidth_innumberltl_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...
commoditystringdelivery_servicesarraydestination_zip*stringfreight_classstringhazmatbooleanheight_innumberlength_innumberorigin_zip*stringpalletsintegerpickup_date*stringpickup_servicesarraystackablebooleanweight_lbs_per_palletnumberwidth_innumbercompare_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...
benchmark_marketbooleancommoditystringdelivery_servicesarraydestination_zip*stringfreight_classstringhazmatbooleanheight_innumberlength_innumberorigin_zip*stringpallets*integerpickup_date*stringpickup_servicesarrayprioritystringcheapest · fasteststackablebooleanweight_lbs_per_pallet*numberwidth_innumberbatch_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...
lanes*arraybookBook 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...
accessorialsobjectdelivery*objectdelivery_windowobjectnotesstringpickupobjectpickup_windowobjectquote_id*stringreferencestringparcel_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...
destination_zip*stringorigin_zip*stringpackages*arraypickup_date*stringparcel_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...
delivery*objectdelivery_windowobjectpickupobjectpickup_windowobjectquote_id*stringreferencestringinternational_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...
countrystringinternational_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...
containersarraydestination*objectitemsarrayorigin*objectpickup_date*stringvolumeobjectinternational_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...
customsobjectdelivery*objectinternational_infoobjectitemsarrayoption_id*stringpickup*objectport_charges_acknowledgedbooleaninternational_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,...
customsobjectorder_id*stringupdateobjecths_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;...
limitintegerorigin*stringquery*stringinternational_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...
lines*arraymode*stringocean · airbatch_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...
bookings*arrayshared_accessorialsobjectshared_deliveryobjectshared_delivery_windowobjectshared_notesstringshared_pickupobjectshared_pickup_windowobjectshared_referencestringmultistop_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)....
commoditystringdelivery_zip*stringpalletsintegerpickup_date*stringpickup_zip*stringstop_zips*arraytotal_weight_lbsnumbervehicle_typestringmultistop_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...
quote_id*stringshipments*arraytrackTrack a shipment by ID or tracking number. Auth required.1 params
Track a shipment by ID or tracking number. Auth required.
shipment_id*stringlane_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...
limitintegerstatusCheck 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.
shipment_id*stringget_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.
order_id*stringget_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.
document_typestringorder_id*stringquote_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 —...
loads*arraywindow_daysintegershipper_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...
set_preferencesobjectautomate_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...
book*objectceiling_usd*numbercriteriastringlowest_price · fastest_transitend_datestringlabelstringquote*objectweekday*integermanage_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...
action*stringstatus · pause · cancel · skip_nexttoken*stringautomation_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...
token*stringpayment_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,...
category*stringtool_error · unexpected_result · confusing_response · missing_capabilitycustomer_blocked*booleanerror_codestringexpected_behavior*stringobserved_behavior*stringoccurred_atstringquote_idstringrequest_idstringshipment_idstringsummary*stringtool_name*stringanalyticsSummarise 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...
group_bystringmode · status · lanelimitintegerprice_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,...
destination_zip*stringmode*stringltl · ftl · van · box_truckorigin_zip*stringpalletsintegerprice_usd*numberlocationsList 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.
commoditystringfreight_classstringhazmatbooleanheight_in*numberlength_in*numbername*stringstackablebooleanweight_lbs*numberwidth_in*numberdelete_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.
load_template_id*stringSponsors
Configuration
WARP_API_KEYsecretWarp 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_URLOverride 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
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:
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