Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Removed "index_tools"; changed the definition of "bulk_hs_candidates", "customs_data_gap_check", "eu_duty_estimate" and 2 more (7 tools before, 6 now)
SuggestFind candidate tariff(codes for products. Best for: "what HS)codescode could this product use?" for up to 20 product titles, from the UK Trade Tariff and, if asked, the US Harmonized Tariff Schedule. Returns:Useupittofor3"whatcandidatesHSper product and market with code,coulddescriptionthisandproductsource.use?".EveryPasscode is a candidate, not binding; a large list may be cut short and says so per product. Input tips: products (1 to 20) of {title, optional description)},andsuchoptionalas {"products": [{"title": "ceramic coffee mug"}], "markets":(["UK"]}. markets is UK, US).Returnsorupboth (default UK). Hand-off: to3getcandidatesaperdutyproductamount,andcopymarketawithcandidate's code into landed_cost_estimate hs_code. It needs a full line: 10 digits for the UK,description8andorsource.10Everyfor the US. A shorter codeismustafirstcandidate,benotnarrowedbinding;to alargefulllistline. Notmayfor:beacutbindingshortclassificationandorsaysasodutyperamountproduct.by itself.
⟨39 unchanged words⟩ :"array"},"products":{"description":"Products1 to 20 products to find candidate tariff codes for,ateachmost{title,20.optional description}, such as [{\"title\": \"ceramic coffee mug\"}].","items":{"additionalProperties":false,"properties" ⟨47 unchanged words⟩
⟨8 unchanged words⟩ "items":{"properties":{"code":{"description":"Tariff code. Pass it to landed_cost_estimate as hs_code once it is a full line (UK 10 digits, US 8 or 10).","type":"string"},"description":{"type":"string"},"source":{"enum":["UK Trade Tariff","USITC Harmonized Tariff Schedule"],"type":"string"},"status":{"enum":["candidate, not binding"],"type":"string"}},"required":["code ⟨5 unchanged words⟩ },"type":"array"},"note":{"description":"Why a market has no candidates or was not searched, with the next step.","type":"string"},"title":{"type ⟨33 unchanged words⟩
CheckBestthefor:text"whichofproducts have no HS code?" or "is my export ready for customs?". Checks a Shopify Inventory CSV (it holds HS Code ⟨7 unchanged words⟩ CSV for missing or malformed HS codes,countries of originorigins, item identifiers (SKU or barcode) and invalid barcodes. Returns:Usecountsit(nullforwhere"whichtheproductsfilehavehas
EstimateBest for: the EUR 3 per item EU customs duty on a consignment of up to EUR 150 imported under IOSS or by post: EUR 3 per item, from 1 July 2026 until 1 July 2028 (Council Regulation (EU) 2026/382, Delegated Regulation (EU) 2026/1022). Returns:Usetheititemforcountquestionsaslikegiven"whatanddutywithappliesidenticaltolines
EstimateBestthefor:duty,"whatVATwill import duty andtotalVATlandedbecostonofthis?"anfor one item shipped to the UK,USorEUUS from a known tariff line. Returns:
⟨24 unchanged words⟩ or a feature request to the maintainers ofthesethetools.tools on this server. Send it when a tool is missing, a ⟨36 unchanged words⟩ name. Returns a ticket id. Feedback is forthesethe tools on this server only: it is not a chat, and ⟨20 unchanged words⟩
⟨66 unchanged words⟩ ,"tool":{"description":"Optional: the exact name of the tool on this server that the feedback is about,forasexampletools/list
Index and search openkrill MCP tools by task and keyword — LinkedIn recruiter jobs feedback broken links: search openkrill MCP tools by task. Use this to find a tool for recruiter search, LinkedIn keywords, jobs, feedback, a missing tool, bug reports, broken links, CVEs, packages, a domain check, or any other task. Lists tool name, a plain task phrase, and the MCP URL to connect. Feedback itself is submit_feedback on this same server.
Changed the definition of "landed_cost_estimate"
⟨73 unchanged words⟩ official tariffs; EU duty is not looked up. For the US, pass origin and transport. Returns duty (column 1 plus chapter 99 when the HTS notes match), VAT, fees and total, withtheeach chapter 99 heading, rate and reason,basisthe headings skipped, the sources and the date. complete is true only when chapter 99 and the fees were applied. A rate that is not a plain percentage is returned as text with no amount.US chapter 99 additional duties are not included.
Certificate recorded, valid to 2026-12-30
Authorization not required
Unknown → Live
First tool surface recorded: 7 tools (server version 1.0.0)
https://shopduty.openkrill.app/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 7 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨8 unchanged words⟩ exactly as exported from Shopify, header rowincluded.included, such as \"Handle,Title,SKU,HS Code,COO\" then the rows. At most 2 MB.","maxLength":2000000, ⟨8 unchanged words⟩
{"properties":{"issues":{"description":"Up to 200 rows to fix.","items":{"properties":{"handle":{"type":"string"},"problem":{"description":"What is wrong on the row, in plain words.","type":"string"},"row":{"description":"Row number in the file.","type":"integer"}},"required":["row ⟨57 unchanged words⟩ ],"type":"object"},"truncated":{"description":"true when more than 200 rows had problems and the list was cut.","type":"boolean"}},"required":[" ⟨6 unchanged words⟩
{"additionalProperties":false,"properties":{"channel":{"description":"ioss:How theimportgoodsisenter the EU: \"ioss\" (VAT-exempt under the Import One-StopShop. postal: the goodsShop)travelorin\"postal\" (a postalconsignment.consignment).","enum":["ioss","postal"], ⟨41 unchanged words⟩ :"string"},"lines":{"description":"Order lines of one consignment.LinesEach(1linetoholds200),onlyeach {description,hs_codeorigin (optional),2originletters), qtyand unit_value_eur; lines(integer),withunit_value_eurany(euros),otheroptionalfieldhs_code}, such asa customer name or address[{\"description\":\"mug\",are refused.\"origin\":\"CN\",\"qty\":2,\"unit_value_eur\":12}].","items":{"additionalProperties":false,"properties":{" ⟨15 unchanged words⟩ 6, 8 or 10 digit tariff code, dots allowed, if known (a candidate, not binding)","pattern":"^\\d{4}\\.?\\d{2}(\\.?\\d{2}(\\.?\\d{2})?)?$","type":"string"},"origin":{"description" ⟨4 unchanged words⟩ were made in, such as CN","pattern":"^[A-Za-z]{2}$","type":"string"},"qty":{"description":"Units on the line","maximum":100000,"minimum":1,"type":"integer"},"unit_value_eur":{"description":"Price of one unit in euros","maximum":1000000,"minimum":0,"type":"number"}} ⟨18 unchanged words⟩
⟨8 unchanged words⟩ "items":{"properties":{"duty_eur":{"description":"EUR 3 per item, or null when exempt_reason is set.","type":["number","null"]},"duty_if_identical_lines_grouped_eur":{"description":"Duty with identical lines merged, or null when exempt_reason is set.","type":["number","null"]},"exempt_reason":{"description":"Why no EUR 3 duty applies.","enum":["outside_validity_window","consignment_value_over_150_eur"],"type":"string"},"items":{"description":"Items as the lines are given: one per line.","type":"integer"},"items_if_identical_lines_grouped":{"description":"Items if lines with the same code, description and origin are merged.","type":"integer"},"note":{"description":"Plain-language reason when exempt_reason is set.","type":"string"},"value_eur":{"description":"Consignment value used for the EUR 150 test.","type":"number"}},"required":["items ⟨19 unchanged words⟩ },"type":"array"},"total_duty_eur":{"description":"Total EUR 3 duty in euros, as lines are given. 0 when the consignment is exempt.","type":"number"}},"required":[" ⟨6 unchanged words⟩
⟨22 unchanged words⟩ ,"type":"string"},"destination":{"description":"Where the goods are imported: \"UK\", \"US\" or \"EU\". EU duty is not looked up, only VAT.","enum":["UK","US","EU"] ⟨3 unchanged words⟩ :{"description":"Value of the goods, such as 80, in the one currency used for every amount (no conversion is done).","minimum":0,"type":"number"},"hs_code":{"description":"A full tariff line,(UK 10 digits,or US 8 or 10 digits),adotscandidateallowed,notsuchbinding.asEU\"6109100010\".ratesCopyareitnotfromlookedbulk_hs_candidates.up.A candidate, not binding.","maxLength":16,"minLength":6,"type ⟨32 unchanged words⟩ ":"Shipping and insurance to the destination, such as 12, in the samecurrencycurrency. Send 0 if none.","minimum":0,"type":"number"} ⟨41 unchanged words⟩
⟨2 unchanged words⟩ {"type":"string"},"chapter_99":{"description":"US only: extra chapter 99 duties that were added. They are already counted in duty; do not add them again.","items":{"properties":{"applied":{"type":"boolean"},"heading":{"description":"HTS chapter 99 heading, such as 9903.88.03.","type":"string"},"rate_pct":{"type":["number","null"]},"reason":{"description":"Why the heading was added or skipped.","type":"string"}},"required":["heading ⟨4 unchanged words⟩ ,"type":"array"},"chapter_99_skipped":{"description":"US only: chapter 99 headings that matched but were not added, each with the reason.","items":{"properties":{"applied":{"type":"boolean"},"heading":{"description":"HTS chapter 99 heading, such as 9903.88.03.","type":"string"},"rate_pct":{"type":["number","null"]},"reason":{"description":"Why the heading was added or skipped.","type":"string"}},"required":["heading ⟨4 unchanged words⟩ ,"type":"array"},"complete":{"description":"false when a part could not be worked out; then say what missing or notes list.","type":"boolean"},"destination":{"type":"string"},"duty":{"description":"Duty in the input currency. amount is null when the rate is not a plain percentage. For the US, rate and amount already include the chapter_99 lines that were added.","properties":{"amount":{"type":["number","null"]},"basis":{"description":"The value the rate applies to, or \"not calculated\".","type":"string"},"rate":{"description":"The rate applied. With chapter 99 lines it reads like 16.5% general + 20% chapter 99 = 36.5%.","type":["string","null"]},"rate_pct ⟨6 unchanged words⟩ ,"type":"object"},"fees":{"description":"US only: merchandise processing fee (MPF) and harbor fee (HMF).","items":{"properties":{"amount":{"type ⟨3 unchanged words⟩ {"type":"boolean"},"cite":{"description":"Legal source of the fee.","type":"string"},"name":{"enum":["MPF","HMF"],"type":"string"},"note":{"type" ⟨17 unchanged words⟩ {"type":"string"},"hs_status":{"description":"Always a candidate code, not a binding classification.","enum":["candidate, not binding"],"type":"string"},"missing":{"description":"What is missing when complete is false.","items":{"type":"string"},"type" ⟨14 unchanged words⟩ ,"type":"array"},"total":{"description":"Goods, shipping, duty, fees and VAT, in the input currency. Leaves out parts that are null.","type":"number"},"vat":{"description":"VAT in the input currency, on goods, shipping and duty. 0 for the US.","properties":{"amount":{"type":[" ⟨27 unchanged words⟩
⟨84 unchanged words⟩ {"description":"2-letter country the goods comefromfrom.(optional)Required for a complete US landed cost, so chapter 99 duties can be applied.","pattern":"^[A-Za-z]{2}$" ⟨13 unchanged words⟩ currency","minimum":0,"type":"number"},"transport":{"description":"How the goods travel into the US. ocean adds the harbor fee (0.125%). air and other add none. Required for a complete US landed cost.","enum":["ocean","air","other"],"type":"string"}},"required":["hs_code","destination" ⟨4 unchanged words⟩
{"properties":{"as_of":{"type":"string"},"chapter_99":{"items":{"properties":{"applied":{"type":"boolean"},"heading":{"type":"string"},"rate_pct":{"type":["number","null"]},"reason":{"type":"string"}},"required":["heading","reason","applied"],"type":"object"},"type":"array"},"chapter_99_skipped":{"items":{"properties":{"applied":{"type":"boolean"},"heading":{"type":"string"},"rate_pct":{"type":["number","null"]},"reason":{"type":"string"}},"required":["heading","reason","applied"],"type":"object"},"type":"array"},"complete":{"type":"boolean"},"destination" ⟨21 unchanged words⟩ ,"basis"],"type":"object"},"fees":{"items":{"properties":{"amount":{"type":["number","null"]},"applied":{"type":"boolean"},"cite":{"type":"string"},"name":{"type":"string"},"note":{"type":"string"},"rate_pct":{"type":"number"}},"required":["name","applied","cite","note"],"type":"object"},"type":"array"},"goods_value":{"type":"number"},"hs_code":{"type":"string"},"hs_status":{"type":"string"},"missing":{"items":{"type":"string"},"type":"array"},"notes":{"items":{"type" ⟨46 unchanged words⟩