# eu-verify [Health: Active]

**Category:** 💰 Finance & Fintech  
**Repository:** https://github.com/contentfactory/eu-verify  
**GitHub Stars:** 1  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/eu-verify

## Description
European business verification for AI agents: registry, VAT, sanctions, IBAN. Pay-per-call x402.

## Claude Desktop Quick Installation
Remote MCP endpoint (confidence: high). Install path detected from listing signals. Add as a URL/SSE server in your client:

```json
"mcpServers": {
  "eu-verify": {
    "url": "https://smithery.ai/badge/gith/contentfactory)](https://smithery.ai/server/gith/contentfactory"
  }
}
```

## Documentation & README

# eu-verify — European business verification for AI agents

[![Listed on Smithery](https://smithery.ai/badge/gith/contentfactory)](https://smithery.ai/server/gith/contentfactory)
· [MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=eu-verify)
· [data.greeneris.io](https://data.greeneris.io)

Your agent can verify any European business partner — **and pay for it by itself**.

**One call, full due diligence:** `verify_supplier_fr` checks a French company's
existence, insolvency, VAT and sanctions in a single request and returns a risk
verdict. Or use the building blocks: company registry, insolvency (BODACC), EU VAT
(VIES), SIRET / IBAN / LEI / EORI checks, **sanctions screening (EU/OFAC/UN/UK/FR)**,
address and email verification, French business-day deadlines, EU public tenders.

No account. No API key. Each call costs **$0.001–$0.05 in USDC on Base**, paid
automatically through the [x402 protocol](https://www.x402.org) — the payment *is*
the authentication.

- **MCP server (for agents):** `https://data.greeneris.io/mcp` (streamable HTTP) — 16 verification tools + a free `catalog`
- **HTTP API (93 endpoints):** [`https://data.greeneris.io/llms.txt`](https://data.greeneris.io/llms.txt) — full plain-text catalog
- **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)

---

## Why your agent needs this

Every intra-EU B2B invoice legally requires a **valid VAT number**. Every serious
supplier onboarding requires a **company existence check**. These are actions that
procurement, compliance and due-diligence agents repeat thousands of times — and the
official European data behind them was never packaged for agents. Now it is.

| MCP tool | What it answers | Source | Price |
| --- | --- | --- | --- |
| **`verify_supplier_fr`** | **One-call risk verdict: existence + insolvency + VAT + sanctions** | SIRENE + BODACC + VIES + sanctions | **$0.05** |
| `screen_sanctions` | Is this name on a sanctions list? (EU, OFAC, UN, UK, FR) | 5 official lists, refreshed daily | $0.01 |
| `lookup_company_fr` | Does this French company exist? Status, NAF, HQ, finances | INSEE Sirene (official) | $0.005 |
| `lookup_company_uk` | UK company profile + officers + PSC (quasi-UBO) + risk flags | Companies House (official) | $0.01 |
| `check_insolvency_fr` | Any insolvency / liquidation proceedings? | BODACC (official gazette) | $0.01 |
| `invoice_ready_fr` | Is this SIREN invoiceable? (checksum + existence + VAT) | SIRENE + VIES | $0.02 |
| `validate_vat_eu` | Is this EU VAT number valid? (pre-invoicing check) | VIES (European Commission) | $0.005 |
| `validate_siret_fr` | Is this SIREN/SIRET well-formed? (offline checksum) | ISO/Luhn | $0.001 |
| `validate_iban` | Is this IBAN valid? (85 countries, offline) | ISO 13616 mod-97 | $0.001 |
| `check_eori` | Is this EU customs (EORI) operator registered? | EU EOS/DDS2 (official) | $0.003 |
| `lookup_lei` / `lei_ownership` | Resolve a Legal Entity Identifier + ownership chain | GLEIF (official) | $0.005 |
| `verify_address_fr` | Does this French address exist? Geocoded | Base Adresse Nationale | $0.001 |
| `validate_email` | Will email to this address be deliverable? Live MX check | DNS-over-HTTPS | $0.005 |
| `business_days_fr` | Deadline N business days from date X in France | computed (incl. holidays) | $0.005 |
| `find_public_tenders_eu` | Recent EU public tenders by sector/country | TED (Official Journal EU) | $0.01 |
| `catalog` | Everything this shop sells | — | **free** |

Plus 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).

Buyers are **never charged for empty or failed answers** (an upstream failure returns
an error *before* settlement). No personal data is served (GDPR: director names are
stripped from registry answers).

---

## Use it from an agent (MCP)

**Claude Code:**

```bash
claude mcp add --transport http eu-verify https://data.greeneris.io/mcp
```

**Cursor / any MCP client** (`mcpServers` config):

```json
{
  "mcpServers": {
    "eu-verify": { "url": "https://data.greeneris.io/mcp" }
  }
}
```

Then just ask: *"Run a supplier risk check on SIREN 552032534"* — the agent calls
`verify_supplier_fr` and gets back existence, insolvency, VAT and sanctions in one
verdict. Or: *"Screen 'ACME Trading' against sanctions lists before we onboard them."*

**Payments over MCP:** a paid tool called without payment returns the x402 quote in
the response `_meta`; x402-aware MCP clients (e.g. the `x402` Python SDK's MCP
client, AWS Bedrock AgentCore) attach the USDC payment and retry automatically.
Clients without wallet support can read the quote and fall back to the HTTP API.

---

## Use it over plain HTTP (x402)

Every endpoint answers `HTTP 402` with a machine-readable quote until paid:

```bash
curl -i "https://data.greeneris.io/v1/fr/company?q=airbus"
# HTTP/1.1 402 Payment Required
# payment-required: eyJ4NDAyVmVyc2lvbiI6Miw...   <- base64 quote (price, payTo, network)
```

Paying client in Python (~15 lines, [`examples/buy_with_python.py`](https://github.com/contentfactory/eu-verify/blob/HEAD/examples/buy_with_python.py)):

```python
from eth_account import Account
from x402 import x402Client
from x402.http.clients import x402HttpxClient
from x402.mechanisms.evm.exact import register_exact_evm_client

buyer = Account.from_key(PRIVATE_KEY)          # a wallet holding a little USDC on Base
client = x402Client()
register_exact_evm_client(client, buyer)

async with x402HttpxClient(client) as http:    # reads the 402, pays, retries
    r = await http.get("https://data.greeneris.io/v1/eu/vat-check?cc=IE&vat=6388047V")
    print(await r.aread())
```

TypeScript and other languages: see the official [x402 SDKs](https://github.com/x402-foundation/x402).

---

## Trust

- **Official sources only:** INSEE, European Commission (VIES, TED, EORI), DILA (BODACC),
  GLEIF, Base Adresse Nationale, and the EU/OFAC/UN/UK/FR sanctions lists — refreshed at source frequency.
- **Fail-safe billing:** settlement happens only after a successful answer.
- **Uptime:** monitored 24/7; live status at [`/agent-status`](https://data.greeneris.io/agent-status).
- **Payments:** settled on-chain by the Coinbase x402 facilitator; every sale is
  publicly auditable on [x402scan](https://www.x402scan.com).

## License

The examples in this repository are MIT-licensed. The API itself is a paid service —
each response includes its `source` attribution.

