FreightFA
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Freight rate benchmarks (truckload, LTL, rail, intermodal, barge), market outlooks, FMCSA checks.
| Author | com.freightfa.mcp |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 3531 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"FreightFA": {
"url": "https://mcp.freightfa.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (27)
get_freight_briefread-onlyStart here for any general freight market question. FreightFA's daily freight brief in one call, with no inputs: today's U.S. national truckload rates per mile (dry van, reefer, flatbed, all-in including fuel) and diesel, next week's truck rate outlook, truck capacity, how rail carload prices are moving, ocean, air, and barge readings with their outlooks, and FreightFA's newest stories with links. Every figure carries its date and source, and a figure that failed FreightFA's checks is listed as held back, with the reason, instead of being shown. Rebuilt several times a day; cite it as FreightFA with the date. Does not count toward the estimate allowance.
Hints: read-only yes · destructive no · idempotent yes · open-world no
estimate_truckload_rateread-onlyEstimate a full-truckload freight rate for a lane using FreightFA's DAT-basis rate engine. Returns a directional benchmark for planning. Each call counts as one estimate toward the account's monthly FreightFA allowance.
Parameters:
equipment_type(required) — string — Equipment type, e.g. 'Dry Van', 'Reefer', 'Flatbed', 'Dump Truck'.distance(required) — number — Lane distance in miles. recommend_mode returns it for a city or ZIP pair.weight(required) — Shipment weight in pounds, or null.origin— Origin city and state; provide with destination, or use both ZIPs.origin_ziprequest_id— request_id from recommend_mode for this lane, or null. Links the price to that search.destinationpickup_date— Pickup date YYYY-MM-DD; omitted uses the calculator default.destination_zip
Hints: read-only yes · destructive no · idempotent no · open-world no
estimate_ltl_rateread-onlyEstimate a less-than-truckload rate using FreightFA's CzarLite-basis tariff calculator. Returns a directional benchmark for planning. Each call counts as one estimate toward the account's monthly FreightFA allowance.
Parameters:
distance(required) — number — Lane distance in miles. recommend_mode returns it for a city or ZIP pair.weight(required) — number — Shipment weight in pounds.freight_class(required) — ['string', 'null'] — NMFC freight class such as '70', '92.5', '175'. Null to use the default class.commodity(required) — ['string', 'null'] — Commodity description, or null for general freight.
Hints: read-only yes · destructive no · idempotent no · open-world no
estimate_rail_rateread-onlyEstimate a Class I carload rail freight rate for a commodity, distance, and weight. Pass origin and destination to check for active freight track near both ends (USDOT rail network): rail_access names the railroads nearby, and a lane with no track within 50 miles of an end returns available: false with the reason instead of a price. Don't quote rail on such a lane. Returns a directional benchmark for planning. Each call counts as one estimate toward the account's monthly FreightFA allowance.
Parameters:
commodity_type(required) — string — Commodity being shipped, e.g. 'grain', 'chemicals', 'intermodal containers'.distance(required) — number — Lane distance in miles. recommend_mode returns it for a city or ZIP pair.weight(required) — number — Shipment weight in pounds.origin— string — Origin city or ZIP, e.g. 'Kansas City, MO'. Recommended: enables the rail access check.destination— string — Destination city or ZIP, e.g. 'Atlanta, GA'. Recommended: enables the rail access check.
Hints: read-only yes · destructive no · idempotent no · open-world yes
estimate_intermodal_rateread-onlyEstimate a door-to-door domestic intermodal (rail + truck) rate between two U.S. places: drayage to the nearest Class I ramp, the rail line-haul, and drayage from the destination ramp, with the ramps used. Says when a lane has no intermodal service. Each call counts as one estimate toward the account's monthly FreightFA allowance.
Parameters:
origin(required) — string — Origin city and state, or ZIP. Example: 'Chicago, IL'.destination(required) — string — Destination city and state, or ZIP. Example: 'Los Angeles, CA'.weight(required) — number — Shipment weight in pounds.
Hints: read-only yes · destructive no · idempotent no · open-world yes
estimate_barge_rateread-onlyEstimate an inland waterway barge freight rate for a bulk commodity, origin, destination, distance, and weight, from USDA's weekly downbound grain barge rates. Only priced when both ends are Mississippi/Illinois/Ohio River ports, the lane runs downriver, and the shipment is at least one barge-load (~1,500 short tons, 3,000,000 lb); otherwise returns available: false with the reason. Priced on river miles. Returns a directional benchmark for planning. Each call counts as one estimate toward the account's monthly FreightFA allowance.
Parameters:
commodity_type(required) — string — Commodity being shipped, e.g. 'grain', 'corn', 'coal'. Barge only carries bulk commodities.origin(required) — string — Origin city and state, e.g. 'Minneapolis, MN'.destination(required) — string — Destination city and state, e.g. 'New Orleans, LA'.distance(required) — number — Lane distance in miles. recommend_mode returns it for a city or ZIP pair.weight(required) — number — Shipment weight in pounds.
Hints: read-only yes · destructive no · idempotent no · open-world no
recommend_moderead-onlyRank the freight modes (dry van, reefer, flatbed, intermodal, rail, barge, dump truck) for a shipment between two U.S. places, with the reasons for each, and return the lane distance in miles. Use it first when you only have city names or ZIPs, then pass the distance to an estimate_* tool for a price. International lanes return the ocean/air routing instead. Does not count toward the estimate allowance.
Parameters:
origin(required) — string — Origin city and state, or ZIP. Example: 'Chicago, IL'.destination(required) — string — Destination city and state, or ZIP. Example: 'Dallas, TX'.weight(required) — number — Shipment weight in pounds.commodity_type(required) — string — What is being shipped, e.g. 'Packaged Goods', 'Produce/Food', 'Machinery/Equipment', 'Hazmat/Chemicals'.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
ask_freight_analystAsk FreightFA's AI freight analyst a question in plain language: lane rates, mode choice, capacity, fuel, carrier vetting, market news, or drafting an RFP. Answers cite their sources and can include a priced rate card. Pass session_id from a previous answer to continue the same conversation. Each question counts toward the account's monthly FreightFA allowance.
Parameters:
question(required) — string — The question, up to 2,000 characters.session_id(required) — session_id returned by an earlier answer to continue that conversation, or null to start a new one.
Hints: read-only no · destructive no · idempotent no · open-world yes
get_market_snapshotread-onlyToday's U.S. national truckload rates per mile for dry van, reefer, and flatbed (all-in including fuel, with linehaul and fuel split), FreightFA's live-quote index, and EIA diesel, each with its source week and the change over the last 7 days. Use it for 'what are truck rates right now' questions; cite it as FreightFA with the as-of date. Does not count toward the estimate allowance.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_market_outlookread-onlyFreightFA's forecast for next week's U.S. national spot rate per mile (all-in including fuel) for dry van, reefer, or flatbed: the current weekly average, a p10/p50/p90 band, and whether rates look to be rising, falling, or stable, with the rationale and caveat. Omit the equipment type to get all three. National, not lane-specific. Does not count toward the estimate allowance.
Parameters:
equipment— Equipment type. Omit or null for all three.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_rail_market_outlookread-onlyHow U.S. rail carload prices are moving: the change in Class I railroads' average revenue per carload versus a year earlier, from their SEC filings (fuel surcharges included), for Agricultural or Industrial freight, with the outlook where it has passed a backtest. Omit the group to get both. National, not lane-specific. Does not count toward the allowance.
Parameters:
group— Commodity group. Omit or null for both.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_freight_index_outlookread-onlyLatest reading and next-period outlook for a global freight index: drewry_wci (Drewry World Container Index, $/40ft container), baltic_dry_index (dry bulk shipping), tac_air_index (air cargo rates), or iata_jet_fuel (jet fuel price). Omit the index to get all four. A forecast band is shown only where it has passed a backtest and the source readings are consistent; otherwise the answer says what was held back and why. Does not count toward the allowance.
Parameters:
index— Which index. Omit or null for all four.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_barge_outlookread-onlyUSDA weekly downbound grain barge rates for the river corridor between two Mississippi, Illinois, or Ohio River places, with next week's outlook where it has passed a backtest. Says when the places aren't on a priced corridor. Does not count toward the allowance.
Parameters:
origin(required) — string — Origin river city and state, e.g. 'St. Louis, MO'.destination(required) — string — Destination river city and state, e.g. 'New Orleans, LA'.
Hints: read-only yes · destructive no · idempotent yes · open-world no
lookup_carrierread-onlyVet a U.S. motor carrier from FMCSA SAFER data: operating authority, safety rating, insurance on file, driver and vehicle out-of-service rates, and FreightFA's risk flags. Search by USDOT number, MC number, or carrier name (give one). Data is cached for 24 hours. Does not count toward the estimate allowance.
Parameters:
dot_number(required) — ['string', 'null'] — USDOT number, digits only, or null.mc_number(required) — ['string', 'null'] — MC/MX docket number, digits only, or null.name(required) — ['string', 'null'] — Carrier legal or DBA name, or null.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
find_intermodal_hubsread-onlyLook up U.S. intermodal rail hubs by city or state: which Class I railroads serve the metro, the named ramps to ask a carrier about, and notes. Leave both out to list every hub. Does not count toward the allowance.
Parameters:
city— ['string', 'null'] — City or metro name, e.g. 'Houston'. Omit or null for any.state— Two-letter state code, e.g. 'TX'. Omit or null for any.
Hints: read-only yes · destructive no · idempotent yes · open-world no
explain_freight_termread-onlyPlain-English definition of a freight market index, ratio, or charge from the FreightFA glossary: OTRI, OTVI, load-to-truck ratio, NTI, Cass Freight Index, RCAF, fuel surcharge, freight class, detention and demurrage, DIM weight, bill of lading, deadhead, accessorials, linehaul, and more. Returns who publishes it, how to read it, and why it matters. Omit the term to list every entry with its link. Does not count toward the allowance.
Parameters:
term— The term or abbreviation, e.g. 'OTRI' or 'linehaul rate'. Omit or null to list every term.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_freight_newsread-onlyFreightFA's newest freight news: FreightFA Pulse market stories and updates (truck, rail, ocean, industry), articles from The FreightFA Brief newsletter, videos, and podcast episodes. Returns titles, dates, short summaries and links, newest first. Filter by source or by a topic keyword such as 'intermodal' or 'tariffs'. Works with no inputs. Use it for what is happening in freight right now; cite the linked page. Does not count toward the monthly allowance.
Parameters:
limit— How many items to return. Defaults to 8.topic— Optional keyword or two to match in titles and summaries, e.g. 'ocean rates'.source— Which feed: all (default), pulse (daily stories and market updates), articles (The FreightFA Brief), videos, or podcast.
Hints: read-only yes · destructive no · idempotent yes · open-world no
calculate_marginread-onlyMargin on a load from the buy rate (carrier cost) and sell rate (what the shipper pays): margin in dollars and percent of sell, the per-mile spread when miles are given, and the sell price needed to hit a target margin. Pure arithmetic; does not count toward the allowance.
Parameters:
buy(required) — number — Carrier cost (buy rate) for the load, all-in, in dollars.sell(required) — number — Shipper price (sell rate) for the load, all-in, in dollars.miles(required) — Loaded miles, or null.target_margin_pct(required) — Target margin as a percent of sell, e.g. 15, or null.
Hints: read-only yes · destructive no · idempotent yes · open-world no
check_freight_billread-onlyCompare what a shipper was billed (or quoted) for one truckload or LTL load with today's market price for the same lane. Use it when the user uploads, pastes, or describes a freight bill, carrier or broker invoice, or rate confirmation and asks whether the price is fair. Read the fields off the document yourself and pass only those; never send the document, its text, company or people's names, street addresses, or invoice, PRO, BOL, or account numbers. If the document doesn't say what kind of truck moved the load, ask the user. Dry Van and LTL return a verdict (above_market, at_market, good_price, below_floor) against FreightFA's market quote, negotiation target, and walk-away floor, plus what negotiating would have saved. Reefer and Flatbed return FreightFA's estimate and the gap with no verdict (no_call). The comparison is all-in with fuel; put detention, lumper, liftgate and other extras in accessorials so they are left out. Bills older than 90 days are not judged. Takes places, not miles. Each call counts as one estimate toward the account's monthly FreightFA allowance.
Parameters:
mode(required) — string — What moved. A plain truckload or FTL bill is 'Dry Van'.origin(required) — string — Where the load picked up: city and state, or ZIP. Example: 'Chicago, IL 60601'. Not the bill-to or remit-to address.destination(required) — string — Where the load delivered: city and state, or ZIP.billed_total(required) — number — Everything on the bill, in U.S. dollars.accessorials(required) — The part of billed_total that is extras (detention, lumper, liftgate, residential, layover), in dollars. Null or 0 when there are none.ship_date(required) — ['string', 'null'] — Ship or pickup date as YYYY-MM-DD, or null if the bill doesn't say.weight_lbs(required) — LTL only: shipment weight in pounds. Null for truckload.pallets(required) — LTL only: pallet count, or null.freight_class(required) — ['string', 'null'] — LTL only: NMFC freight class from the bill such as '70' or '92.5', or null.
Hints: read-only yes · destructive no · idempotent no · open-world yes
draft_pushback_emailread-onlyDraft an email to a broker or carrier pushing back on a truckload quote, using the market benchmark for the lane and this week's market direction. Set want_counter to true to also draft a counter-offer. If no benchmark is given, the national all-in rate for the equipment is used. Included with FreightFA Pro and Desk accounts.
Parameters:
origin(required) — string — Origin city and state.destination(required) — string — Destination city and state.equipment(required) — string — Equipment type.distance_miles(required) — number — Lane miles.quoted_total(required) — number — The all-in quote being pushed back on, in dollars.benchmark_per_mile(required) — All-in market benchmark in $/mi (e.g. from estimate_truckload_rate), or null to use the national rate.want_counter(required) — ['boolean', 'null'] — true to include a counter-offer.
Hints: read-only yes · destructive no · idempotent no · open-world no
create_rfpCreate a draft freight RFP in the user's FreightFA account with up to 50 lanes, and benchmark each lane against the market. Returns the RFP id, a link to finish and send it in the RFP Builder, and each lane's benchmark. Free accounts can have one RFP.
Parameters:
title(required) — string — RFP title, e.g. 'Q1 2027 Southeast truckload bid'.lanes(required) — array — The lanes to bid.
Hints: read-only no · destructive no · idempotent no · open-world no
list_rfpsread-onlyList the signed-in user's RFP documents, newest first, with lane counts.
Parameters:
status(required) — ['string', 'null'] — Filter by status such as 'draft' or 'sent'. Null for all statuses.limit(required) — Max rows to return (default 20).
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_rfpread-onlyFetch one of the signed-in user's RFP documents, including its lanes.
Parameters:
rfp_id(required) — string — The RFP document id.
Hints: read-only yes · destructive no · idempotent yes · open-world no
estimate_network_costPrice a supply chain of up to 10 legs (factory to port to warehouse to store, domestic or international) and total it, with each leg's mode, cost, and transit time. Saved to the user's Network Builder. Full costs are included with FreightFA Desk; other accounts can spend a one-time trial run by setting use_trial_run to true, otherwise legs come back without costs.
Parameters:
name(required) — string — A name for the network, e.g. 'Shenzhen to Dallas stores'.legs(required) — array — Legs in order.use_trial_run(required) — ['boolean', 'null'] — true to spend the account's one-time trial run if it has no Desk plan.
Hints: read-only no · destructive no · idempotent no · open-world yes
list_rate_alertsread-onlyList the signed-in user's lane rate alerts.
Parameters:
active_only(required) — ['boolean', 'null'] — True to return only active alerts.
Hints: read-only yes · destructive no · idempotent yes · open-world no
create_rate_alertCreate a lane rate alert for the signed-in user. Notifies them when the benchmark crosses the threshold.
Parameters:
origin(required) — string — Origin city/state or ZIP.destination(required) — string — Destination city/state or ZIP.mode(required) — string — Freight mode, e.g. 'FTL', 'LTL', 'Rail', 'Intermodal'.threshold_rate(required) — number — Rate threshold in USD.direction(required) — Trigger when the rate goes above or below the threshold. Defaults to 'below'.
Hints: read-only no · destructive no · idempotent not declared · open-world no
list_recent_searchesread-onlyList the signed-in user's recent freight rate searches and the lanes they priced (website, chat and assistant), newest first, each with its price breakdown (linehaul, fuel, market quote, target, floor) and how often it was priced.
Parameters:
limit(required) — Max rows to return (default 10).
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.