ENTIA Entity Verification
What this MCP does
Verifies businesses and professionals using entity, VAT, registry, competitor, risk-audit, and socioeconomic data for KYB and due diligence.
Tools
Input schema
{'type': 'object', 'required': [], 'properties': {'q': {'type': 'string', 'maxLength': 500, 'minLength': 2, 'description': 'Company name, CIF/NIF (B82846825), EU VAT (ESB82846825), or LEI (20 chars)'}, 'name': {'type': 'string', 'description': 'Alias for `q` — accepted for compatibility with clients that send `name`.'}, 'query': {'type': 'string', 'description': 'Alias for `q` — accepted for compatibility with clients that send `query`.'}}}
Output schema
{'type': 'object', 'properties': {'_meta': {'type': 'object'}, 'found': {'type': 'boolean', 'description': 'True only when an identity anchor corroborated the query'}, 'query': {'type': 'string'}, 'entity': {'type': 'object', 'description': 'Verified identity: legal name, tax id, address, sector'}, 'integrity': {'type': 'object', 'description': 'Tamper-evidence MAC. Not an electronic signature'}, 'error_code': {'type': 'string'}, 'provenance': {'type': 'object', 'description': 'Publisher and data sources of this answer'}, 'data_coverage': {'type': 'object', 'description': 'Which sources answered and which did not'}, 'registry_data': {'type': 'object', 'description': 'Official registry payload (BORME/GLEIF/VIES/native)'}, 'coherence_errors': {'type': 'array', 'items': {'type': 'string'}}, 'economic_profile': {'type': 'object'}}, 'description': "Identity resolution result. `found` is fail-closed: false means no identity anchor was corroborated, not 'try again'.", 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['sector', 'city'], 'properties': {'city': {'type': 'string', 'maxLength': 100, 'minLength': 2, 'description': 'City name in Spain (Madrid, Barcelona, Valencia, Sevilla, Bilbao)'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 30, 'minimum': 1, 'description': 'Max results (1-30)'}, 'sector': {'enum': ['abogados', 'accountingservice', 'asesoria', 'asesorias', 'attorney', 'automocion', 'automotivebusiness', 'autorepair', 'barberia', 'barberias', 'beautysalon', 'belleza', 'clinicas', 'construccion', 'consultoria', 'dental', 'dentist', 'dentista', 'ecommerce', 'educacion', 'energia', 'estetica', 'exercisegym', 'farmacia', 'farmacias', 'financial', 'financialservice', 'fisio', 'fisioterapia', 'foodestablishment', 'generalcontractor', 'gestion', 'gestoria', 'gestorias', 'gimnasio', 'gimnasios', 'hairsalon', 'healthandbeautybusiness', 'healthcare', 'healthclub', 'homeandconstructionbusiness', 'hospital', 'hospitality', 'inmobiliaria', 'inmobiliarias', 'insurance', 'insuranceagency', 'legal', 'legalservice', 'medicalbusiness', 'medicalclinic', 'medico', 'medicos', 'nutricion', 'optica', 'opticas', 'optician', 'peluqueria', 'peluquerias', 'pharmacy', 'physician', 'physiotherapyclinic', 'podologia', 'psicologia', 'psychologist', 'realestate', 'realestateagent', 'reformas', 'restauracion', 'restaurant', 'restaurantes', 'rrhh', 'saas', 'salud', 'security', 'seguros', 'sportsactivitylocation', 'taller', 'talleres', 'telecom', 'turismo', 'veterinario', 'veterinarios', 'veterinarycare'], 'type': 'string', 'description': '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.'}}}
Output schema
{'type': 'object', 'properties': {'city': {'type': 'string'}, '_meta': {'type': 'object', 'description': 'Carries sector_resolved_from / sector_resolved_to'}, 'count': {'type': 'integer'}, 'sector': {'type': 'string', 'description': 'Canonical slug actually used after alias resolution'}, 'country': {'type': 'string'}, 'competitors': {'type': 'array', 'items': {'type': 'object'}}}, 'description': 'Ranked competitors in the same sector and city. Spain only on the public surface.', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['country', 'sector', 'city', 'slug'], 'properties': {'city': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 100, 'minLength': 1, 'description': 'City slug (madrid, barcelona, london)'}, 'slug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 200, 'minLength': 1, 'description': 'Business slug (clinica-dental-sonrisa)'}, 'sector': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 50, 'minLength': 2, 'description': 'Industry slug (dental, legal, talleres, …)'}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$', 'maxLength': 2, 'minLength': 2, 'description': 'ISO 3166-1 alpha-2 (es, gb, fr)'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'_meta': {'type': 'object'}, '@graph': {'type': 'array', 'items': {'type': 'object'}, 'description': 'WebPage, Entity, Verification Report and Territorial Profile nodes'}, '@context': {'type': 'string'}}, 'description': 'Full Schema.org @graph of an Entia Home page — the same truth as its public HTML twin.', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['country', 'sector', 'city', 'slug'], 'properties': {'city': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 100, 'minLength': 1, 'description': 'City slug (madrid, barcelona)'}, 'slug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 200, 'minLength': 1, 'description': 'Business slug (clinica-dental-ceodent)'}, 'sector': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 50, 'minLength': 2, 'description': 'Industry slug (dental, legal, …)'}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$', 'maxLength': 2, 'minLength': 2, 'description': 'ISO 3166-1 alpha-2 (es, gb, fr)'}, 'include_render_context': {'type': 'boolean', 'default': False, 'description': 'If true, keep render_context (large). Default strips it for agents.'}}}
Output schema
{'type': 'object', 'properties': {'gate': {'type': 'string', 'description': 'PUBLISH / PARTIAL / HOLD / REGISTRY_ONLY'}, '_meta': {'type': 'object'}, 'claims': {'type': 'object'}, 'policy': {'type': 'object'}, 'schema': {'type': 'string'}, 'subject': {'type': 'object'}, 'projection': {'type': 'object'}, 'generated_at': {'type': 'string'}, 'corroboration': {'type': 'object'}, 'materializer_version': {'type': 'string'}}, 'description': 'entia.entity_home_projection.v1 snapshot: claims, corroboration gate and policy.', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 200, 'minLength': 2, 'description': 'Company name, CIF/NIF, EU VAT, or LEI'}}}
Output schema
{'type': 'object', 'properties': {'_meta': {'type': 'object'}, 'found': {'type': 'boolean'}, 'query': {'type': 'string'}, 'entity': {'type': 'object'}, 'integrity': {'type': 'object'}, 'provenance': {'type': 'object'}, 'trust_score': {'type': 'object'}, 'verification': {'type': 'object'}, 'data_coverage': {'type': 'object'}}, 'description': 'Aggregated dossier: identity, registry, trust and verification in one call.', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Output schema
{'type': 'object', 'properties': {'_meta': {'type': 'object'}, 'status': {'type': 'string'}, 'cache_ttl': {'type': 'integer'}, 'countries': {'type': 'array', 'items': {'type': 'string'}}, 'borme_acts': {'type': 'integer'}, '_unverified': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Figures NOT independently verified — honesty marker, do not quote as verified'}, 'last_updated': {'type': 'string'}, 'sources_active': {'type': 'integer'}, 'total_entities': {'type': 'integer'}, 'homes_published': {'type': 'integer'}, 'countries_active': {'type': 'integer'}, 'jsonld_generated': {'type': 'integer'}}, 'description': 'Live platform totals. Single source of truth for corpus size.', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'maximum': 5, 'minimum': 1, 'description': 'Sample size (default 3, max 5)'}, 'category': {'enum': ['all', 'ibex', 'tech', 'banking', 'energy', 'retail', 'spain', 'eu'], 'type': 'string', 'description': 'Subset to sample (default: all)'}}}
Output schema
{'type': 'object', 'properties': {'_meta': {'type': 'object'}, 'unlock': {'type': 'object'}, 'checkout': {'type': 'object'}, 'entities': {'type': 'array', 'items': {'type': 'object'}}, 'upgrade_url': {'type': 'string'}, 'access_level': {'type': 'string'}, 'gated_fields': {'type': 'array', 'items': {'type': 'string'}}, 'upgrade_hint': {'type': 'string'}}, 'description': 'Curated sample entities for evaluation. Fields are gated by tier.', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 500, 'minLength': 2, 'description': 'Professional name, colegiado number, or REPS identifier'}, 'vertical': {'type': 'string', 'maxLength': 40, 'description': 'Healthcare/legal vertical (dental, medicos, psicologia, ...)'}}}
Output schema
{'type': 'object', 'properties': {'_meta': {'type': 'object'}}, 'description': 'Professional registration verification across Spanish health, legal and psychology registries. Enterprise DPA required.', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['domain'], 'properties': {'name': {'type': 'string', 'description': 'Optional business name for context'}, 'domain': {'type': 'string', 'pattern': '^[a-z0-9]([a-z0-9.-]*[a-z0-9])?\\.[a-z]{2,}$', 'maxLength': 253, 'minLength': 3, 'description': 'Domain to audit (clinicadental.es, example.com)'}, 'sector_id': {'type': 'string', 'description': 'Optional sector hint (dental, legal, talleres, …)'}}}
Output schema
{'type': 'object', 'properties': {'_meta': {'type': 'object'}, 'audit': {'type': 'object'}, 'domain': {'type': 'string'}, 'job_id': {'type': 'string'}, 'status': {'type': 'string'}, 'risk_level': {'type': 'string'}, 'risk_score': {'type': 'number'}, 'audit_token': {'type': 'string'}}, 'description': 'AI-readiness and digital risk audit of a domain.', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'maxLength': 500, 'minLength': 2, 'description': 'Search query — company name or keywords'}, 'city': {'type': 'string', 'maxLength': 100, 'minLength': 2, 'description': 'City name (Madrid, Barcelona, Valencia, Sevilla, London)'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Max results (default 10, max 50)'}, 'sector': {'enum': ['abogados', 'accountingservice', 'asesoria', 'asesorias', 'attorney', 'automocion', 'automotivebusiness', 'autorepair', 'barberia', 'barberias', 'beautysalon', 'belleza', 'clinicas', 'construccion', 'consultoria', 'dental', 'dentist', 'dentista', 'ecommerce', 'educacion', 'energia', 'estetica', 'exercisegym', 'farmacia', 'farmacias', 'financial', 'financialservice', 'fisio', 'fisioterapia', 'foodestablishment', 'generalcontractor', 'gestion', 'gestoria', 'gestorias', 'gimnasio', 'gimnasios', 'hairsalon', 'healthandbeautybusiness', 'healthcare', 'healthclub', 'homeandconstructionbusiness', 'hospital', 'hospitality', 'inmobiliaria', 'inmobiliarias', 'insurance', 'insuranceagency', 'legal', 'legalservice', 'medicalbusiness', 'medicalclinic', 'medico', 'medicos', 'nutricion', 'optica', 'opticas', 'optician', 'peluqueria', 'peluquerias', 'pharmacy', 'physician', 'physiotherapyclinic', 'podologia', 'psicologia', 'psychologist', 'realestate', 'realestateagent', 'reformas', 'restauracion', 'restaurant', 'restaurantes', 'rrhh', 'saas', 'salud', 'security', 'seguros', 'sportsactivitylocation', 'taller', 'talleres', 'telecom', 'turismo', 'veterinario', 'veterinarios', 'veterinarycare'], 'type': 'string', 'description': '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': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'ISO country code (es, gb, fr)'}}}
Output schema
{'type': 'object', 'properties': {'_meta': {'type': 'object', 'description': 'Carries sector_resolved_from when an alias was translated'}, 'count': {'type': 'integer'}, 'filters': {'type': 'object', 'description': 'Filters actually applied — echoes q/sector/city/country'}, 'entities': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Each carries name, city, sector and canonical Entia Home URL'}}, 'description': 'Paged catalogue search over the verified corpus.', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': [], 'properties': {'q': {'type': 'string', 'maxLength': 20, 'minLength': 4, 'description': 'EU VAT number (ESA28015865, A28015865, IE6388047V)'}, 'vat': {'type': 'string', 'description': 'Alias for `q` — the VAT number.'}, 'query': {'type': 'string', 'description': 'Alias for `q`.'}}}
Output schema
{'type': 'object', 'properties': {'_meta': {'type': 'object'}, 'query': {'type': 'string'}, 'result': {'type': 'object', 'description': 'VIES answer: validity, registered name and address'}, 'vat_number': {'type': 'string'}, 'country_code': {'type': 'string'}}, 'description': 'Real-time VIES validation.', 'additionalProperties': True}
Input schema
{'type': 'object', 'required': ['postal_code'], 'properties': {'postal_code': {'type': 'string', 'pattern': '^[0-9]{5}$', 'description': 'Spanish 5-digit postal code (28013 = Madrid Gran Vía)'}}}
Output schema
{'type': 'object', 'properties': {'_meta': {'type': 'object'}, 'economy': {'type': 'object'}, 'province': {'type': 'string'}, 'income_aeat': {'type': 'object'}, 'postal_code': {'type': 'string'}, 'real_estate': {'type': 'object'}, 'municipality': {'type': 'string'}, 'employment_sepe': {'type': 'object'}, 'businesses_dirce': {'type': 'object'}, 'demographics_ine': {'type': 'object'}, 'autonomous_community': {'type': 'string'}, 'entia_classification': {'type': 'object'}, 'digital_infrastructure': {'type': 'object'}, 'poverty_inequality_ccaa': {'type': 'object'}}, 'description': 'Socioeconomic profile of a Spanish postal code, 17 blocks from official sources.', 'additionalProperties': True}
Recent tool changes
Similar MCP servers
Firmaradar
Provides Norwegian company intelligence covering ownership, roles, financials, announcements, IP, monitoring, AML/PEP screening, …
UK Due Diligence
Searches UK company, charity, insolvency, land transaction, sanctions, and director-disqualification records for due diligence.
TempGuru Event Staffing
Plans W-2 event staffing using role pricing, rate benchmarks, lead-time guidance, market data, and state employment compliance in…
empresas
Searches Argentine companies, executives, importers, tenders, and regulatory records, with detailed company and person profiles b…
cuisor.ro
Searches and analyzes Romanian companies using registry identity, financial filings, tax status, procurement awards, legal repres…
nordic-data
Provides European company, KYB, VAT, LEI, sanctions, PEP, adverse-media, address, and industry-statistics data across 15 countrie…
Radicado Uno
Provides Colombian company due-diligence, registry, sanctions, procurement, competitor, financial-signal, and source-linked repor…
SupplyGraph.AI
Analyzes supplier and enterprise supply-chain risks, due diligence, geographic concentration, visual dependencies, tariffs, custo…