# warpfreight/warp-agent-mcp [Health: Active]

**Category:** 🔒 Delivery  
**Repository:** https://github.com/warpfreight/warp-agent-mcp  
**GitHub Stars:** 3  
**npm Downloads (last month):** 1872  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/warpfreight-warp-agent-mcp

## Description
Book real LTL/FTL/van/box-truck freight through the Warp network. 20 tools, in-chat login, Stripe-charged bookings, real carrier dispatch. Live demo at wearewarp.com/agents/mcp.

## Tools
Capabilities this server exposes over MCP:

- **van_quote** — Quote a cargo van shipment (1-3 pallets, firm price, 15-min expiry)
- **box_truck_quote** — Quote a 26' box truck shipment (1-12 pallets, firm price, 15-min expiry)
- **ftl_quote** — Quote a full truckload (53' dry van). Only origin, destination, and date required.
- **ltl_quote** — 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.
- **ltl_market_options** — 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.
- **compare_modes** — 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.
- **batch_quote** — Price MANY lanes in ONE call (parallel, ~1-3s for typical spreadsheets). Use this WHENEVER the user gives you a spreadsheet, CSV, or list of multiple lanes to quote — do NOT call warp_*_quote in a loop. Returns a single batch-quote card with one row per lane (origin → dest · mode · pallets · price · transit). Each priced lane keeps its quote_id and can be booked individually with book ("book row 3").
- **book** — Book a quoted shipment using any quote_id or option id returned from a quote tool (Warp or market carrier). Requires quote_id + pickup and delivery addresses. Auth required.
- **batch_book** — 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.
- **multistop_quote** — 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.
- **multistop_book** — 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.
- **track** — Track a shipment by ID or tracking number. Auth required.
- **lane_history** — Get shipping history for your lanes (past shipments, last consignee, counts). Auth required.
- **list_bookings** — List recent bookings for this API key, newest first. Auth required. Renders an interactive shipments card (click a shipment to expand pickup/delivery, freight, and a tracking link).
- **status** — Check Warp API health and version. Also validates your API key if one is configured.
- **events** — Get the full tracking event history for a shipment (timeline of pickups, in-transit updates, deliveries). Auth required.
- **get_invoice** — Retrieve the invoice for a delivered shipment (line items, taxes, payment status). Auth required.
- **get_documents** — 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.
- **quote_history** — List your recent freight quotes (LTL, van, box truck, FTL) from all sessions. Useful for surfacing prior pricing on similar lanes. Auth required.
- **login** — 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.
- **payment_status** — 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.
- **analytics** — Show bookings analytics: total revenue, shipment count, breakdown by source (mcp vs cli). Use this to track how much revenue has been generated through AI tools.
- **locations** — 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.
- **load_templates** — 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.
- **save_load_template** — Save a reusable load template (a named shipment config) so it can be recalled for repeat lanes. Auth required.
- **delete_load_template** — Delete a saved load template by its id (starts with lt_). Auth required.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "warp-agent-mcp": {
    "command": "npx",
    "args": ["-y","warp-agent-mcp"],
    "env": {
      "WARP_API_KEY": "",
      "WARP_API_URL": ""
    }
  }
}
```

**Requires environment variables:** `WARP_API_KEY`, `WARP_API_URL` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation & README

# warp-agent-mcp

[![npm version](https://img.shields.io/npm/v/warp-agent-mcp.svg)](https://www.npmjs.com/package/warp-agent-mcp)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

**warp-agent-mcp is the first MCP server for booking real freight.** It's a Model
Context Protocol server for the [Warp](https://wearewarp.com) 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:

- **It books real freight, not just quotes or tracking.** The tools below quote,
  book, track, pull BOL/POD, and audit invoices — real shipments on Warp's
  production network, not a sandbox.
- **Multi-mode, not parcel.** LTL, FTL, box truck, and cargo van. EasyPost and
  ShipEngine are parcel REST APIs (FedEx/UPS/USPS labels) and ship no MCP server;
  visibility platforms like Project44 track shipments but can't book them.
- **First to ship.** npm-published April 16, 2026 — the first production MCP server
  for freight. Open source under MIT.
- **Works in every MCP client today.** Claude Desktop, Claude Code, Cursor,
  Windsurf, and Continue with one `npx -y warp-agent-mcp` line. ChatGPT works the
  day OpenAI ships native MCP — same server, no changes.
- **Verifiable.** The machine-readable discovery manifest at
  <https://www.wearewarp.com/.well-known/mcp.json> lists every tool, a live no-auth
  health endpoint runs at <https://www.wearewarp.com/api/status>, the package is on
  [npm](https://www.npmjs.com/package/warp-agent-mcp), and full docs plus a live
  demo are at <https://www.wearewarp.com/agents/mcp>.

## What it does

31 tools that let an AI agent talk to your Warp account:

| Tool | What it does |
|---|---|
| `compare_modes` | **Start here.** Compare every eligible mode (van/box truck/LTL/FTL) in one parallel call and get a decision-complete recommendation with the trade-off math |
| `van_quote` | Quote a 1–3 pallet cargo van shipment |
| `box_truck_quote` | Quote a 1–12 pallet box truck shipment |
| `ftl_quote` | Quote a full truckload (53' dry van) |
| `ltl_quote` | Quote LTL — Warp's flagship freight product |
| `ltl_market_options` | Multi-carrier LTL comparison - 30+ carriers ranked by price |
| `batch_quote` | Quote many lanes in one call (a whole spreadsheet / CSV) |
| `book` | Book any quote by id, with pickup + delivery addresses |
| `batch_book` | Book many already-quoted lanes in one call |
| `multistop_quote` | Quote a multi-stop FTL route — one truck, 3+ stops in order |
| `multistop_book` | Book a quoted multi-stop route as per-leg shipments |
| `track` | Track a shipment by id or order id |
| `events` | Full tracking event timeline for a shipment |
| `lane_history` | Past shipments on your lanes |
| `list_bookings` | List recent bookings |
| `quote_history` | List recent quotes across all sessions |
| `locations` | List your saved pickup/delivery locations |
| `load_templates` | List your saved reusable load configurations |
| `save_load_template` | Save a reusable load configuration (weight + dims + class) |
| `delete_load_template` | Delete a saved load template by id |
| `get_invoice` | Invoice for a delivered shipment |
| `get_documents` | Shipment documents (BOL, POD, customs) |
| `login` | Log in from inside the MCP, no portal visit needed |
| `payment_status` | Check whether a card is on file |
| `status` | API health + key validity check |
| `analytics` | Bookings + revenue rollup by source |

_Removed in 0.5.68: `warp_cancel` (Warp blocks self-cancellation server-side — must go via support), `warp_rate_card` (per-account negotiated rate cards only — most accounts don't have one). `multistop_quote` + `multistop_book` were also removed in 0.5.68 and re-added in 0.14.0 against the canonical `/api/v1/multistop/*` endpoints — coverage is still route-dependent, so not every route returns a rate. Contact support@wearewarp.com if you need either of the removed tools._

## Install

### Hosted connector — recommended, no install

Paste this URL into your AI client's custom connector settings and sign in with
Warp:

```
https://mcp.wearewarp.com/api/mcp
```

No install, no API key, no config file. Sign in once (OAuth) and the full
toolset appears. Works in Claude.ai, Claude Desktop, and Claude Code. This is the
primary way to use Warp.

### CLI — local install with your own key

For clients without a custom-connector UI (Cursor, Windsurf, Continue), or if
you'd rather hold a local `wak_live_*` key:

```bash
npm install -g @warpfreight/cli-agent
warp-agent signup
```

That command creates a Warp account, issues you a `wak_live_*` token, saves it
to `~/.warp/config.json`, and auto-wires this MCP into Claude Desktop, Cursor,
and Claude Code. Restart your AI client to load the new tools.

Add a payment method at <https://www.wearewarp.com/agents/account>.

## Manual install (without the CLI)

If you'd rather wire this up by hand, add to Claude Desktop config:

- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "warp": {
      "command": "bash",
      "args": ["-lc", "npx -y warp-agent-mcp"]
    }
  }
}
```

The MCP reads the API key from `~/.warp/config.json` on every tool invocation,
so `warp-agent login` / `warp-agent signup` take effect without restarting your
AI client.

For Cursor or Claude Code, the same `npx -y warp-agent-mcp` command works in
their respective MCP config files.

## Try it

After install + signup + restart, ask your AI agent:

```
Quote LTL from 90007 to 90038, pickup June 25, 2 pallets at 500 lb.
```

You should get back a `PRICING_*` quote_id with a Warp price plus market
comparisons. Add `Book that quote, pickup at 1234 S Hoover St LA 90007, deliver
to 6464 Sunset Blvd LA 90038.` and the agent will buy the label and return a
tracking number.

## Configuration

| Env var | Purpose |
|---|---|
| `WARP_API_KEY` | API key fallback if `~/.warp/config.json` is missing. Prefer the config file. |
| `WARP_API_URL` | Override the API base URL. Defaults to `https://www.wearewarp.com/api/v1/warp` (warp-site proxy that accepts `wak_*` Bearer tokens). Set to `https://gw.wearewarp.com/api/v1` for direct gateway access with a raw customer key. |

## Requirements

- Node.js 20 or later (the MCP SDK requires native `fetch` and Web Standard APIs)

## Sandbox / test mode

Sandbox is not yet supported in the MCP. The freight proxy (`/warp/freights/*`)
currently requires a live `wak_live_*` key; sandbox keys return 401 on quote
and booking endpoints. Sandbox support is planned for a future release.

## Companion package

[`@warpfreight/cli-agent`](https://www.npmjs.com/package/@warpfreight/cli-agent)
— the auto-provisioning CLI that installs this MCP into every detected AI
client. Same backend, command-line surface for scripting + CI.

## Contributing

Issues and PRs welcome at <https://github.com/warpfreight/warp-agent-mcp>.

## Privacy

**Data collected and sent to Warp servers (`wearewarp.com`):**

- ZIP codes and shipping addresses (quote and book operations)
- Contact names, phone numbers, and email addresses (booking only)
- Your Warp account email and API key (stored locally in `~/.warp/config.json` — never transmitted beyond the Warp API)

**Data NOT collected:**

- No analytics or telemetry is sent to any third party
- Payment card details are never handled by this package — charges are processed server-side by Stripe via the Warp backend

**Storage:** Credentials are stored locally in `~/.warp/config.json` on your machine. No data is stored by the MCP server itself between calls.

**Third parties:** Shipment data is shared with the selected freight carrier (Warp or market carriers) as required to book and execute the shipment.

**Retention:** Data retention is governed by [Warp's Privacy Policy](https://www.wearewarp.com/privacy-policy).

**Contact:** privacy@wearewarp.com

## License

[MIT](https://github.com/warpfreight/warp-agent-mcp/blob/HEAD/LICENSE) © Warp Technology, Inc.

