Yaktool for AI agents
Agents keep rewriting the same ad-hoc validators — and each one misses the edge cases. yaktool-mcp puts all 70 Yaktool checks inside your agent: the same rule engine as this site, with every check numbered, severity-graded and backed by an official source.
Install
Claude Code
claude mcp add yaktool -- npx -y yaktool-mcp Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"yaktool": { "command": "npx", "args": ["-y", "yaktool-mcp"] }
}
} Cursor and other MCP clients
Any stdio-capable MCP client works — the command is npx -y yaktool-mcp.
Requires Node.js ≥ 20. Package:
yaktool-mcp on npm.
Why not just let the agent write a validator?
- Deterministic — pure rule code. Same input, same result, every run.
- Complete — the edge cases quick scripts miss (Excel scientific-notation damage, lost leading zeros, in-store barcode ranges, ISBN Bookland prefixes) are exactly what these rules cover.
- Local & private — runs over stdio on your machine. Zero network calls; nothing leaves the host.
- Structured — findings come back as
{ ruleId, severity, message, fix?, sourceUrl? }, not prose. - Bulk-native — most tools accept up to 1000 values per call, so a whole spreadsheet column is one call, not a loop.
All 70 tools
Every tool mirrors a check you can also run in the browser — same engine, same rules, same results.
-
validate_gtinValidate a GTIN / UPC / EAN barcode -
calculate_check_digitCalculate / complete a GTIN check digit -
analyze_amazon_search_termsAnalyze Amazon backend search terms (byte budget + rules) -
convert_gtinConvert a GTIN between UPC-12, EAN-13 and GTIN-14 -
validate_google_feedValidate a Google Shopping product feed before upload -
validate_shopify_csvValidate a Shopify product CSV before importing -
validate_isbnValidate and convert an ISBN (10 ⇄ 13) -
lint_listing_titleCheck a product title against marketplace rules -
check_main_imageCheck product-image measurements against Amazon main-image rules -
convert_upc_eConvert UPC-E ⇄ UPC-A (zero suppression) -
interpret_eight_digit_barcodeDisambiguate an 8-digit barcode (UPC-E vs GTIN-8) -
detect_invisible_charactersFind and explain invisible or look-alike characters in text -
identify_tracking_carrierIdentify the carrier from a tracking number -
generate_barcode_modulesGenerate the module pattern for a barcode symbol -
validate_vinValidate a VIN check digit and decode its structure -
validate_imeiValidate an IMEI or IMEISV -
validate_container_numberValidate a shipping container number (ISO 6346) -
parse_gs1_element_stringParse a GS1-128 element string into its Application Identifiers -
diff_product_feedsCompare two product feed versions aligned by SKU -
fix_mojibakeDiagnose and repair encoding damage (mojibake) -
detect_csv_dialectDetect the delimiter, quoting and encoding traits of a CSV -
check_number_formatCheck a price or number for ambiguous formatting -
check_date_formatCheck a date for ambiguity, or decode a spreadsheet serial -
diagnose_excel_damageDiagnose what a spreadsheet broke in a column of data -
check_gs1_digital_linkCheck a GS1 Digital Link URI against the current standard -
build_gs1_digital_linkBuild a conformant GS1 Digital Link URI from a GTIN -
check_image_metadataCheck an image for privacy-leaking EXIF metadata -
check_country_codeCheck or convert an ISO 3166-1 country code -
check_hreflangCheck hreflang annotations and produce the block every page must carry -
validate_awbValidate an air waybill number -
detect_mixed_scriptFind characters that are not what they look like -
convert_unitsConvert dimensions or weights for a feed, and report what rounding costs -
check_utmCheck a set of campaign URLs for tagging problems and report fragmentation -
build_utm_urlBuild a correctly tagged campaign URL -
check_colour_spaceCheck whether an image is CMYK, RGB, greyscale or indexed -
generate_slugTurn product titles into URL slugs and platform handles -
check_product_jsonldValidate Product structured data, values included -
build_product_jsonldGenerate Product JSON-LD that passes validation -
check_description_htmlCheck product description HTML for what a marketplace will strip -
check_postcodeCheck postcodes against the format each country uses -
check_lithium_batteryCalculate lithium battery watt hours and the passenger-carriage band -
validate_gs1_keyValidate SSCC-18 and GLN numbers -
validate_media_codesValidate ISSN journal numbers and ISRC recording codes -
validate_regulated_codesVerify CAS Registry numbers and convert NDC drug codes -
validate_ibanValidate IBANs and SWIFT/BIC codes -
validate_tax_idsCheck EU VAT numbers and EORI numbers against their published formats and check digits -
lint_bullet_pointsCheck listing bullet points and screen them for risky claim language -
audit_columnFind duplicate and inconsistently written values in a column -
calculate_dim_weightDimensional weight and the break-even box size -
check_compliance_statementCheck Prop 65, allergen and CE/UKCA/FCC statement wording -
check_open_graphCheck Open Graph meta tags -
check_email_templateCheck email merge fields before a send -
check_textile_labelCheck garment fibre content and care wording -
audit_media_specsAudit a batch of images and videos against marketplace limits -
convert_shoe_sizeConvert shoe sizes from the unit definitions -
explain_apparel_sizingExplain why apparel sizes cannot be converted -
lookup_un_numberLook up dangerous goods entries by name or UN number -
check_incotermCheck an Incoterms trade term against the transport mode -
validate_marketplace_feedValidate a product feed for Meta, TikTok Shop, Walmart or Amazon -
check_invoice_sequenceFind gaps and duplicates in a column of invoice numbers -
check_peppol_invoiceCheck a UBL invoice against the published Peppol BIS Billing 3.0 rules -
convert_feedConvert a product feed between Google Shopping and Meta -
repair_feedRepair a damaged product feed -
check_hs_codeCheck an HS / HTS / CN commodity code -
check_origin_declarationCheck a preferential origin declaration against the prescribed wording -
check_supplier_declarationPick and check an EU supplier's declaration -
check_leiCheck the structure and check digit of an LEI -
identify_einvoiceIdentify an e-invoice XML: syntax, kind, profile, and which validator applies -
check_creditor_referenceCheck an ISO 11649 RF creditor reference -
check_xrechnungCheck a German XRechnung invoice against KoSIT's official BR-DE rules