{"name":"io.github.contentfactory/eu-verify","slug":"contentfactory-eu-verify","title":null,"description":"European business verification for AI agents: registry, VAT, sanctions, IBAN. Pay-per-call x402.","url":"https://mcp.market/server/contentfactory-eu-verify","rating":null,"grade":"B","score":77,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":21,"stars":1,"forks":1,"downloads_week":null,"last_push_at":"2026-07-25T05:31:56.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T05:45:43.596Z","last_ok_at":"2026-11-04T05:45:43.596Z","latency_ms":144},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/contentfactory/eu-verify","website":"https://data.greeneris.io","version":"1.4.0","remotes":[{"type":"streamable-http","url":"https://data.greeneris.io/mcp"}],"packages":[],"tools":[{"name":"business_days_fr","description":"Adds N French business days to a date (?start=2026-07-13&add=30) or counts them over a range (?from=2026-07-01&to=2026-09-30). Skips weekends and the 11 French legal public holidays (movable feasts computed via Butcher-Meeus). mode=ouvres (Mon-Fri, default) or ouvrables (Mon-Sat). Deterministic local computation, JSON. Price: $0.005 USDC per call (x402).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"start":{"title":"Start","type":"string"},"add":{"default":30,"title":"Add","type":"integer"}},"required":["start"],"title":"business_days_frArguments"}},{"name":"catalog","description":"FREE. Lists every product of this data shop: HTTP endpoint, price in USDC, and one-line summary. Use it to discover capabilities before paying.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"title":"catalogArguments"}},{"name":"check_eori","description":"Live EORI (Economic Operators Registration and Identification) validation via the European Commission EOS/DDS2 service -- the number every business needs to clear customs in the EU. Query: ?eori=FR38347481400100 (2-letter country + up to 15 alphanumerics). Returns valid true/false plus registered name and address when the operator consented to publication. SOAP upstream, clean JSON out; 24h cache. Price: $0.003 USDC per call (x402).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"eori":{"title":"Eori","type":"string"}},"required":["eori"],"title":"check_eoriArguments"}},{"name":"check_insolvency_fr","description":"Legal announcements from the French BODACC official gazette for one company, by SIREN (Luhn-validated). Query: ?siren=383474814 (required), famille=collective for insolvency proceedings (optional filter), limit=10 (1-20). Returns newest-first announcements with family, tribunal, judgment nature and date, and source URL; legal entities only (GDPR-safe). Zero announcements for a valid SIREN is a clean-record signal. Source: DILA open data, daily publications. Cached 1h. Price: $0.01 USDC per call (x402).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"siren":{"title":"Siren","type":"string"},"famille":{"default":"","title":"Famille","type":"string"},"limit":{"default":5,"title":"Limit","type":"integer"}},"required":["siren"],"title":"check_insolvency_frArguments"}},{"name":"find_public_tenders_eu","description":"Fresh EU public procurement notices from TED (Tenders Electronic Daily, official Publications Office API, new notices daily). Query: ?cpv=48000000&country=FRA&days_back=7&limit=10 (cpv = 8-digit CPV code, country = 3-letter buyer country, all optional). Each notice: publication_number, publication_date, title, buyer_name, tender deadline, notice URL. 1h cache. Price: $0.01 USDC per call (x402).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"cpv":{"default":"","title":"Cpv","type":"string"},"country":{"default":"","title":"Country","type":"string"},"days_back":{"default":7,"title":"Days Back","type":"integer"},"limit":{"default":5,"title":"Limit","type":"integer"}},"title":"find_public_tenders_euArguments"}},{"name":"invoice_ready_fr","description":"One-call compliance check for the French e-invoicing reform (from 2026-09-01 the customer's SIREN is a mandatory invoice mention). Query: ?siren=552032534 or ?siret=55203253400041. Runs the Luhn checksum, confirms existence and active status in the official SIRENE registry, computes the FR VAT number and validates it live against VIES. Returns a single verdict: ready / not_ready / check_vat_manually (VIES flakiness never blocks the answer). 1h cache. Price: $0.02 USDC per call (x402).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"number":{"title":"Number","type":"string"}},"required":["number"],"title":"invoice_ready_frArguments"}},{"name":"lei_ownership","description":"Who owns whom, from the official GLEIF LEI graph (CC0 licensed, covers 2.5M+ legal entities worldwide). Query: ?lei=5493001KJTIIGC8Y1R12. Four GLEIF lookups in one call: entity name and status, declared direct parent, ultimate parent, plus the total count and a 10-entity sample of direct children. Unknown LEI returns found=false. 24h cache. Price: $0.005 USDC per call (x402).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"lei":{"title":"Lei","type":"string"}},"required":["lei"],"title":"lei_ownershipArguments"}},{"name":"lookup_company_fr","description":"Official French company registry search via recherche-entreprises.api.gouv.fr (INSEE Sirene data, updated daily). Query: ?q=airbus or ?q=383474814 (name or SIREN), optional per_page (1-10), page, code_postal, activite_principale (NAF, e.g. 70.10Z), etat_administratif (A active / C ceased). Returns SIREN, legal form, NAF, HQ address, employee range, status and published finances per company. Personal data on directors is stripped (GDPR). 24h cache. Price: $0.005 USDC per call (x402).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"q":{"title":"Q","type":"string"},"per_page":{"default":3,"title":"Per Page","type":"integer"}},"required":["q"],"title":"lookup_company_frArguments"}},{"name":"lookup_company_uk","description":"Official UK Companies House data in one paid call. Search: ?q=tesco returns matching companies (number, status, type, incorporation date). Profile: ?number=00445790 returns the full profile PLUS current officers and PSC (persons with significant control, the UK quasi-UBO register): names, roles, natures of control, risk flags (insolvency history, charges, overdue filings) and typed insolvency cases when history exists. Statutory register data, minimized. 24h cache. Price: $0.01 USDC per call (x402).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"q":{"default":"","title":"Q","type":"string"},"number":{"default":"","title":"Number","type":"string"},"limit":{"default":5,"title":"Limit","type":"integer"}},"title":"lookup_company_ukArguments"}},{"name":"lookup_financials_fr","description":"Annual accounts filed with the French RNE (INPI). Query: ?siren=552032534 (9 digits, Luhn-validated). Returns the filing history -- closing date, filing date, type (complet/simplifie/consolide), public or confidential -- which is a KYB signal in itself. For the latest public filing it adds headline figures (revenue, operating and net result, total assets, equity) when the liasse scheme is mapped, else says not_covered rather than guessing. 24h cache. Price: $0.03 USDC per call (x402).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"siren":{"title":"Siren","type":"string"}},"required":["siren"],"title":"lookup_financials_frArguments"}},{"name":"lookup_lei","description":"Legal entity reference data from the GLEIF LEI golden copy (updated daily, CC0). Direct lookup: ?lei=529900FCMZ4LKXFD0R69. Search: ?name=airbus&country=FR&limit=5. Each result: lei, legal_name, entity_status, registration_status (ISSUED/LAPSED), jurisdiction, legal_form_id, hq_city/country, next_renewal_date. 24h cache. Price: $0.005 USDC per call (x402).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"default":"","title":"Name","type":"string"},"country":{"default":"","title":"Country","type":"string"},"lei":{"default":"","title":"Lei","type":"string"},"limit":{"default":3,"title":"Limit","type":"integer"}},"title":"lookup_leiArguments"}},{"name":"screen_sanctions","description":"Screen a name against the five official sanctions lists (EU, US OFAC SDN, UN, UK FCDO, French asset freezes) from a snapshot refreshed daily, with per-list dates. Query: name=NAME (optional threshold=0.6-1.0, lists=eu,ofac,un,uk,fr). Returns scored matches with entity type and programs, and a verdict: match, possible_match or no_match. Price: $0.01 USDC per call (x402).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"title":"Name","type":"string"},"threshold":{"default":0.85,"title":"Threshold","type":"number"},"lists":{"default":"","title":"Lists","type":"string"}},"required":["name"],"title":"screen_sanctionsArguments"}},{"name":"validate_email","description":"One-call email verification for lead qualification and list hygiene: RFC 5322 syntax check, then a live MX lookup over DNS-over-HTTPS (Cloudflare, Google fallback). Detects non-existent domains (NXDOMAIN), null-MX domains that refuse mail (RFC 7505), and returns prioritized MX hosts. Query: ?email=someone@example.com. Verdict: deliverable | risky | undeliverable. 1h cache per address. Price: $0.005 USDC per call (x402).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"email":{"title":"Email","type":"string"}},"required":["email"],"title":"validate_emailArguments"}},{"name":"validate_iban","description":"Deterministic IBAN check before a SEPA/international transfer: format regex, per-country length (public SWIFT registry, ~85 countries) and ISO 7064 mod-97 checksum. Query: ?iban=FR1420041010050500013M02606 (spaces/dashes tolerated). Returns valid, country, bban, and a precise failure reason. Pure offline computation, 1y cache. Price: $0.001 USDC per call (x402).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"iban":{"title":"Iban","type":"string"}},"required":["iban"],"title":"validate_ibanArguments"}},{"name":"validate_siret_fr","description":"Instant pre-validation of French company numbers before invoicing or costly Sirene API calls. Auto-detects SIREN (9 digits) vs SIRET (14 digits), applies the INSEE Luhn rule and the documented La Poste exception (356000000*: digit sum mod 5). Query: ?number=44306184100047 (spaces/dots/dashes tolerated). Returns valid, type, siren, nic and the rule applied. Pure offline computation, 1y cache. Price: $0.001 USDC per call (x402).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"number":{"title":"Number","type":"string"}},"required":["number"],"title":"validate_siret_frArguments"}},{"name":"validate_vat_eu","description":"Live intra-EU VAT number validation via the European Commission VIES REST API (real-time query of the member state registry). Query: ?cc=IE&vat=6388047V (cc = member state code incl. EL/XI, vat = number without country prefix). Returns is_valid, the trader name and address as registered (when the member state publishes them) and request_date (compliance timestamp); 24h cache. Price: $0.005 USDC per call (x402).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country":{"title":"Country","type":"string"},"vat":{"title":"Vat","type":"string"}},"required":["country","vat"],"title":"validate_vat_euArguments"}},{"name":"verify_address_fr","description":"French address geocoding on the official Base Adresse Nationale (api-adresse.data.gouv.fr, Etalab/IGN, continuously updated). Forward: ?q=8 boulevard du port amiens with optional &type=housenumber|street|locality|municipality &citycode=80021 (INSEE filter). Reverse: ?lat=49.897&lon=2.290. &limit=1-10 (default 3). Each match returns normalized label, confidence score, lat/lon, street, postcode, city, INSEE citycode and context. No match returns 400 (not billed). Cached 24h. Price: $0.001 USDC per call (x402).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"q":{"title":"Q","type":"string"},"limit":{"default":3,"title":"Limit","type":"integer"}},"required":["q"],"title":"verify_address_frArguments"}},{"name":"verify_company_eu","description":"One-call verification of a European company: official registry existence and status, insolvency signals, VAT (VIES), LEI (GLEIF), sanctions screening (EU/OFAC/UN/UK/FR), EORI and domain age, condensed into a pass/review/fail verdict with per-check source, timestamp and an explicit coverage map. Query: country=FR (FR, UK, IE, NO, FI, SK, PL, CZ, CH) and id=552032534 (national registry number). Factual verification, not a credit score. Buyers are never charged on failure. Price: $0.10 USDC per call (x402).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country":{"title":"Country","type":"string"},"id":{"title":"Id","type":"string"},"vat":{"default":"","title":"Vat","type":"string"},"lei":{"default":"","title":"Lei","type":"string"},"eori":{"default":"","title":"Eori","type":"string"},"domain":{"default":"","title":"Domain","type":"string"}},"required":["country","id"],"title":"verify_company_euArguments"}},{"name":"verify_supplier_fr","description":"One-call due diligence on a French company by SIREN or SIRET: checksum, existence and status (SIRENE), insolvency proceedings (BODACC), VAT validity (VIES) and sanctions screening across EU/OFAC/UN/UK/FR lists, condensed into a risk verdict (low, medium, high or critical) with reasons and a 0-100 score. Query: siren=NNNNNNNNN or siret=NNNNNNNNNNNNNN. Sub-checks degrade gracefully; buyers are never charged on failure. Price: $0.05 USDC per call (x402).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"number":{"title":"Number","type":"string"}},"required":["number"],"title":"verify_supplier_frArguments"}}],"scan":{"score":77,"grade":"B","scanned_at":"2026-09-24T21:42:47.149Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-24T21:42:47.143Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 613ms"]},"poisoning":{"score":15,"max":15,"notes":["19 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 62 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://data.greeneris.io/mcp","reachable":true,"authRequired":false,"latencyMs":613,"serverInfo":{"name":"eu-verify","version":"1.28.1"}}],"packages":[],"repo":{"found":true,"owner":"contentfactory","repo":"eu-verify","archived":false,"pushedAt":"2026-07-25T05:31:56Z","stars":1,"forks":1,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/36481088?v=4","ownerCreatedAt":"2018-02-14T15:14:28Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/36481088?v=4&s=128","source":"github"},"presence":{"stars":1,"forks":1,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-07-25T05:31:56.000Z","score":21}}}},"grade_history":[],"reviews":[]}