Verified business identity for AI agents: 11.3M entities, EU VAT (VIES), BORME, GLEIF. Free trial.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Look 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.
Company name, CIF/NIF (B82846825), EU VAT (ESB82846825), or LEI (20 chars)
Alias for `q` — accepted for compatibility with clients that send `name`.
Alias for `q` — accepted for compatibility with clients that send `query`.
Look 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.
| Argument | Type | Description |
|---|---|---|
| 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`. |
{
"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`."
}
}
}Find 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.
| Argument | Type | Description |
|---|---|---|
| city* | string | City name in Spain (Madrid, Barcelona, Valencia, Sevilla, Bilbao) |
| limit | integer | Max results (1-30) |
| sector* | 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. |
{
"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."
}
}
}Retrieve 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.
| Argument | Type | Description |
|---|---|---|
| city* | string | City slug (madrid, barcelona, london) |
| slug* | string | Business slug (clinica-dental-sonrisa) |
| sector* | string | Industry slug (dental, legal, talleres, …) |
| country* | string | ISO 3166-1 alpha-2 (es, gb, fr) |
{
"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
}Read 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.
| Argument | Type | Description |
|---|---|---|
| city* | string | City slug (madrid, barcelona) |
| slug* | string | Business slug (clinica-dental-ceodent) |
| sector* | string | Industry slug (dental, legal, …) |
| country* | string | ISO 3166-1 alpha-2 (es, gb, fr) |
| include_render_context | boolean | If true, keep render_context (large). Default strips it for agents. |
{
"type": "object",
"required": [
"country",
"sector",
"city",
"slug"
],
"properties": {
"city": {
"type": "string",
"pattern": "^[A-Za-z0-9-]+$",
"maxLength": 100,
"minLength": 1,
"description": "City slug (madrid, barcelona)"
},
"slug": {
"type": "string",
"pattern": "^[A-Za-z0-9-]+$",
"maxLength": 200,
"minLength": 1,
"description": "Business slug (clinica-dental-ceodent)"
},
"sector": {
"type": "string",
"pattern": "^[A-Za-z0-9-]+$",
"maxLength": 50,
"minLength": 2,
"description": "Industry slug (dental, legal, …)"
},
"country": {
"type": "string",
"pattern": "^[A-Za-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."
}
}
}Aggregator — 90+ fields about an entity in one call. Combines 4 ENTIA sources in parallel: identity, zone, BORME, VIES. Killer tool for due diligence/KYB.
| Argument | Type | Description |
|---|---|---|
| query* | string | Company name, CIF/NIF, EU VAT, or LEI |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "Company name, CIF/NIF, EU VAT, or LEI"
}
}
}Live platform stats: total entities and BORME acts, counted live. Country and Entia Home counts are null (marked _unverified) until they are measured.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}Curated IBEX35 + EU entity examples. FREE — does not consume quota. Use to explore data depth.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Sample size (default 3, max 5) |
| category | string | Subset to sample (default: all) |
{
"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)"
}
}
}Verify professional registrations across 24 Spanish health/legal/psychology verticals. Returns colegiado number, college, specialty, status.
| Argument | Type | Description |
|---|---|---|
| query* | string | Professional name, colegiado number, or REPS identifier |
| vertical | string | Healthcare/legal vertical (dental, medicos, psicologia, ...) |
{
"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, ...)"
}
}
}Run 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.
| Argument | Type | Description |
|---|---|---|
| name | string | Optional business name for context |
| domain* | string | Domain to audit (clinicadental.es, example.com) |
| sector_id | string | Optional sector hint (dental, legal, talleres, …) |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"name": {
"type": "string",
"description": "Optional business name for context"
},
"domain": {
"type": "string",
"pattern": "^(?:https?://)?[A-Za-z0-9]([A-Za-z0-9.-]*[A-Za-z0-9])?\\.[A-Za-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, …)"
}
}
}Search 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.
| Argument | Type | Description |
|---|---|---|
| q* | string | Search query — company name or keywords |
| city | 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) |
{
"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)"
}
}
}Real-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.
| Argument | Type | Description |
|---|---|---|
| q | string | EU VAT number (ESA28015865, A28015865, IE6388047V) |
| vat | string | Alias for `q` — the VAT number. |
| query | string | Alias for `q`. |
{
"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`."
}
}
}Socioeconomic profile of a Spanish postal code — 17 blocks: income, employment, demographics, business census, real estate, FTTH, poverty, tourism.
| Argument | Type | Description |
|---|---|---|
| postal_code* | string | Spanish 5-digit postal code (28013 = Madrid Gran Vía) |
{
"type": "object",
"required": [
"postal_code"
],
"properties": {
"postal_code": {
"type": "string",
"pattern": "^[0-9]{4,5}$",
"description": "Spanish 5-digit postal code (28013 = Madrid Gran Vía)"
}
}
}