commerce-validators
Commerce validators: live EU VAT (VIES), EORI, email/MX lookups; IBAN/ABA/GTIN checksums; VAT rates.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (2)
- LOWin payout_reconciliation
- LOWin reorder_point
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"commerce-validators": {
"url": "https://mcp.scienceswarm.org/mcp"
}
}
}Remote-Endpunkte
https://mcp.scienceswarm.org/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (10)
⚪validate_iban(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.
Eingabe-Schema
{
"type": "object",
"properties": {
"iban": {
"title": "Iban",
"type": "string"
}
},
"required": [
"iban"
],
"title": "validate_ibanArguments"
}🟢validate_gtin(code)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"code": {
"title": "Code",
"type": "string"
}
},
"required": [
"code"
],
"title": "validate_gtinArguments"
}⚪validate_aba_routing(routing_number)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"routing_number": {
"title": "Routing Number",
"type": "string"
}
},
"required": [
"routing_number"
],
"title": "validate_aba_routingArguments"
}⚪validate_eu_vat(vat_number)
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).
Eingabe-Schema
{
"type": "object",
"properties": {
"vat_number": {
"title": "Vat Number",
"type": "string"
}
},
"required": [
"vat_number"
],
"title": "validate_eu_vatArguments"
}🟢validate_eori(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).
Eingabe-Schema
{
"type": "object",
"properties": {
"eori": {
"title": "Eori",
"type": "string"
}
},
"required": [
"eori"
],
"title": "validate_eoriArguments"
}🟢check_email_domain(email_or_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.
Eingabe-Schema
{
"type": "object",
"properties": {
"email_or_domain": {
"title": "Email Or Domain",
"type": "string"
}
},
"required": [
"email_or_domain"
],
"title": "check_email_domainArguments"
}🟡vat_rate_by_country(country_code, date)
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'.
Eingabe-Schema
{
"type": "object",
"properties": {
"country_code": {
"title": "Country Code",
"type": "string"
},
"date": {
"default": "",
"title": "Date",
"type": "string"
}
},
"required": [
"country_code"
],
"title": "vat_rate_by_countryArguments"
}🟢stripe_connect_split(charge_amount, application_fee_pct, application_fee_fixed, processing_pct, processing_fixed, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"charge_amount": {
"title": "Charge Amount",
"type": "number"
},
"application_fee_pct": {
"default": 0,
"title": "Application Fee Pct",
"type": "number"
},
"application_fee_fixed": {
"default": 0,
"title": "Application Fee Fixed",
"type": "number"
},
"processing_pct": {
"default": 2.9,
"title": "Processing Pct",
"type": "number"
},
"processing_fixed": {
"default": 0.3,
"title": "Processing Fixed",
"type": "number"
},
"fee_bearer": {
"default": "seller",
"title": "Fee Bearer",
"type": "string"
}
},
"required": [
"charge_amount"
],
"title": "stripe_connect_splitArguments"
}🟢payout_reconciliation(gross_sales, refunds, processing_fees, chargebacks, other_deductions, ...)
Explain why a payout is less than sales: walk gross -> deductions -> expected, and (if actual_deposit given) flag the unexplained gap (shortfall/surplus).
Eingabe-Schema
{
"type": "object",
"properties": {
"gross_sales": {
"title": "Gross Sales",
"type": "number"
},
"refunds": {
"default": 0,
"title": "Refunds",
"type": "number"
},
"processing_fees": {
"default": 0,
"title": "Processing Fees",
"type": "number"
},
"chargebacks": {
"default": 0,
"title": "Chargebacks",
"type": "number"
},
"other_deductions": {
"default": 0,
"title": "Other Deductions",
"type": "number"
},
"actual_deposit": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Actual Deposit"
}
},
"required": [
"gross_sales"
],
"title": "payout_reconciliationArguments"
}⚪reorder_point(avg_daily_sales, lead_time_days, safety_stock, on_hand)
Reorder point = lead-time demand + safety stock. If on_hand is given, returns whether to reorder now and the days of cover remaining.
Eingabe-Schema
{
"type": "object",
"properties": {
"avg_daily_sales": {
"title": "Avg Daily Sales",
"type": "number"
},
"lead_time_days": {
"title": "Lead Time Days",
"type": "number"
},
"safety_stock": {
"default": 0,
"title": "Safety Stock",
"type": "number"
},
"on_hand": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "On Hand"
}
},
"required": [
"avg_daily_sales",
"lead_time_days"
],
"title": "reorder_pointArguments"
}Community
Nachweis