ENTIA Entity Verification
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Verified business identity for AI agents: 11.3M entities, EU VAT (VIES), BORME, GLEIF. Free trial.
| Author | io.github.entia-systems-core |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 116 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"ENTIA Entity Verification": {
"url": "https://mcp.entia.systems/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (12)
entity_lookupread-onlyLook up any business entity by name, CIF/NIF, EU VAT, or LEI. Free callers receive a trace-level identity preview; authenticated callers receive the full paid dossier.
Parameters:
q— string — Company name, CIF/NIF (B82846825), EU VAT (ESB82846825), or LEI (20 chars)name— string — Alias for `q` — accepted for compatibility with clients that send `name`.query— string — Alias for `q` — accepted for compatibility with clients that send `query`.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
search_entitiesread-onlySearch businesses by name, keyword, country, city or sector. Results mix registry-backed companies and public business listings (local directories/maps), so not every result is registry-verified; use entity_lookup or verify_vat to verify one. Answers 'find me a dentist in Madrid' / 'list law firms in Barcelona'. `sector` is a closed vocabulary — see the enum; aliases such as `abogados` resolve to their canonical slug. Anonymous callers receive a trace-level preview (name + city); authenticated TRACE+ keys unlock full records.
Parameters:
q(required) — string — Search query — company name or keywordscity— string — City name (Madrid, Barcelona, Valencia, Sevilla, London)limit— integer — Max results (default 10, max 50)sector— string — Sector filter. Canonical: dental, legal, estetica, psicologia, medicos, talleres, veterinarios, reformas, inmobiliarias, asesorias, gimnasios… Aliases (abogados, salud, dentist, beautysalon…) resolve to a canonical slug and the response declares the translation in _meta.sector_resolved_from.country— string — ISO country code (es, gb, fr)
Hints: read-only yes · destructive no · idempotent yes · open-world yes
verify_vatread-onlyReal-time EU VAT validation via VIES (27 countries). Returns {valid, name, address, vat_number, country, checked_at}. Some Member States (Spain among them) do not disclose name/address through VIES: name/address come back null with name_disclosure=withheld_by_member_state; use entity_lookup for the registered name.
Parameters:
q— string — EU VAT number (ESA28015865, A28015865, IE6388047V)vat— string — Alias for `q` — the VAT number.query— string — Alias for `q`.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
zone_profileread-onlySocioeconomic profile of a Spanish postal code — 17 blocks: income, employment, demographics, business census, real estate, FTTH, poverty, tourism.
Parameters:
postal_code(required) — string — Spanish 5-digit postal code (28013 = Madrid Gran Vía)
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_competitorsread-onlyFind real competitors in the same sector and city. Ranked entities with identity + location + sector matching. Spain only on the public surface. `sector` is a closed vocabulary — see the enum; aliases such as `abogados` (the slug ENTIA uses in its own Entia Home URLs) resolve to their canonical slug.
Parameters:
sector(required) — string — ENTIA sector slug. Canonical: dental, legal, estetica, psicologia, medicos, talleres, veterinarios, reformas, inmobiliarias, asesorias, gimnasios… Aliases (abogados, salud, dentist, beautysalon…) resolve to a canonical slug and the response declares the translation in _meta.sector_resolved_from.city(required) — string — City name in Spain (Madrid, Barcelona, Valencia, Sevilla, Bilbao)limit— integer — Max results (1-30)
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_showcaseread-onlyCurated IBEX35 + EU entity examples. FREE — does not consume quota. Use to explore data depth.
Parameters:
limit— integer — Sample size (default 3, max 5)category— string — Subset to sample (default: all)
Hints: read-only yes · destructive no · idempotent yes · open-world yes
professional_lookupread-onlyVerify professional registrations across 24 Spanish health/legal/psychology verticals. Returns colegiado number, college, specialty, status.
Parameters:
query(required) — string — Professional name, colegiado number, or REPS identifiervertical— string — Healthcare/legal vertical (dental, medicos, psicologia, ...)
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_full_dossierread-onlyAggregator — 90+ fields about an entity in one call. Combines 4 ENTIA sources in parallel: identity, zone, BORME, VIES. Killer tool for due diligence/KYB.
Parameters:
query(required) — string — Company name, CIF/NIF, EU VAT, or LEI
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_platform_statsread-onlyLive platform stats: total entities and BORME acts, counted live. Country and Entia Home counts are null (marked _unverified) until they are measured.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
run_risk_auditread-onlyRun comprehensive AI-readiness + digital risk audit on any domain. Analyzes SSL, DNS, structured data, LLM visibility. Returns risk score 0-100. 5 req/min, 30s timeout.
Parameters:
domain(required) — string — Domain to audit (clinicadental.es, example.com)name— string — Optional business name for contextsector_id— string — Optional sector hint (dental, legal, talleres, …)
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_entia_homeread-onlyRetrieve the Schema.org JSON-LD @graph for a specific entity's Entia Home (machine layer at /v1/identity/{country}/{sector}/{city}/{slug}.jsonld). Requires country, sector, city, slug path segments — not cif/q. Obtain the path via entity_lookup / showcase (canonical_url). Fail-closed: never returns ENTIA corporate marketing as if it were the entity.
Parameters:
country(required) — string — ISO 3166-1 alpha-2 (es, gb, fr)sector(required) — string — Industry slug (dental, legal, talleres, …)city(required) — string — City slug (madrid, barcelona, london)slug(required) — string — Business slug (clinica-dental-sonrisa)
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_entity_home_projectionread-onlyRead the materializer snapshot entia.entity_home_projection.v1 for an Entia Home (claims + projection + policy). Same truth as the public ficha HTML/JSON-LD twin. Serve from R2 sibling .projection.v1.json — no ad-hoc MCP enrichment.
Parameters:
country(required) — string — ISO 3166-1 alpha-2 (es, gb, fr)sector(required) — string — Industry slug (dental, legal, …)city(required) — string — City slug (madrid, barcelona)slug(required) — string — Business slug (clinica-dental-ceodent)include_render_context— boolean — If true, keep render_context (large). Default strips it for agents.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.