Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.contentfactory/eu-verify

REMOTE · DATA.GREENERIS.IO · SCANNED SEP 26

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

0 this week 74 Trust /100
Trust breakdown (7 categories)

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 → Why this is hard to score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability66
  • 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 Management100
  • No destabilizing schema changes in the last 30 days.Pass
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
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 19 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 20 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the io.github.contentfactory/eu-verify MCP server?

io.github.contentfactory/eu-verify is a hosted endpoint at https://data.greeneris.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · data.greeneris.io

# add to Claude Code
claude mcp add --transport http contentfactory-eu-verify 'https://data.greeneris.io/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "contentfactory-eu-verify": {
      "url": "https://data.greeneris.io/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "contentfactory-eu-verify": {
      "type": "http",
      "url": "https://data.greeneris.io/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.contentfactory-eu-verify]
url = "https://data.greeneris.io/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "contentfactory-eu-verify": {
      "type": "remote",
      "url": "https://data.greeneris.io/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add contentfactory-eu-verify --url 'https://data.greeneris.io/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  contentfactory-eu-verify:
    url: "https://data.greeneris.io/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "contentfactory-eu-verify": {
      "Transport": "http",
      "Url": "https://data.greeneris.io/mcp"
    }
  }
}
# add to Vellum
assistant mcp add contentfactory-eu-verify -t streamable-http -u 'https://data.greeneris.io/mcp'
// mcp.json
{
  "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.

Changelog

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.

  • 25 Sept 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 Aug 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
  • 25 Aug 26 0
    • Stability: 0.97 → pass security
  • 11 Aug 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
  • 7 Aug 26 0
    • The server no longer declares the “experimental” capability functional
  • 31 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
  • 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
  • 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
Diagnostics

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 26 Sept 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 Sept 2026 13 Dec 2026 RSA 2048 SHA256-RSA 5d716e5643509639049b575674acba2981f
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

Background: What to check on a remote MCP endpoint →

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

Background: How OAuth 2.1 works in the 2026 MCP spec →

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
MCP tools · 19 exposed · ~2,617 tokens

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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
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).

NameTypeReqDescription
addinteger––
startstringyes–

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.

NameTypeReqDescription
resultstringyes–

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

NameTypeReqDescription
eoristringyes–

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

NameTypeReqDescription
famillestring––
limitinteger––
sirenstringyes–

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

NameTypeReqDescription
countrystring––
cpvstring––
days_backinteger––
limitinteger––

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

NameTypeReqDescription
numberstringyes–

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

NameTypeReqDescription
leistringyes–

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

NameTypeReqDescription
per_pageinteger––
qstringyes–

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

NameTypeReqDescription
limitinteger––
numberstring––
qstring––

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

NameTypeReqDescription
sirenstringyes–

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

NameTypeReqDescription
countrystring––
leistring––
limitinteger––
namestring––

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

NameTypeReqDescription
listsstring––
namestringyes–
thresholdnumber––

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=someone@example.com. Verdict: deliverable | risky | undeliverable. 1h cache per address. Price: $0.005 USDC per call (x402).

NameTypeReqDescription
emailstringyes–

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

NameTypeReqDescription
ibanstringyes–

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

NameTypeReqDescription
numberstringyes–

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

NameTypeReqDescription
countrystringyes–
vatstringyes–

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

NameTypeReqDescription
limitinteger––
qstringyes–

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

NameTypeReqDescription
countrystringyes–
domainstring––
eoristring––
idstringyes–
leistring––
vatstring––

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

NameTypeReqDescription
numberstringyes–

No output schema declared.

No examples provided.

Common questions

What is the io.github.contentfactory/eu-verify MCP server?

io.github.contentfactory/eu-verify is an MCP server listed in the public MCP registry as io.github.contentfactory/eu-verify. European business verification for AI agents: registry, VAT, sanctions, IBAN. Pay-per-call x402. This page covers its hosted endpoint (https://data.greeneris.io/mcp).

Is the io.github.contentfactory/eu-verify MCP server safe to use?

io.github.contentfactory/eu-verify scores 74 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.contentfactory/eu-verify MCP server expose?

io.github.contentfactory/eu-verify exposes 19 tools: verify_company_eu, verify_supplier_fr, screen_sanctions, lookup_company_fr, lookup_company_uk, and 14 more. Their descriptions and schemas cost roughly 2,617 tokens of context every time the server is loaded.

Does the io.github.contentfactory/eu-verify MCP server require authentication?

No. We connected to io.github.contentfactory/eu-verify without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the io.github.contentfactory/eu-verify MCP server still maintained?

io.github.contentfactory/eu-verify is still listed as active in the MCP registry. We last reached this channel on 26 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.