MCP 服务器

commerce-validators

org.scienceswarm/commerce-validators

此 MCP 可以做什么

Provides commerce validation and calculation tools for VAT, EORI, IBAN, routing numbers, GTINs, email domains, VAT rates, payouts, and payment splits.

check_email_domain
Check whether a domain can actually receive email (has MX records) via a real DNS-over-HTTPS lookup — validate a customer/supplier email's domain before sending or invoicing. An LLM can't know current DNS; this does the live lookup.
输入模式
{'type': 'object', 'title': 'check_email_domainArguments', 'required': ['email_or_domain'], 'properties': {'email_or_domain': {'type': 'string', 'title': 'Email Or Domain'}}}
payout_reconciliation
Explain why a payout is less than sales: walk gross -> deductions -> expected, and (if actual_deposit given) flag the unexplained gap (shortfall/surplus).
输入模式
{'type': 'object', 'title': 'payout_reconciliationArguments', 'required': ['gross_sales'], 'properties': {'refunds': {'type': 'number', 'title': 'Refunds', 'default': 0.0}, 'chargebacks': {'type': 'number', 'title': 'Chargebacks', 'default': 0.0}, 'gross_sales': {'type': 'number', 'title': 'Gross Sales'}, 'actual_deposit': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Actual Deposit', 'default': None}, 'processing_fees': {'type': 'number', 'title': 'Processing Fees', 'default': 0.0}, 'other_deductions': {'type': 'number', 'title': 'Other Deductions', 'default': 0.0}}}
reorder_point
Reorder point = lead-time demand + safety stock. If on_hand is given, returns whether to reorder now and the days of cover remaining.
输入模式
{'type': 'object', 'title': 'reorder_pointArguments', 'required': ['avg_daily_sales', 'lead_time_days'], 'properties': {'on_hand': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'On Hand', 'default': None}, 'safety_stock': {'type': 'number', 'title': 'Safety Stock', 'default': 0.0}, 'lead_time_days': {'type': 'number', 'title': 'Lead Time Days'}, 'avg_daily_sales': {'type': 'number', 'title': 'Avg Daily Sales'}}}
stripe_connect_split
Compute the Stripe Connect three-way split for one charge. Returns what the buyer pays, what Stripe takes, what the platform nets (its application fee), and what the connected seller nets — plus the platform's effective take rate. fee_bearer: 'seller' | 'platform' | 'buyer' (who absorbs the Stripe processing fee). Rates are editable; defaults are US card standard 2.9%+$0.30.
输入模式
{'type': 'object', 'title': 'stripe_connect_splitArguments', 'required': ['charge_amount'], 'properties': {'fee_bearer': {'type': 'string', 'title': 'Fee Bearer', 'default': 'seller'}, 'charge_amount': {'type': 'number', 'title': 'Charge Amount'}, 'processing_pct': {'type': 'number', 'title': 'Processing Pct', 'default': 2.9}, 'processing_fixed': {'type': 'number', 'title': 'Processing Fixed', 'default': 0.3}, 'application_fee_pct': {'type': 'number', 'title': 'Application Fee Pct', 'default': 0.0}, 'application_fee_fixed': {'type': 'number', 'title': 'Application Fee Fixed', 'default': 0.0}}}
validate_aba_routing
Validate a US ABA bank routing number (9 digits) by its checksum. Catch typos before initiating an ACH/wire payout. Pure-algorithm; nothing leaves the machine.
输入模式
{'type': 'object', 'title': 'validate_aba_routingArguments', 'required': ['routing_number'], 'properties': {'routing_number': {'type': 'string', 'title': 'Routing Number'}}}
validate_eori
Validate an EORI number (Economic Operators Registration and Identification) against the official EU customs database (live lookup). An EORI is required for EU imports/exports — check a trading partner's or your own EORI before customs filings / freight bookings. Input e.g. 'DE1234567890123' (country code + number).
输入模式
{'type': 'object', 'title': 'validate_eoriArguments', 'required': ['eori'], 'properties': {'eori': {'type': 'string', 'title': 'Eori'}}}
validate_eu_vat
Validate an EU VAT number against the official EU VIES service (live government lookup). Returns whether it is registered/valid and, if available, the registered trader name + address. An LLM cannot know this without the real lookup — use this before invoicing/reverse-charging an EU B2B customer. Input e.g. 'DE811569869' or 'IE6388047V' (country code + number).
输入模式
{'type': 'object', 'title': 'validate_eu_vatArguments', 'required': ['vat_number'], 'properties': {'vat_number': {'type': 'string', 'title': 'Vat Number'}}}
validate_gtin
Validate a GTIN / UPC / EAN barcode (GTIN-8/12/13/14) by its check digit. Catches mistyped product barcodes in inventory/catalog workflows. Pure-algorithm.
输入模式
{'type': 'object', 'title': 'validate_gtinArguments', 'required': ['code'], 'properties': {'code': {'type': 'string', 'title': 'Code'}}}
validate_iban
Validate an IBAN (International Bank Account Number) by structure + the ISO 7064 mod-97 checksum. Catches typos/invalid accounts before you initiate a transfer. Pure-algorithm; no data leaves the machine.
输入模式
{'type': 'object', 'title': 'validate_ibanArguments', 'required': ['iban'], 'properties': {'iban': {'type': 'string', 'title': 'Iban'}}}
vat_rate_by_country
EU VAT rates (standard / reduced / super-reduced / parking) for a country, from the maintained ibericode/vat-rates dataset (fetched live, cached 24h) — including which rate set was in force on an optional 'date' (YYYY-MM-DD) and the names of regional exceptions (e.g. Canary Islands). Input e.g. 'DE', 'FR', 'HU'.
输入模式
{'type': 'object', 'title': 'vat_rate_by_countryArguments', 'required': ['country_code'], 'properties': {'date': {'type': 'string', 'title': 'Date', 'default': ''}, 'country_code': {'type': 'string', 'title': 'Country Code'}}}
已添加
reorder_point
2026年9月17日 12:54
已添加
payout_reconciliation
2026年9月17日 12:54
已添加
stripe_connect_split
2026年9月17日 12:54
已添加
vat_rate_by_country
2026年9月17日 12:54
已添加
check_email_domain
2026年9月17日 12:54
已添加
validate_eori
2026年9月17日 12:54
已添加
validate_eu_vat
2026年9月17日 12:54
已添加
validate_aba_routing
2026年9月17日 12:54
已添加
validate_gtin
2026年9月17日 12:54
已添加
validate_iban
2026年9月17日 12:54