_ registry / mcp streamable-http · checked 1h ago

entia-mcp-ts

https://entia.systems

Registry code: 8a0c564884b32105

api record

Use ENTIA to verify a Spanish/EU company by NIF/VAT, BORME status, legal name

or LEI, and to find real businesses by sector and city. Data comes from official

endpoint
https://mcp.entia.systems/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is entia-mcp-ts live?
Yes — it answered the hub's last check (checked 1h ago). It answered 99% of checks over the last 30 days.
Is entia-mcp-ts free to use?
Partly — some of its tools are open, others need a key or payment.
What tools does entia-mcp-ts have?
15 tools: verify_vat, run_risk_audit, entity_lookup, fetch, search, get_entia_home, search_entities, get_showcase, ….
Is entia-mcp-ts safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
98.8%

90 days 99.1%· all time 99.5%

latency
377ms

last good check

priced tools
0

of 15 tools

_ answered our checks, 90 days 456 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
_ what it is for
used for
  • look up a business by name or tax id
  • validate an eu vat number
  • get a full company dossier
  • find competitors in a sector and city
  • verify a professional registration
takes → gives
text → data
tools
12 reads
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 15 tools
2 open6 auth-required 7 never probed 8 of 15 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get_showcase reads open 1h ago

    FREE (no API key needed). Use to show example records and what ENTIA data looks like before choosing another tool. Curated IBEX35 + EU entity examples. FREE — does not consume quota. Use to explore data depth.

    mcp-tool

    {
      "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)"
        }
      }
    }
    arguments 26 lines
  • get_platform_stats reads open 1h ago

    FREE (no API key needed). Use when the user asks how much data ENTIA covers (entities, BORME acts). Live platform stats: total entities and BORME acts, counted live. Country and Entia Home counts are null (marked _unverified) until they are measured.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {}
    }
    arguments 5 lines
  • get_identity_verification auth-required 5h ago

    PAID (requires SIGNAL plan or higher, from €29/month). Use when the user asks whether a business's identity has been officially verified, not just whether its CIF exists. Read fail-closed identity verification from the exact canonical HOME projection. Existing CIF does not imply official verification.

    mcp-tool

    {
      "type": "object",
      "required": [
        "country",
        "sector",
        "city",
        "slug"
      ],
      "properties": {
        "city": {
          "type": "string",
          "pattern": "^[A-Za-z0-9-]+$",
          "maxLength": 100,
          "minLength": 1
        },
        "slug": {
          "type": "string",
          "pattern": "^[A-Za-z0-9-]+$",
          "maxLength": 200,
          "minLength": 1
        },
        "sector": {
          "type": "string",
          "pattern": "^[A-Za-z0-9-]+$",
          "maxLength": 50,
          "minLength": 2
        },
        "country": {
          "type": "string",
          "pattern": "^[A-Za-z]{2}$",
          "maxLength": 2,
          "minLength": 2
        }
      },
      "additionalProperties": false
    }
    arguments 36 lines
  • zone_profile reads auth-required 19h ago

    PAID (requires SIGNAL plan or higher, from €29/month). Use when the user asks about the income, employment, demographics, business census or real-estate profile of a Spanish postal code. Socioeconomic profile of a Spanish postal code — 17 blocks: income, employment, demographics, business census, real estate, FTTH, poverty, tourism.

    mcp-tool

    {
      "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)"
        }
      }
    }
    arguments 13 lines
  • get_competitors reads auth-required 16h ago

    PAID (requires BUILD plan or higher, from €99/month). Use when the user asks who competes with a business in a sector and Spanish city. 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.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 112 lines
  • get_entity_home_projection reads auth-required 16h ago

    PAID (requires SIGNAL plan or higher, from €29/month). Use when you need the full structured projection of an Entia Home page (identity, location, verification) for one business. 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.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 44 lines
  • get_full_dossier reads auth-required 8h ago

    PAID (requires INTEGRATE plan or higher, from €399/month). Use for due diligence / KYB when the user wants everything about one company in a single call (identity, BORME, VIES, zone). 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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "query"
      ],
      "properties": {
        "query": {
          "type": "string",
          "maxLength": 200,
          "minLength": 2,
          "description": "Company name, CIF/NIF, EU VAT, or LEI"
        }
      }
    }
    arguments 14 lines
  • professional_lookup reads auth-required 8h ago

    PAID (requires ENTERPRISE plan, custom contract). Use when the user asks whether a Spanish health or legal professional is registered (colegiado number, college, specialty). Verify professional registrations across 24 Spanish health/legal/psychology verticals. Returns colegiado number, college, specialty, status.

    mcp-tool

    {
      "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, ...)"
        }
      }
    }
    arguments 19 lines
  • verify_vat reads unknown 19h ago

    FREE (no API key needed). Use when the user asks whether an EU VAT number is valid or active (live VIES check). 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.

    mcp-tool

    {
      "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`."
        }
      }
    }
    arguments 20 lines
  • run_risk_audit reads unknown never probed

    PAID (requires SIGNAL plan or higher, from €29/month). Use when the user asks about the AI-readiness, SEO/LLM visibility or digital risk of a company's website domain. 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.

    mcp-tool

    {
      "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, …)"
        }
      }
    }
    arguments 23 lines
  • entity_lookup reads unknown 1h ago

    FREE (no API key needed). Use when the user asks whether a company exists, who is behind a CIF/NIF, EU VAT or LEI, its registered legal name, city, sector or BORME (Spanish Commercial Registry) status. 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.

    mcp-tool

    {
      "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`."
        }
      }
    }
    arguments 20 lines
  • fetch unknown 8h ago

    FREE (no API key needed). Use after search to read one company's free registry preview by its id. Fetch one company's free registry preview by the id returned by search (or a CIF/NIF, EU VAT or LEI). Wraps entity_lookup with the free preview mask. Returns {id,title,text,url,metadata}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 500,
          "minLength": 2,
          "description": "Result id from search, or a CIF/NIF, EU VAT or LEI"
        }
      }
    }
    arguments 14 lines
  • search unknown 5h ago

    FREE (no API key needed). Use when the user asks to find companies or businesses (ChatGPT search/fetch format); returns result ids to pass to fetch. Search the ENTIA business registry (Spain first; also EU). Wraps search_entities with the free preview mask. Returns {results:[{id,title,url}]}; pass an id to fetch.

    mcp-tool

    {
      "type": "object",
      "required": [
        "query"
      ],
      "properties": {
        "query": {
          "type": "string",
          "maxLength": 500,
          "minLength": 2,
          "description": "Company name or keywords, optionally with a city (e.g. 'inmobiliaria Valencia')"
        }
      }
    }
    arguments 14 lines
  • get_entia_home reads unknown 16h ago

    FREE (no API key needed). Use when you already have an Entia Home URL path (country/sector/city/slug) and need that public business page as data. 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.

    mcp-tool

    {
      "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
    }
    arguments 40 lines
  • search_entities reads unknown 19h ago

    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.

    mcp-tool

    {
      "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)"
        }
      }
    }
    arguments 123 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 8a0c564884b32105.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/8a0c564884b32105/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/8a0c564884b32105/badge.svg)](https://brick.blue/agent/8a0c564884b32105?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.

_ also on entia.systems 1 entry

Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.