io.github.contentfactory/eu-verify
REMOTE · DATA.GREENERIS.IO · SCANNED AUG 3
European business verification for AI agents: registry, VAT, sanctions, IBAN. Pay-per-call x402.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 19 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability63
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2802 tokens (~147/item across 19 items; 19 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- Structured output schemas are declared (5% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · data.greeneris.io
claude mcp add --transport http contentfactory-eu-verify https://data.greeneris.io/mcp
[mcp_servers.contentfactory-eu-verify] url = "https://data.greeneris.io/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"contentfactory-eu-verify": {
"type": "remote",
"url": "https://data.greeneris.io/mcp",
"enabled": true
}
}
} openclaw mcp add contentfactory-eu-verify --url https://data.greeneris.io/mcp --transport streamable-http
mcp_servers:
contentfactory-eu-verify:
url: "https://data.greeneris.io/mcp" {
"mcpServers": {
"contentfactory-eu-verify": {
"type": "http",
"url": "https://data.greeneris.io/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +2
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 56
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://data.greeneris.io/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=data.greeneris.io | CN=YR2,O=Let's Encrypt,C=US | 14 Jul 2026 | 12 Oct 2026 | RSA 2048 | SHA256-RSA | 509701590288ec899a5fb8e03b90eb2d994 |
| SANs: data.greeneris.io | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
DNSSEC insecure
Validation of data.greeneris.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 57355 | 8 | Verified |
| greeneris.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://data.greeneris.io/mcp | Verified | 200 | |
| http (plaintext) | http://data.greeneris.io/mcp | HTTPS enforced | 301 | https://data.greeneris.io/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
business_days_fr ~135
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).
| Name | Type | Req | Description |
|---|---|---|---|
| add | integer | — | — |
| start | string | yes | — |
No output schema declared.
No examples provided.
catalog ~38
FREE. Lists every product of this data shop: HTTP endpoint, price in USDC, and one-line summary. Use it to discover capabilities before paying.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | — |
No examples provided.
check_eori ~120
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).
| Name | Type | Req | Description |
|---|---|---|---|
| eori | string | yes | — |
No output schema declared.
No examples provided.
check_insolvency_fr ~159
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).
| Name | Type | Req | Description |
|---|---|---|---|
| famille | string | — | — |
| limit | integer | — | — |
| siren | string | yes | — |
No output schema declared.
No examples provided.
find_public_tenders_eu ~148
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).
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | — |
| cpv | string | — | — |
| days_back | integer | — | — |
| limit | integer | — | — |
No output schema declared.
No examples provided.
invoice_ready_fr ~145
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).
| Name | Type | Req | Description |
|---|---|---|---|
| number | string | yes | — |
No output schema declared.
No examples provided.
lei_ownership ~127
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).
| Name | Type | Req | Description |
|---|---|---|---|
| lei | string | yes | — |
No output schema declared.
No examples provided.
lookup_company_fr ~166
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).
| Name | Type | Req | Description |
|---|---|---|---|
| per_page | integer | — | — |
| q | string | yes | — |
No output schema declared.
No examples provided.
lookup_company_uk ~150
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).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| number | string | — | — |
| q | string | — | — |
No output schema declared.
No examples provided.
lookup_financials_fr ~144
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).
| Name | Type | Req | Description |
|---|---|---|---|
| siren | string | yes | — |
No output schema declared.
No examples provided.
lookup_lei ~150
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).
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | — |
| lei | string | — | — |
| limit | integer | — | — |
| name | string | — | — |
No output schema declared.
No examples provided.
screen_sanctions ~136
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).
| Name | Type | Req | Description |
|---|---|---|---|
| lists | string | — | — |
| name | string | yes | — |
| threshold | number | — | — |
No output schema declared.
No examples provided.
validate_email ~120
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 protected]. Verdict: deliverable | risky | undeliverable. 1h cache per address. Price: $0.005 USDC per call (x402).
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | — |
No output schema declared.
No examples provided.
validate_iban ~115
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).
| Name | Type | Req | Description |
|---|---|---|---|
| iban | string | yes | — |
No output schema declared.
No examples provided.
validate_siret_fr ~132
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).
| Name | Type | Req | Description |
|---|---|---|---|
| number | string | yes | — |
No output schema declared.
No examples provided.
validate_vat_eu ~128
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).
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | yes | — |
| vat | string | yes | — |
No output schema declared.
No examples provided.
verify_address_fr ~170
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).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | — |
| q | string | yes | — |
No output schema declared.
No examples provided.
verify_company_eu ~188
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).
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | yes | — |
| domain | string | — | — |
| eori | string | — | — |
| id | string | yes | — |
| lei | string | — | — |
| vat | string | — | — |
No output schema declared.
No examples provided.
verify_supplier_fr ~146
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).
| Name | Type | Req | Description |
|---|---|---|---|
| number | string | yes | — |
No output schema declared.
No examples provided.