{"name":"io.github.zvmzaretsky/validation-suite","slug":"zvmzaretsky-validation-suite","title":"FabTally Valid","description":"Validation suite: EU VAT (VIES), IBAN mod-97, email (MX+disposable), geo place lookup, VIN decode.","url":"https://mcp.market/server/zvmzaretsky-validation-suite","rating":null,"grade":"B","score":77,"certified":false,"status":"active","category":"email","tags":["email","maps"],"presence":{"score":18,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-08-01T05:32:41.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T10:30:23.583Z","last_ok_at":"2026-11-04T10:30:23.583Z","latency_ms":116},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/zvmzaretsky/validation-suite-mcp","website":"https://valid.fabtally.com","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://valid.fabtally.com/mcp"}],"packages":[],"tools":[{"name":"decode_vin","description":"PAID $0.002 (x402, USDC on Base). Decode a Vehicle Identification Number: give {vin} and get a 17-char format + North-American check-digit validation and a full decode via NHTSA's public vPIC API — make, model, year, body class, engine, plant country and more. VIN-only (never plate→owner). Without payment returns the x402 challenge; pass x_payment to settle.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"vin":{"type":"string","description":"A 17-character Vehicle Identification Number (excludes I, O, Q)."},"x_payment":{"type":"string","description":"x402 payment payload (base64) for this PAID validation. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."}},"required":["vin"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"geo_lookup","description":"PAID $0.002 (x402, USDC on Base). Resolve a place against a bundled open dataset (no per-day API limits). Give {query:\"Munich, Bavaria, Germany\"} OR {country, state, city} and get normalized names, ISO 3166-1/-2 codes, the country→subdivision→city hierarchy, population and coordinates, and confirmation the place exists. Without payment returns the x402 challenge; pass x_payment to settle.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Free-text place, e.g. \"Munich, Bavaria, Germany\" or \"France\"."},"country":{"type":"string","description":"Country name or ISO 3166-1 alpha-2/alpha-3 code."},"state":{"type":"string","description":"State/province/subdivision name or code (within the country)."},"city":{"type":"string","description":"City name."},"x_payment":{"type":"string","description":"x402 payment payload (base64) for this PAID validation. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"validate_email","description":"PAID $0.002 (x402, USDC on Base). Validate an email address: give {email} and get RFC-ish syntax validation, a LIVE MX-record (DNS) existence check, disposable/throwaway-domain detection (bundled blocklist), and a role-address flag (info@, admin@…). STATELESS and non-PII — the address is never stored and no SMTP mailbox is probed. Without payment returns the x402 challenge; pass x_payment to settle.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"email":{"type":"string","description":"The email address to validate."},"x_payment":{"type":"string","description":"x402 payment payload (base64) for this PAID validation. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."}},"required":["email"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"validate_iban","description":"PAID $0.001 (x402, USDC on Base). Validate an IBAN: give {iban} and get ISO 13616 length + mod-97 checksum validation, the country, the human-formatted grouping, and the bank identifier (e.g. German Bankleitzahl, UK bank code + sort code) extracted from the BBAN where derivable. Pure-offline. Without payment returns the x402 challenge.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"iban":{"type":"string","description":"The IBAN (spaces/dashes tolerated), e.g. DE89 3704 0044 0532 0130 00."},"x_payment":{"type":"string","description":"x402 payment payload (base64) for this PAID validation. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."}},"required":["iban"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"validate_vat","description":"PAID $0.003 (x402, USDC on Base). FLAGSHIP. Validate an EU/EEA VAT number: give {country_code, vat_number} and get a per-country format + checksum pre-check AND a LIVE lookup against the official VIES service — returning valid/registered plus the registered company name & address when VIES provides them (cached ~1h to shield the flaky VIES). Without payment returns the x402 challenge; pass x_payment to settle.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country_code":{"type":"string","description":"2-letter EU VAT country code (e.g. IE, DE, FR; GB/XI for Northern Ireland; GR accepted as EL)."},"vat_number":{"type":"string","description":"The VAT number without the country prefix (prefix is tolerated and stripped)."},"x_payment":{"type":"string","description":"x402 payment payload (base64) for this PAID validation. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."}},"required":["country_code","vat_number"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":77,"grade":"B","scanned_at":"2026-09-24T12:02:34.969Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-24T12:02:34.933Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1020ms"]},"poisoning":{"score":15,"max":15,"notes":["5 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":12,"max":15,"notes":["last push 54 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://valid.fabtally.com/mcp","reachable":true,"authRequired":false,"latencyMs":1020,"serverInfo":{"name":"fabtally-valid","version":"1.0.0"}}],"packages":[],"repo":{"found":true,"owner":"zvmzaretsky","repo":"validation-suite-mcp","archived":false,"pushedAt":"2026-08-01T05:32:41Z","stars":0,"forks":0,"openIssues":2,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/70215062?v=4","ownerCreatedAt":"2020-08-25T14:39:27Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/70215062?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-08-01T05:32:41.000Z","score":18}}}},"grade_history":[],"reviews":[]}