protogrid

Search / io.github.entia-systems-core/entity-verification

ENTIA Entity Verification

R0· no sign-in

11.3M entities, 10 countries, 12 tools. EU VAT (VIES), BORME, GLEIF, KYB. Free: 100 req/month.

v4.4.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality75good
Trust90of 100
Uptime, 30 days100%
Latency p50209 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "entity-verification": {
      "type": "http",
      "url": "https://mcp.entia.systems/mcp"
    }
  }
}
claude mcp add --transport http entity-verification https://mcp.entia.systems/mcp
[mcp_servers.entity-verification]
url = "https://mcp.entia.systems/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "entity-verification": {
      "type": "remote",
      "url": "https://mcp.entia.systems/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "entity-verification": {
      "type": "http",
      "url": "https://mcp.entia.systems/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=entity-verification&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmVudGlhLnN5c3RlbXMvbWNwIn0%3D"
}
{
  "servers": {
    "entity-verification": {
      "type": "http",
      "url": "https://mcp.entia.systems/mcp"
    }
  }
}
{
  "mcpServers": {
    "entity-verification": {
      "httpUrl": "https://mcp.entia.systems/mcp"
    }
  }
}
extensions:
  "entity-verification":
    enabled: true
    name: "entity-verification"
    type: streamable_http
    uri: "https://mcp.entia.systems/mcp"
    timeout: 300

Quality 75 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2024-11-05; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations12 of 12 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 2,811 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes7 tool changes in 30 days
  • fail
    stability.rug_pull2 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

12 tools, about 2,811 tokens to load them all · tool set 82927e8dec97 · tools last changed 2026-10-14 · checked 2026-10-19 10:20 UTC

Tool changes

  • get_platform_statschangeddescriptionmeaning changed
    before

    Live platform stats: entities count, countries, sources, homes published.

    after · 16% of words in common

    Live platform stats: total entities and BORME acts, counted live. Country and Entia Home counts are null (marked _unverified) until they are measured.

  • verify_vatchangeddescriptionmeaning changed
    before

    Real-time EU VAT validation via VIES (27 countries). Returns {valid, name, address, vat_number, country}.

    after · 37% of words in common

    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.

  • search_entitieschangeddescription
    before

    Search verified entities across 10 countries by name, keyword, country, city or sector. 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.

    after · 63% of words in common

    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.

  • get_entity_home_projectionchangedinput schema
  • run_risk_auditchangedinput schema
  • get_platform_statschangedoutput schema
  • zone_profilechangedinput schema

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 90 / 100

provenance75
liveness100
freshness85
hygiene100

+repository +website +reachable +uptime-100% ~updated-62d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.entia.systems/mcp streamable-httpnoneyes100%209 ms2024-11-052026-10-19

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.
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.
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.
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.
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.
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.
get_showcaseread-onlyCurated IBEX35 + EU entity examples. FREE — does not consume quota. Use to explore data depth.
professional_lookupread-onlyVerify professional registrations across 24 Spanish health/legal/psychology verticals. Returns colegiado number, college, specialty, status.
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.
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.
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.
zone_profileread-onlySocioeconomic profile of a Spanish postal code — 17 blocks: income, employment, demographics, business census, real estate, FTTH, poverty, tourism.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.entia-systems-core/entity-verification",
  "title": "ENTIA Entity Verification",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.entia.systems/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "4.4.0",
  "repository": {
    "url": "https://github.com/ENTIA-IA/entia-mcp-server",
    "source": "github"
  },
  "websiteUrl": "https://entia.systems",
  "description": "11.3M entities, 10 countries, 12 tools. EU VAT (VIES), BORME, GLEIF, KYB. Free: 100 req/month."
}