org. scienceswarm/ commerce-validators
by scienceswarm.org · remote · no sign-in to list tools · v1.1.1 · published by org.scienceswarm
Commerce validators: live EU VAT (VIES), EORI, email/MX lookups; IBAN/ABA/GTIN checksums; VAT rates.
10 tools: 1 do something that can't be undone, 5 change things and 4 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone1Claude Code: ask: see these tools
- Changes things5Claude Code: ask: see these tools
- Only reads4Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http commerce-validators https://mcp.scienceswarm.org/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
10 tools
Can't be undone 1Claude Code: ask
payout_reconciliationExplain why a payout is less than sales: walk gross -> deductions -> expected, and (if actual_deposit given) flag the unexplained gap (shortfall/surplus).No findings
Why it is in this group
- The name "payout_reconciliation" says "payout": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Explain why a payout is less than sales: walk gross -> deductions -> expected, and (if actual_deposit given) flag the unexplained gap (shortfall/surplus).
Changes things 5Claude Code: ask
check_email_domainCheck 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.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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.
reorder_pointReorder point = lead-time demand + safety stock.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Reorder point = lead-time demand + safety stock. If on_hand is given, returns whether to reorder now and the days of cover remaining.
stripe_connect_splitCompute the Stripe Connect three-way split for one charge.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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.
validate_gtinValidate a GTIN / UPC / EAN barcode (GTIN-8/12/13/14) by its check digit.No findings
Why it is in this group
- The name "validate_gtin" says "validate": a word for reading.
- The input takes a statement or command to run (input.code), which can change anything it can reach.
Description, as the server wrote it 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.
vat_rate_by_countryEU 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…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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'.
Only reads 4Claude Code: allow
validate_aba_routingValidate a US ABA bank routing number (9 digits) by its checksum.No findings
Why it is in this group
- The name "validate_aba_routing" says "validate": a word for reading.
Description, as the server wrote it 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.
validate_eoriValidate an EORI number (Economic Operators Registration and Identification) against the official EU customs database (live lookup).No findings
Why it is in this group
- The name "validate_eori" says "validate": a word for reading.
Description, as the server wrote it 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).
validate_eu_vatValidate an EU VAT number against the official EU VIES service (live government lookup).No findings
Why it is in this group
- The name "validate_eu_vat" says "validate": a word for reading.
Description, as the server wrote it 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).
validate_ibanValidate an IBAN (International Bank Account Number) by structure + the ISO 7064 mod-97 checksum.No findings
Why it is in this group
- The name "validate_iban" says "validate": a word for reading.
Description, as the server wrote it 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.
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.1.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http commerce-validators https://mcp.scienceswarm.org/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__commerce-validators__validate_iban",
"mcp__commerce-validators__validate_aba_routing",
"mcp__commerce-validators__validate_eu_vat",
"mcp__commerce-validators__validate_eori"
],
"ask": [
"mcp__commerce-validators__validate_gtin",
"mcp__commerce-validators__check_email_domain",
"mcp__commerce-validators__vat_rate_by_country",
"mcp__commerce-validators__stripe_connect_split",
"mcp__commerce-validators__payout_reconciliation",
"mcp__commerce-validators__reorder_point"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as commerce-validators. Review it before you use it.