Skip to content

io.github.warpfreight/warp-agent-mcp

by warpfreight · remote · local (npm) · no sign-in to list tools · v0.20.1 · published by GitHub user warpfreight

Quote, book, and track LTL, FTL, cargo van, and box-truck freight via the Warp API.

Deletes · 6Changes · 16

37 tools: 6 can delete or cancel things, 16 change things and 15 only read.

Scanned Oct 21, 2026

4 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

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

Findings

Matches of fixed checks, with the text they matched.

2 warn2 info
  • Warnlogin

    The server marks "login" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false}; The description's first verb is "log": a word for reading.

    What this check looks for
  • The server marks "shipper_profile" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "read": a word for reading.

    What this check looks for
  • InfoThe whole server

    The package.json has a "postinstall" script, which npm runs on install.

    Matched text

    scripts.postinstall: "node scripts/postinstall.mjs"

    What this check looks for
  • Infologin

    The description mentions "credentials".

    Matched text

    description: "...to Warp with email and password. Saves credentials locally so booking tools work. Call thi..."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

37 tools

Deletes or cancels 6Claude Code: deny
  • batch_bookBook MANY already-quoted lanes in ONE call (sequential, one card charge per row).No findings

    Why it is in this group

    • The input addresses people (input.shared_pickup_window.to): what it sends cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Batch Book Shipments
    • destructiveHint: true
  • bookBook a quoted shipment using any quote_id or option id returned from a quote tool (Warp or market carrier).No findings

    Why it is in this group

    • The input addresses people (input.pickup_window.to): what it sends cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Book Shipment
    • destructiveHint: true
  • delete_load_templateDelete a saved load template by its id (starts with lt_).No findings

    Why it is in this group

    • The name "delete_load_template" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a saved load template by its id (starts with lt_). Auth required.

    Annotations the server declares

    • title: Delete Load Template
    • destructiveHint: true
  • manage_automationCheck or stop a recurring lane automation.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Manage an Automation
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • multistop_bookBook a multi-stop FTL route quoted by multistop_quote.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Book Multi-stop FTL
    • destructiveHint: true
  • parcel_bookBook a FedEx parcel option from parcel_quote.No findings

    Why it is in this group

    • The input addresses people (input.pickup_window.to): what it sends cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Book Parcel (FedEx)
    • destructiveHint: true
Changes things 16Claude Code: ask
  • 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 op…No findings

    Why it is in this group

    • The description's first verb is "set": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Automate a Recurring Lane
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • 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 …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Automation Authorization Record
    • readOnlyHint: true
  • batch_quotePrice up to 50 lanes in one call for a specified mode per row (defaults to LTL).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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").

    Annotations the server declares

    • title: Batch Quote Lanes
    • readOnlyHint: true
  • box_truck_quoteQuote a 26' box truck shipment (1-12 pallets, firm price)No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Quote a 26' box truck shipment (1-12 pallets, firm price)

    Annotations the server declares

    • title: Get Box Truck Quote
    • readOnlyHint: true
  • ftl_quoteQuote a full truckload (53' dry van).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Quote a full truckload (53' dry van). Only origin, destination, and date required.

    Annotations the server declares

    • title: Get Full Truckload Quote
    • readOnlyHint: true
  • loginLog in to Warp with email and password.2 findings

    Why it is in this group

    • The description's first verb is "log": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...to Warp with email and password. Saves credentials locally so booking tools work. Call thi..."

      What this check looks for
    • Warn

      The server marks "login" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false}; The description's first verb is "log": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Log in to Warp with email and password. Saves credentials locally so booking tools work. Call this if the user needs to authenticate or if payment_status says no key is configured.

    Annotations the server declares

    • title: Log In to Warp
    • readOnlyHint: false
    • destructiveHint: false
  • ltl_market_optionsMulti-carrier LTL comparison — returns 30+ carrier rates ranked by price (slow, ~15s).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Compare LTL Carriers
    • readOnlyHint: true
  • ltl_quoteQuote an LTL shipment — returns Warp's all-inclusive rate FAST (~1-2s) so the user sees a price immediately.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get LTL Freight Quote
    • readOnlyHint: true
  • multistop_quoteQuote a multi-stop FTL route: ONE truck visits 3+ stops in order (first pickup → intermediate stops → final delivery).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get Multi-stop FTL Quote
    • readOnlyHint: true
  • parcel_quoteFedEx parcel rates for small packages (boxes, not pallets), US domestic ZIPs.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get Parcel Rates (FedEx)
    • readOnlyHint: true
  • 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).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Check Price Against History
    • readOnlyHint: true
  • report_issueReport a problem with Warp's tools to the Warp team.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Report a Problem to Warp
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • save_load_templateSave a reusable load template (a named shipment config) so it can be recalled for repeat lanes.No findings

    Why it is in this group

    • The name "save_load_template" says "save": a word for a change.
    Description, as the server wrote it
    Save a reusable load template (a named shipment config) so it can be recalled for repeat lanes. Auth required.

    Annotations the server declares

    • title: Save Load Template
    • readOnlyHint: false
    • destructiveHint: false
  • 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 quote…1 finding

    Why it is in this group

    • The description's first verb is "read": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "shipper_profile" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "read": a word for reading.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Shipper Profile
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • trackTrack a shipment by ID or tracking number.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Track a shipment by ID or tracking number. Auth required.

    Annotations the server declares

    • title: Track Shipment
    • readOnlyHint: true
  • van_quoteQuote a cargo van shipment (1-3 pallets, firm price)No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Quote a cargo van shipment (1-3 pallets, firm price)

    Annotations the server declares

    • title: Get Cargo Van Quote
    • readOnlyHint: true
Only reads 15Claude Code: allow
  • analyticsSummarise your own shipping history: how many bookings, what you spent, and the split by mode, status and lane over a window.No findings

    Why it is in this group

    • The description's first verb is "summarise": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Summarise Shipping History
    • readOnlyHint: true
  • compare_freight_costsCalculate USD cost differences for up to 50 distinct shipments using supplied invoice/quote amounts and explicit comparability evidence.No findings

    Why it is in this group

    • The name "compare_freight_costs" says "compare": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • compare_modesTHE ONE CALL for "what's the cheapest/best way to ship this?".No findings

    Why it is in this group

    • The name "compare_modes" says "compare": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Compare Freight Modes
    • readOnlyHint: true
  • 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…No findings

    Why it is in this group

    • The description's first verb is "find": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Find Consolidation Savings
    • readOnlyHint: true
  • eventsGet the full tracking event history for a shipment (timeline of pickups, in-transit updates, deliveries).No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get the full tracking event history for a shipment (timeline of pickups, in-transit updates, deliveries). Auth required.

    Annotations the server declares

    • title: Get Shipment Events
    • readOnlyHint: true
  • 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.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_documentsList shipment documents (BOL, POD, customs forms, etc.).No findings

    Why it is in this group

    • The name "get_documents" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get Shipment Documents
    • readOnlyHint: true
  • get_invoiceRetrieve the invoice for a delivered shipment (line items, taxes, payment status).No findings

    Why it is in this group

    • The name "get_invoice" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve the invoice for a delivered shipment (line items, taxes, payment status). Auth required.

    Annotations the server declares

    • title: Get Invoice
    • readOnlyHint: true
  • lane_historyGet shipping history for your lanes (past shipments, last consignee, counts).No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get shipping history for your lanes (past shipments, last consignee, counts). Auth required.

    Annotations the server declares

    • title: View Lane History
    • readOnlyHint: true
  • list_bookingsList recent bookings for this API key, newest first.No findings

    Why it is in this group

    • The name "list_bookings" says "list": a word for reading.
    Description, as the server wrote it
    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).

    Annotations the server declares

    • title: List Bookings
    • readOnlyHint: true
  • load_templatesList the agent's saved load templates — reusable shipment configs (name, dims, weight, commodity).No findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List Load Templates
    • readOnlyHint: true
  • 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.No findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List Saved Locations
    • readOnlyHint: true
  • payment_statusCheck if the current Warp account has a payment method on file.No findings

    Why it is in this group

    • The name "payment_status" says "status": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Check Payment Status
    • readOnlyHint: true
  • quote_historyList your recent freight quotes (LTL, van, box truck, FTL) from all sessions.No findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.
    Description, as the server wrote it
    List your recent freight quotes (LTL, van, box truck, FTL) from all sessions. Useful for surfacing prior pricing on similar lanes. Auth required.

    Annotations the server declares

    • title: View Quote History
    • readOnlyHint: true
  • statusCheck Warp API health and version.No findings

    Why it is in this group

    • The name "status" says "status": a word for reading.
    Description, as the server wrote it
    Check Warp API health and version. Also validates your API key if one is configured.

    Annotations the server declares

    • title: Check API Status
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.20.1. Values in angle brackets are yours to fill in.

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

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__warp-agent__freight_workflow",
      "mcp__warp-agent__compare_freight_costs",
      "mcp__warp-agent__compare_modes",
      "mcp__warp-agent__lane_history",
      "mcp__warp-agent__list_bookings",
      "mcp__warp-agent__status",
      "mcp__warp-agent__events",
      "mcp__warp-agent__get_invoice",
      "mcp__warp-agent__get_documents",
      "mcp__warp-agent__quote_history",
      "mcp__warp-agent__consolidate",
      "mcp__warp-agent__payment_status",
      "mcp__warp-agent__analytics",
      "mcp__warp-agent__locations",
      "mcp__warp-agent__load_templates"
    ],
    "ask": [
      "mcp__warp-agent__van_quote",
      "mcp__warp-agent__box_truck_quote",
      "mcp__warp-agent__ftl_quote",
      "mcp__warp-agent__ltl_quote",
      "mcp__warp-agent__ltl_market_options",
      "mcp__warp-agent__batch_quote",
      "mcp__warp-agent__parcel_quote",
      "mcp__warp-agent__multistop_quote",
      "mcp__warp-agent__track",
      "mcp__warp-agent__login",
      "mcp__warp-agent__shipper_profile",
      "mcp__warp-agent__automate_lane",
      "mcp__warp-agent__automation_receipts",
      "mcp__warp-agent__report_issue",
      "mcp__warp-agent__price_check",
      "mcp__warp-agent__save_load_template"
    ],
    "deny": [
      "mcp__warp-agent__book",
      "mcp__warp-agent__parcel_book",
      "mcp__warp-agent__batch_book",
      "mcp__warp-agent__multistop_book",
      "mcp__warp-agent__manage_automation",
      "mcp__warp-agent__delete_load_template"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as warp-agent. Review it before you use it.