{
  "markdown": "# eu-verify — European business verification for AI agents\n\n[![Listed on Smithery](https://smithery.ai/badge/gith/contentfactory)](https://smithery.ai/server/gith/contentfactory)\n· [MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=eu-verify)\n· [data.greeneris.io](https://data.greeneris.io)\n\nYour agent can verify any European business partner — **and pay for it by itself**.\n\n**One call, full due diligence:** `verify_supplier_fr` checks a French company's\nexistence, insolvency, VAT and sanctions in a single request and returns a risk\nverdict. Or use the building blocks: company registry, insolvency (BODACC), EU VAT\n(VIES), SIRET / IBAN / LEI / EORI checks, **sanctions screening (EU/OFAC/UN/UK/FR)**,\naddress and email verification, French business-day deadlines, EU public tenders.\n\nNo account. No API key. Each call costs **$0.001–$0.05 in USDC on Base**, paid\nautomatically through the [x402 protocol](https://www.x402.org) — the payment *is*\nthe authentication.\n\n- **MCP server (for agents):** `https://data.greeneris.io/mcp` (streamable HTTP) — 16 verification tools + a free `catalog`\n- **HTTP API (93 endpoints):** [`https://data.greeneris.io/llms.txt`](https://data.greeneris.io/llms.txt) — full plain-text catalog\n- **OpenAPI:** [`/openapi.json`](https://data.greeneris.io/openapi.json) · **x402 manifest:** [`/.well-known/x402`](https://data.greeneris.io/.well-known/x402) · **status:** [`/agent-status`](https://data.greeneris.io/agent-status)\n\n---\n\n## Why your agent needs this\n\nEvery intra-EU B2B invoice legally requires a **valid VAT number**. Every serious\nsupplier onboarding requires a **company existence check**. These are actions that\nprocurement, compliance and due-diligence agents repeat thousands of times — and the\nofficial European data behind them was never packaged for agents. Now it is.\n\n| MCP tool | What it answers | Source | Price |\n| --- | --- | --- | --- |\n| **`verify_supplier_fr`** | **One-call risk verdict: existence + insolvency + VAT + sanctions** | SIRENE + BODACC + VIES + sanctions | **$0.05** |\n| `screen_sanctions` | Is this name on a sanctions list? (EU, OFAC, UN, UK, FR) | 5 official lists, refreshed daily | $0.01 |\n| `lookup_company_fr` | Does this French company exist? Status, NAF, HQ, finances | INSEE Sirene (official) | $0.005 |\n| `lookup_company_uk` | UK company profile + officers + PSC (quasi-UBO) + risk flags | Companies House (official) | $0.01 |\n| `check_insolvency_fr` | Any insolvency / liquidation proceedings? | BODACC (official gazette) | $0.01 |\n| `invoice_ready_fr` | Is this SIREN invoiceable? (checksum + existence + VAT) | SIRENE + VIES | $0.02 |\n| `validate_vat_eu` | Is this EU VAT number valid? (pre-invoicing check) | VIES (European Commission) | $0.005 |\n| `validate_siret_fr` | Is this SIREN/SIRET well-formed? (offline checksum) | ISO/Luhn | $0.001 |\n| `validate_iban` | Is this IBAN valid? (85 countries, offline) | ISO 13616 mod-97 | $0.001 |\n| `check_eori` | Is this EU customs (EORI) operator registered? | EU EOS/DDS2 (official) | $0.003 |\n| `lookup_lei` / `lei_ownership` | Resolve a Legal Entity Identifier + ownership chain | GLEIF (official) | $0.005 |\n| `verify_address_fr` | Does this French address exist? Geocoded | Base Adresse Nationale | $0.001 |\n| `validate_email` | Will email to this address be deliverable? Live MX check | DNS-over-HTTPS | $0.005 |\n| `business_days_fr` | Deadline N business days from date X in France | computed (incl. holidays) | $0.005 |\n| `find_public_tenders_eu` | Recent EU public tenders by sector/country | TED (Official Journal EU) | $0.01 |\n| `catalog` | Everything this shop sells | — | **free** |\n\nPlus 6 more national company registries at $0.003 (`/v1/{no,cz,pl,fi,sk,ie}/company` — Norway, Czechia, Poland, Finland, Slovakia, Ireland) and 70+ supporting data endpoints (FX, macro, energy, weather, crypto) at commodity prices — see [`/llms.txt`](https://data.greeneris.io/llms.txt).\n\nBuyers are **never charged for empty or failed answers** (an upstream failure returns\nan error *before* settlement). No personal data is served (GDPR: director names are\nstripped from registry answers).\n\n---\n\n## Use it from an agent (MCP)\n\n**Claude Code:**\n\n```bash\nclaude mcp add --transport http eu-verify https://data.greeneris.io/mcp\n```\n\n**Cursor / any MCP client** (`mcpServers` config):\n\n```json\n{\n  \"mcpServers\": {\n    \"eu-verify\": { \"url\": \"https://data.greeneris.io/mcp\" }\n  }\n}\n```\n\nThen just ask: *\"Run a supplier risk check on SIREN 552032534\"* — the agent calls\n`verify_supplier_fr` and gets back existence, insolvency, VAT and sanctions in one\nverdict. Or: *\"Screen 'ACME Trading' against sanctions lists before we onboard them.\"*\n\n**Payments over MCP:** a paid tool called without payment returns the x402 quote in\nthe response `_meta`; x402-aware MCP clients (e.g. the `x402` Python SDK's MCP\nclient, AWS Bedrock AgentCore) attach the USDC payment and retry automatically.\nClients without wallet support can read the quote and fall back to the HTTP API.\n\n---\n\n## Use it over plain HTTP (x402)\n\nEvery endpoint answers `HTTP 402` with a machine-readable quote until paid:\n\n```bash\ncurl -i \"https://data.greeneris.io/v1/fr/company?q=airbus\"\n# HTTP/1.1 402 Payment Required\n# payment-required: eyJ4NDAyVmVyc2lvbiI6Miw...   <- base64 quote (price, payTo, network)\n```\n\nPaying client in Python (~15 lines, [`examples/buy_with_python.py`](examples/buy_with_python.py)):\n\n```python\nfrom eth_account import Account\nfrom x402 import x402Client\nfrom x402.http.clients import x402HttpxClient\nfrom x402.mechanisms.evm.exact import register_exact_evm_client\n\nbuyer = Account.from_key(PRIVATE_KEY)          # a wallet holding a little USDC on Base\nclient = x402Client()\nregister_exact_evm_client(client, buyer)\n\nasync with x402HttpxClient(client) as http:    # reads the 402, pays, retries\n    r = await http.get(\"https://data.greeneris.io/v1/eu/vat-check?cc=IE&vat=6388047V\")\n    print(await r.aread())\n```\n\nTypeScript and other languages: see the official [x402 SDKs](https://github.com/x402-foundation/x402).\n\n---\n\n## Trust\n\n- **Official sources only:** INSEE, European Commission (VIES, TED, EORI), DILA (BODACC),\n  GLEIF, Base Adresse Nationale, and the EU/OFAC/UN/UK/FR sanctions lists — refreshed at source frequency.\n- **Fail-safe billing:** settlement happens only after a successful answer.\n- **Uptime:** monitored 24/7; live status at [`/agent-status`](https://data.greeneris.io/agent-status).\n- **Payments:** settled on-chain by the Coinbase x402 facilitator; every sale is\n  publicly auditable on [x402scan](https://www.x402scan.com).\n\n## License\n\nThe examples in this repository are MIT-licensed. The API itself is a paid service —\neach response includes its `source` attribution.\n",
  "bytes": 6744,
  "sha": "9358c23233b2692493e18bbe123f9fe6c894995ec36f49fdedb532243069d495",
  "repo_slug": "contentfactory/eu-verify",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_contentfactory_eu_verify_882d0a5c/readme"
}