Integration Comparison
Freight MCP vs CLI: Which Integration Drives More Density
Warp gives you two programmatic interfaces: an MCP server for AI tools and a CLI for your terminal. The CLI handles quoting, booking, and tracking. The MCP server handles visibility: tracking, shipment search, documents, events, and invoices (quoting and booking coming soon). The difference is how they get used, how much friction they introduce, and how that friction affects your network density.
Same network · Different interfaces · Different density impact
The core difference
A freight CLI is a command line tool. You type warp quote with flags and arguments. It returns results to stdout. You parse them and take the next action. The human (or script) drives every step.
A freight MCP server is a protocol layer between your AI tool and the freight network. The AI tool sees what freight operations are available, understands their parameters through typed schemas, and calls them directly. The AI drives the workflow. You describe what you want in natural language.
Same freight network underneath. Same carriers. Same rates. Same tracking. The difference is who does the work of translating intent into action.
Side by side: Same shipment, two approaches
CLI approach
# CLI: Get a freight quote $ warp quote \ --origin "Atlanta, GA 30301" \ --destination "Chicago, IL 60601" \ --pallets 6 \ --class 70 \ --pickup 2026-04-10 # Parse the output $ warp quote ... | jq '.options[0].rate' 1247 # Book it $ warp book --quote-id 01HG9W6CMAWHNWTVXDKW9QYFS9 # Track it $ warp track WARP-4829173
MCP approach
# MCP: AI handles the freight visibility workflow You: "Where is WARP-4829173 and what was the invoice?" Claude Code calls warp.tracking automatically. Status: IN TRANSIT Location: Nashville, TN ETA: April 9, 2:00 PM Claude Code calls warp.get-invoice automatically. Transit: $1,247.00 | Fuel: $0.00 | Total: $1,247.00 You: "Pull the BOL." Claude Code calls warp.get-documents. BOL: WARP-BOL-4829173.pdf (downloaded) One conversation. Three tools called. Zero commands typed.
Same result. Different effort. With CLI you need to know the command syntax, the flags, and how to parse the output. With MCP you describe what you want and the AI handles the execution.
Feature comparison
warp --helpCLI use cases: execution and automation
The CLI is for when you know exactly what needs to happen and you want it to happen the same way every time. No interpretation. No reasoning. Just execution. Here are the scenarios where CLI wins.
Nightly batch quoting
Your WMS exports 200 orders at end of day. A cron job runs at midnight: reads the CSV, calls warp quote for each order, writes rates back to a file. Your logistics team has every quote ready at 6am. No human touched it. Same script runs every night.
Automated booking from ERP events
When your ERP marks an order as "ready to ship," a webhook triggers a script that calls warp quote, picks the cheapest option under your budget threshold, and calls warp book. The shipment is booked before your logistics coordinator sees the order. Human only steps in for exceptions.
Recurring lane automation
You ship 15 pallets from your Atlanta warehouse to Chicago every Tuesday. A cron job runs Monday at 3pm: warp quote for that lane, compares against your contracted rate, books if its within 5%. Your highest volume lanes run on autopilot.
Rate benchmarking scripts
Run warp quote across your top 50 lanes every morning. Compare against what you paid last month. Output a report showing where rates improved, where they spiked, and where you should renegotiate. Pipe it to Slack. Your team sees rate trends before the market moves.
CI/CD freight testing
Your shipping feature has integration tests. The test suite calls warp quote with test parameters and validates the response shape. If the API contract changes, your CI catches it before deploy. Freight integration tested like any other dependency.
Tracking monitoring and alerting
A cron job runs every 30 minutes: warp track for all active shipments. If any shipment is more than 2 hours past its ETA, the script sends a Slack alert to the ops channel with the tracking link. Exceptions caught automatically, not by customer complaints.
#!/bin/bash
# CLI excels at: pipeline automation
# Read orders from CSV, quote each, book if under budget
while IFS=, read -r origin dest pallets class budget; do
QUOTE=$(warp quote --origin "$origin" --dest "$dest" \
--pallets "$pallets" --class "$class" --format json)
RATE=$(echo "$QUOTE" | jq '.options[0].rate')
if [ "$RATE" -lt "$budget" ]; then
QID=$(echo "$QUOTE" | jq -r '.options[0].quoteId')
warp book --quote-id "$QID"
echo "BOOKED: $origin → $dest at $RATE"
fi
done < orders.csvMCP use cases: visibility and intelligence
MCP is for when you need an AI to reason about freight data, chain multiple lookups together, and respond to questions that don't fit a predefined script. Here are the scenarios where MCP wins.
Operations team morning check
8am. Your ops lead opens Claude Code and says: "Show me all in-transit shipments. Flag anything that looks late or has a missing scan." The AI calls get-shipments, filters for active loads, calls get-shipment-events for each one, and returns a prioritized list of shipments that need attention. The ops lead handles 3 exceptions before the rest of the team logs in.
Customer escalation resolution
A customer emails: "Where is my order? Reference number PO-88421." You paste that into Claude Code. The AI calls get-shipments with the reference number, finds the order, calls tracking for current status, calls get-shipment-events for the full timeline. You reply to the customer with tracking status, ETA, and the last event location in under a minute.
Month-end invoice reconciliation
"Pull all invoices from March. Total them up. Flag any where the invoiced amount is more than 10% above the original quote." The AI calls get-shipments filtered by date range, then get-invoice for each order. It aggregates totals, calculates variances, and gives you a table of discrepancies sorted by dollar amount. What takes your AP team a full day takes the AI 2 minutes.
Proof of delivery verification
Your customer disputes a delivery. "Pull the POD for order 92817. Show me the photos and signature." The AI calls get-documents with the order ID and returns the delivery photos and e-signature. You forward it to the customer. Dispute resolved in one conversation without logging into any portal.
Lane performance analysis
"How are our Atlanta to Chicago shipments performing? Pull the last 20 shipments on that lane and tell me average transit time, on time percentage, and total cost." The AI searches shipments by origin and destination, pulls events and invoices for each, calculates the metrics, and identifies trends. Then you follow up: "Compare that to Dallas to Phoenix." Same conversation, no context lost.
Building freight dashboards with live data
In Cursor, you tell the AI: "Build me a React component that shows my active shipments with tracking status. Use real data from my Warp account." The AI calls get-shipments through MCP, sees the actual response shape, and writes a component that matches the real data. No mock data. No guessing at field names. The dashboard works on first render because it was built against your live freight data.
Executive freight summary
"Give me a freight summary for last week. Total shipments, total spend, breakdown by mode, any exceptions." The AI pulls everything through MCP tools and generates a concise report. Your VP of logistics gets the numbers they need without asking anyone to build a report. Follow up with "Compare to the week before" and the AI runs the same analysis for the prior period.
# MCP excels at: AI agent freight visibility
You: "Check all my shipments from last week. Flag anything
that looks late. Pull the PODs for delivered ones.
Summarize the total invoiced amount."
Claude Code:
1. Calls warp.get-shipments filtered by date (MCP tool)
2. Calls warp.get-shipment-events for each (MCP tool)
3. Flags shipments with late events
4. Calls warp.get-documents for delivered orders (MCP tool)
5. Calls warp.get-invoice for each order (MCP tool)
6. Generates summary with flags and totals
All in one natural language instruction.
No script writing. No shell parsing.The density impact
This is where it gets interesting for your network. Density is the structural moat in freight. More shipments per lane means higher fill rates, which means lower cost per pallet, which means lower prices, which means more shipments. The integration method you choose affects how many shipments enter the network.
CLI contributes to density through automation.Shell scripts that run overnight processing hundreds of orders. Cron jobs that automatically rebook recurring lanes. Pipeline triggers that convert warehouse events into freight bookings without human intervention. Each automated shipment is a shipment that wouldn't exist if someone had to manually key it into a portal.
MCP contributes to density through visibility and retention. When tracking freight is as easy as asking a question, operations teams stay on the platform. They catch exceptions faster, audit invoices in real time, and pull documents without logging into a portal. Better visibility means fewer disputes, faster resolution, and more repeat shipments. As quoting and booking tools arrive on MCP, it will also drive direct shipment creation through AI agents.
Together they compound. CLI handles the predictable, recurring volume through quoting and booking automation. MCP handles the visibility, monitoring, and AI driven operations. Both feed the same density flywheel: more shipments per lane, higher fill rates, lower costs, more shipments.
Use both. Feed the flywheel.
Decision framework
Use CLI when:
- -You need the same freight operation to run the same way every time.
- -The workflow is part of a larger shell script or pipeline.
- -You are automating recurring shipments on a schedule.
- -You need to process freight operations without an AI model available.
- -You are building infrastructure that other tools will call.
Use MCP when:
- -You want AI to handle freight visibility end to end.
- -The operation is ad hoc and you don not want to look up syntax.
- -You need the AI to reason about the results before taking next steps.
- -Non technical team members need to check on shipments.
- -You are building and testing freight features in an AI code editor.
Use both when:
- -CLI for quoting, booking, and scheduled automation (nightly batch, recurring lanes, cron monitoring).
- -MCP for visibility (tracking, documents, events, invoices, AI agent monitoring).
- -Maximum density: automated volume through CLI + AI driven visibility through MCP on the same network.
The network behind both
Whether you ship through MCP or CLI, the freight moves on the same Warp network.
- -20,000+ local 3rd-party carriers dispatched through the Warp driver app.
- -9,000+ box trucks and cargo vans in network.
- -50+ Warp operated cross-dock facilities.
- -1,400+ active LTL lanes with all inclusive per pallet pricing.
- -Live GPS tracking, scan events, proof of delivery photos, e-signatures.
- -Our AI backbone, Orbit, monitors every load for exceptions.
- -All inclusive pricing with no fuel surcharges or hidden fees.
Frequently asked questions
Can I use MCP and CLI with the same account?
Yes. Same Warp account, same API key, same freight network. They see the same shipments, invoices, and tracking data.
Does MCP replace the CLI?
No. They serve different use cases. CLI is for deterministic automation. MCP is for AI driven operations. Most teams use both.
Which one is faster to set up?
Both take under 5 minutes. MCP requires adding a JSON config to your AI tool settings. CLI requires installing the npm package and configuring your API key.
What about the REST API?
The REST API is the third option. MCP and CLI both use it underneath. If you are building a custom integration in code, the REST API gives you the most control. MCP is best for AI tools. CLI is best for shell automation.
What does it cost?
No software fees for any integration method. MCP, CLI, and REST API are all free. You pay when you ship with all inclusive per pallet pricing.