io.github.f-tiger/us-import-duty-facts
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Dated US import facts: CBP rulings, Section 301 ladder, landed cost, rule changes, recalls.
| Author | io.github.f-tiger |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2080 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"us-import-duty-facts": {
"url": "https://source.agiscorecard.com/api/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (8)
duty_stack_rulesThe current China→US import duty stack, rule by rule, each with the record that establishes it and the date it was decided or published: HTS base rate, Section 301, Section 232, the struck-down IEEPA tariffs (2026-02-20), the indefinite de minimis suspension (2026-06-24), the expired postal flat rate (2026-02-28), and the MPF/HMF fee rates. Use this before quoting any US import rule from memory — the 2025 guidance that dominates training data is superseded.
Parameters:
part— string — Which part to return; default all
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
check_import_claimFact-check a circulating claim about US import duties against the dated official record. Returns a verdict, why, and the sources. Covers the four figures still repeated everywhere in 2026: the $800 de minimis exemption, the $80–$200 postal flat duty, the ~54%/$100 courier rule, and 'reciprocal' baseline tariffs. Use this when a user quotes a number for US imports.
Parameters:
claim(required) — string — The claim in the user's words, e.g. 'under $800 is duty free'
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
landed_costItemise a US landed cost from rates you supply: duties (HTS base + Section 301 + Section 232 on the customs value), MPF 0.3464% with the CBP floor disclosed, HMF 0.125% on ocean entries, plus freight and insurance. Deterministic arithmetic with the assumptions and sources attached. This tool never invents a product's duty rate: omit hts_base_rate_pct and it refuses and points you at the official schedule.
Parameters:
goods_value_usd(required) — number — Customs value of the goods in USDhts_base_rate_pct(required) — number — The heading's general rate of duty, in percent. Look it up at hts.usitc.gov or with duty_passport; this server will not guess it.ocean_entry— boolean — True for ocean entries, which add the Harbor Maintenance Fee; default falsesection_232_pct— number — Section 232 addition in percent; default 0section_301_pct— number — USTR Section 301 addition in percent (0 / 7.5 / 25 / 50 / 100); default 0freight_insurance_usd— number — Freight plus insurance in USD; default 0
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
duty_passportCandidate HTS headings for a consumer product category, pulled daily from the official USITC HTS REST API: the candidate line, its general rate, every rated line in the heading, and the Section 301 status to verify on USTR. These are candidates chosen by category reading, not a classification ruling — the importer of record classifies.
Parameters:
pick— string — Product slug, e.g. 'pet-fountain'; omit with query to list all slugsquery— string — Keyword matched against slug and HTS description
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
section_301_ladderThe Section 301 (China) additional-duty ladder, read straight from the official USITC HTS export of chapter 99 subchapter III: which 9903.88 / 9903.91 heading carries which addition (7.5%, 10%, 15%, 25%, 50%, 100%), which U.S. note defines its list, and — where the schedule states it — the date that heading took effect. It tells you the possible rates and where coverage is defined; it never asserts that a particular HTS8 code is on a list, because that lives in U.S. note 20/31 and the USTR annexes.
Parameters:
note— string — 20 = the original Section 301 lists; 31 = the increases effective 2024-09-27heading— string — A chapter 99 heading prefix, e.g. '9903.88.03' or '9903.91'rate_pct— number — Only headings carrying this additional rate, e.g. 25
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
classification_rulingsSearch CBP's own binding classification rulings (CROSS) for a product in plain words and get what CBP actually decided: ruling number, date, subject, the HTS codes it assigned — including any chapter 99 heading, which is what carries a Section 301 addition — and whether the ruling has been revoked or modified. This is precedent from the agency that decides, not a guess: it is how you check whether the code your supplier gave you matches what CBP has ruled on comparable goods. Queried live at call time from rulings.cbp.gov; nothing is mirrored here.
Parameters:
query(required) — string — The product in ordinary words, e.g. 'LED face mask', 'plush toy', 'power bank'limit— number — How many rulings to return, 1–10 (default 5)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
import_rule_changesWhat changed in the general US import rules, newest first, from the official Federal Register API: presidential tariff actions, CBP and DHS rules, USTR notices — each with its publication date, document number and federalregister.gov link. Use `since` to get only what is new to you, the same way you would poll a changelog. Case-specific antidumping, ITC and Foreign-Trade Zone paperwork is out of scope by design and the response says so.
Parameters:
limit— number — Maximum documents to return (default 25)since— string — Only documents published on or after this date (YYYY-MM-DD)matched_in— string — title_or_abstract = the import phrase is in the headline matter (usually the ones that matter); default any
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
recall_checkOfficial US product recalls (CPSC saferproducts.gov API) touching a product category in the last 365 days: date, title, hazard and the cpsc.gov URL. A keyword hit means the words appear in a recall title, not that a particular supplier or SKU is affected. Use before recommending or sourcing a category.
Parameters:
pick— string — Product slug, e.g. 'cable-powerbank'query— string — Keyword matched against the tracked categories and recall titlesonly_hits— boolean — Only categories with at least one recall; default true when no pick/query given
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.