Plain Freight

com.plainfreightPublished by plainfreight.comOfficial publisherv1.0.0Updated Oct 24, 2026

All-in DDP quotes for China to USA shipments, 100 g to 2,000 kg, from a live rate card

VerifiedStreamable HTTPWeb executableLocation & LifestyleBusiness & Commerce

Overview

AI-generated overview

Hosted MCP server that quotes all-in China-to-USA freight prices and lets an assistant check goods, poll offers and track shipments.

What you can do
  • Estimate rough door-to-door shipping prices in USD by weight, product and carton sizes
  • Check whether a product can be shipped and which documents it needs
  • Generate a firm offer with a quote_id and a prefilled booking link
  • Poll an offer's second check by quote_id for settled options and follow-up questions
  • Read a booked shipment's stage and dated events from its tracking link
When to use it
Useful when someone wants a quick China-to-USA shipping cost, needs to know if a product is shippable, or wants to follow an existing Plain Freight shipment. It suits small importers and assistants answering freight questions without a signup.
Requirements
Remote Streamable HTTP endpoint at plainfreight.com/api/mcp; nothing to install. No API key, signup or environment variables. Network access to plainfreight.com is required.
Before you install
generate_offer records a quote request and, if an email is supplied, mails an offer there (at most one per address per day); no tool books or charges. Tracking tokens act as credentials, so anyone with the link can read that shipment. Prices exclude cargo insurance, and needs_review withholds prices deliberately. Rate limits apply per IP and email.

Installation

In SourceWeft

  1. Open Plain Freight in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.plainfreight%2Fquotes/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "plain-freight": {
      "type": "http",
      "url": "https://plainfreight.com/api/mcp"
    }
  }
}

README

Plain Freight MCP server

A hosted Model Context Protocol server that quotes real freight. Ask it what it costs to ship something from China to the United States and it returns an all-in delivered-duty-paid price from the same pricing engine a human customer is quoted from: freight, US customs clearance, import duty and delivery to a US door, in one number.

No API key. No signup. Nothing to install.

https://plainfreight.com/api/mcp

Transport is Streamable HTTP, stateless, protocol version 2025-06-18 (also accepts 2025-03-26 and 2024-11-05).

Add it to a client

Claude Code:

bash
claude mcp add --transport http plain-freight https://plainfreight.com/api/mcp

Claude Desktop, Cursor, or anything reading a JSON config:

json
{  "mcpServers": {    "plain-freight": {      "type": "http",      "url": "https://plainfreight.com/api/mcp"    }  }}

Check it by hand:

bash
curl -s -X POST https://plainfreight.com/api/mcp \  -H "Content-Type: application/json" \  -H "Accept: application/json, text/event-stream" \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Tools

Five tools. Only generate_offer records anything; the other four only read. No tool books or charges anything.

ToolWhat it does
estimate_priceA rough door to door cost in USD for air (and sea from 100 kg chargeable weight), from the same pricing engine. Needs weight_kg; product, carton sizes (carton_length_cm, carton_width_cm, carton_height_cm, carton_count) or total_cbm sharpen it. Returns the chargeable weight used (the greater of actual weight and carton volume in cm3 / 6,000), transit estimates and whether US import duty is included. Records nothing, contacts no one, needs no email. Goods that need a person to review them get no figure.
check_goodsSays whether a product (product, in the user's words) is priced at once or reviewed by a person first (for example batteries, chemicals, food, cosmetics, seeds, vapes or weapons), with a plain explanation and what documents to have ready. Same screen as generate_offer, so it predicts what an offer will do. Records nothing. Not legal or customs advice.
generate_offerThe firm offer. Needs product and weight_kg (0.1 to 2000); dimensions, origin, destination_zip, urgency, email, name and notes all improve the answer. Pass carton sizes when you have them: for light bulky cargo the volumetric weight sets the price, not the scale weight. Each call records a quote request, and if an email is given the written offer is mailed there once the second check settles (at most one offer email per address per day). Returns the options, a quote_id and a link to a booking form on plainfreight.com prefilled with the shipment.
check_offer_statusPolls an offer by quote_id until settled is true. Every quote gets a second check, which can add follow-up questions, change the options, or set needs_review. Read-only.
track_shipmentReads the live record for a booked shipment from its tracking_link (https://plainfreight.com/track/<token>, or the bare token): current stage on the 10-stage lifecycle, route and dated events. Read-only.

Booking happens outside the chat: the user opens the prefilled booking form, replies to the offer email, or writes to [email protected] quoting the quote_id. Nothing is paid before the goods are weighed at the warehouse.

Two behaviours worth knowing before you build on it:

  • needs_review means the prices are withheld on purpose. The goods look restricted (batteries, food, chemicals) and a person has to clear them first. Do not present a number to the user in that case; Plain Freight follows up by email.
  • The tracking token is the credential. Anyone holding the link can read that shipment, and the record deliberately excludes cost and margin fields.

Rate limits: 20 offers per hour per IP, 4 per email address, 30 across all agents per hour. For bulk or programmatic access, email [email protected].

There is also a plain REST version of the same pricing call at POST https://plainfreight.com/api/v1/offer, described in openapi.json, and human documentation at plainfreight.com/for-agents.

Published reference data

The same engine feeds three pages that are free to cite, with CSV and JSON where it makes sense:

The price-index data is also published as a dataset at plainfreight-com/china-usa-freight-price-index.

What Plain Freight is

A China to USA freight agency for small importers: one all-in DDP price on shipments from 100 g to 2,000 kg, quoted before pickup. Plain Freight is a trading name of Fisto LLC, a Wyoming limited liability company. The price does not include cargo insurance, which the customer arranges separately.

Questions, or a shipment that needs a human: [email protected]

Licence

MIT for the contents of this repository. The MCP server itself is a live commercial service; using it means quoting real freight, so treat the prices as real.

Source: README.md at commit 13bebb3

Tools

5

estimate_price

Estimate China to USA shipping cost

Rough price estimate for shipping goods from China to a US address, 100 g to 2,000 kg. Records nothing, contacts no one and needs no email. Inputs: total weight, and optionally the product and carton sizes or total volume. Returns estimated door to door prices in USD for air (and sea from 10 kg chargeable weight), the chargeable weight used (the greater of actual weight and carton volume in cm3 / 6,000), transit estimates, and whether US import duty is included. Figures come from Plain Freight's pricing engine for densely packed goods, priced on the applicable rate; goods that need a review get no figure. The exact ZIP code, pickup city and cartons can move the price, so the result is an estimate, not an offer.

Parametersproducttotal_cbmweight_kgrequiredcarton_countcarton_width_cmcarton_height_cmcarton_length_cm

check_goods

Check if goods can be shipped

Checks whether Plain Freight can ship a product from China to the US, and which documents it needs. Records nothing. Input: the product description. Returns a verdict: instant_offer or branded_rate (priced at once, each on its applicable rate) or person_checks_first (for example batteries, chemicals, food, cosmetics, seeds, vapes or weapons: a person reviews the goods before any price), with a plain explanation and the documents or details to have ready. It applies the same goods screen as Plain Freight's offers; it is not legal or customs advice.

Parametersproductrequired

generate_offer

Quote a China to USA shipment

Prices a real shipment from China to a US address, 100 g to 2,000 kg, on Plain Freight's live pricing engine. Returns door to door prices in USD: each option covers freight, US customs clearance and delivery, and says whether US import duty is included (DDP) or paid at import. Carton dimensions affect the price: for light, bulky cargo the volumetric weight sets it. Side effects: each call records a separate quote request with Plain Freight, and if an email is given the written offer is emailed to that address once a second check settles (at most one offer email per address per day). Nothing is booked or charged. The result carries a quote_id, by which the second check's verdict can be read.

Parametersnameemailnotesoriginproductrequiredurgencyweight_kgrequireddimensionsdestination_zip

check_offer_status

Check an offer's second review

Reads the result of the second check on a Plain Freight offer, by the offer's quote_id. Read-only. Returns settled (true once the check finished), possibly updated options and summary, follow-up questions whose answers change the price or customs channel, the offer email status, and needs_review. When needs_review is true, prices are withheld until a person at Plain Freight reviews the goods (for example batteries, food or chemicals), and Plain Freight follows up by email.

Parametersquote_idrequired

track_shipment

Track an existing shipment

Reads a booked Plain Freight shipment from its tracking link. Input: the tracking link from the booking email (https://plainfreight.com/track/<token>) or the bare token; the token is the credential, so only someone the customer shared the link with can read the record. Returns the shipment reference, the current stage on the 10-stage lifecycle (Booking through Delivered), shipment details and the dated event log. Read-only; changes to a booking go by email to [email protected] with the shipment reference.

Parameterstracking_linkrequired

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts