Skip to main content
Glama

ENTIA Entity Verification

Search Entities

search_entities
Read-onlyIdempotent

FREE (no API key needed). Use when the user asks to find or list businesses by name, keyword, sector or city (e.g. 'dentists in Madrid', 'real estate agencies in Valencia'). 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.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "q": "<q>"
    },
    "name": "search_entities"
  }
}

Input Schema

NameRequiredDescriptionDefault
qYesSearch query — company name or keywords
cityNoCity name (Madrid, Barcelona, Valencia, Sevilla, London)
limitNoMax results (default 10, max 50)
sectorNoSector 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.
countryNoISO country code (es, gb, fr)

Output Schema

NameRequiredDescriptionDefault
_metaNoCarries sector_resolved_from when an alias was translated
countNo
filtersNoFilters actually applied — echoes q/sector/city/country
entitiesNoEach carries name, city, sector and canonical Entia Home URL

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "Paged catalogue search over the verified corpus.",
      +  "properties": {
      +    "_meta": {
      +      "description": "Carries sector_resolved_from when an alias was translated",
      +      "type": "object"
      +    },
      +    "count": {
      +      "type": "integer"
      +    },
      +    "entities": {
      +      "description": "Each carries name, city, sector and canonical Entia Home URL",
      +      "items": {
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "filters": {
      +      "description": "Filters actually applied — echoes q/sector/city/country",
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed3 schema fields changed
    • addedInput schema / properties / city
      Added value: +{
      +  "description": "City name (Madrid, Barcelona, Valencia, Sevilla, London)",
      +  "maxLength": 100,
      +  "minLength": 2,
      +  "type": "string"
      +}
    • changedInput schema / properties / sector / description
      Previous value: -"Sector filter (dental, legal, talleres, estetica, …)"New value: +"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."
    • addedInput schema / properties / sector / enum
      Added value: +[
      +  "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"
      +]
  3. Changed4 schema fields changed
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedInput schema / properties / country / description
      Previous value: -"ISO country code filter (e.g. \"es\", \"gb\", \"fr\")"New value: +"ISO country code (es, gb, fr)"
    • changedInput schema / properties / sector / description
      Previous value: -"Sector filter. Examples: dental, legal, talleres, estetica, inmobiliarias, hosteleria, reformas, veterinarios, asesorias, gimnasios, psicologia, and 24+ more"New value: +"Sector filter (dental, legal, talleres, estetica, …)"
  4. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, it discloses that results mix registry-backed companies with public listings, that not all results are registry-verified, and that anonymous callers only receive a trace-level preview while authenticated TRACE+ keys unlock full records. These are material behavioral details an agent could not infer from the schema or annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is front-loaded and generally efficient. The repeated natural-language example ('find me a dentist in Madrid') is slightly redundant with the earlier examples, but the description remains readable and purposeful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich annotations, full schema coverage, and an output schema, the description is complete for correct invocation. It covers result quality, verification routing, sector behavior, and authentication-tier effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds meaningful sector semantics beyond the schema: the closed vocabulary, alias resolution to canonical slugs, and the response field _meta.sector_resolved_from.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource ('Search businesses') and enumerates the searchable dimensions: name, keyword, country, city, and sector. It clearly distinguishes this discovery tool from verification siblings by naming entity_lookup and verify_vat.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when to use the tool, with concrete examples like 'dentists in Madrid' and 'real estate agencies in Valencia'. It also names the alternatives for verification when registry-backed confirmation is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.