ENTIA Entity Verification
11.3M entities, 10 countries, 12 tools. EU VAT (VIES), BORME, GLEIF, KYB. Free: 100 req/month.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"entity-verification": {
"url": "https://mcp.entia.systems/mcp"
}
}
}リモートエンドポイント
https://mcp.entia.systems/mcpstreamable-httpできること
ツール一覧
ツール(12)
🟢entity_lookup(q, query, name)
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.
入力スキーマ
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 2,
"maxLength": 500,
"description": "Company name, CIF/NIF (B82846825), EU VAT (ESB82846825), or LEI (20 chars)"
},
"query": {
"type": "string",
"description": "Alias for `q` — accepted for compatibility with clients that send `query`."
},
"name": {
"type": "string",
"description": "Alias for `q` — accepted for compatibility with clients that send `name`."
}
},
"required": []
}出力スキーマ
{
"type": "object",
"properties": {
"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"
},
"registry_data": {
"type": "object",
"description": "Official registry payload (BORME/GLEIF/VIES/native)"
},
"economic_profile": {
"type": "object"
},
"data_coverage": {
"type": "object",
"description": "Which sources answered and which did not"
},
"provenance": {
"type": "object",
"description": "Publisher and data sources of this answer"
},
"coherence_errors": {
"type": "array",
"items": {
"type": "string"
}
},
"integrity": {
"type": "object",
"description": "Tamper-evidence MAC. Not an electronic signature"
},
"error_code": {
"type": "string"
},
"_meta": {
"type": "object"
}
},
"description": "Identity resolution result. `found` is fail-closed: false means no identity anchor was corroborated, not 'try again'.",
"additionalProperties": true
}🟢search_entities(q, country, city, sector, limit)
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.
入力スキーマ
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 2,
"maxLength": 500,
"description": "Search query — company name or keywords"
},
"country": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"description": "ISO country code (es, gb, fr)"
},
"city": {
"type": "string",
"minLength": 2,
"maxLength": 100,
"description": "City name (Madrid, Barcelona, Valencia, Sevilla, London)"
},
"sector": {
"type": "string",
"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"
],
"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."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10,
"description": "Max results (default 10, max 50)"
}
},
"required": [
"q"
]
}出力スキーマ
{
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"entities": {
"type": "array",
"items": {
"type": "object"
},
"description": "Each carries name, city, sector and canonical Entia Home URL"
},
"filters": {
"type": "object",
"description": "Filters actually applied — echoes q/sector/city/country"
},
"_meta": {
"type": "object",
"description": "Carries sector_resolved_from when an alias was translated"
}
},
"description": "Paged catalogue search over the verified corpus.",
"additionalProperties": true
}🟢verify_vat(q, vat, query)
Real-time EU VAT validation via VIES (27 countries). Returns {valid, name, address, vat_number, country}.
入力スキーマ
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 4,
"maxLength": 20,
"description": "EU VAT number (ESA28015865, A28015865, IE6388047V)"
},
"vat": {
"type": "string",
"description": "Alias for `q` — the VAT number."
},
"query": {
"type": "string",
"description": "Alias for `q`."
}
},
"required": []
}出力スキーマ
{
"type": "object",
"properties": {
"vat_number": {
"type": "string"
},
"country_code": {
"type": "string"
},
"query": {
"type": "string"
},
"result": {
"type": "object",
"description": "VIES answer: validity, registered name and address"
},
"_meta": {
"type": "object"
}
},
"description": "Real-time VIES validation.",
"additionalProperties": true
}🟢zone_profile(postal_code)
Socioeconomic profile of a Spanish postal code — 17 blocks: income, employment, demographics, business census, real estate, FTTH, poverty, tourism.
入力スキーマ
{
"type": "object",
"properties": {
"postal_code": {
"type": "string",
"pattern": "^[0-9]{5}$",
"description": "Spanish 5-digit postal code (28013 = Madrid Gran Vía)"
}
},
"required": [
"postal_code"
]
}出力スキーマ
{
"type": "object",
"properties": {
"postal_code": {
"type": "string"
},
"municipality": {
"type": "string"
},
"province": {
"type": "string"
},
"autonomous_community": {
"type": "string"
},
"income_aeat": {
"type": "object"
},
"employment_sepe": {
"type": "object"
},
"demographics_ine": {
"type": "object"
},
"businesses_dirce": {
"type": "object"
},
"real_estate": {
"type": "object"
},
"digital_infrastructure": {
"type": "object"
},
"poverty_inequality_ccaa": {
"type": "object"
},
"economy": {
"type": "object"
},
"entia_classification": {
"type": "object"
},
"_meta": {
"type": "object"
}
},
"description": "Socioeconomic profile of a Spanish postal code, 17 blocks from official sources.",
"additionalProperties": true
}🟢get_competitors(sector, city, limit)
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.
入力スキーマ
{
"type": "object",
"properties": {
"sector": {
"type": "string",
"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"
],
"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."
},
"city": {
"type": "string",
"minLength": 2,
"maxLength": 100,
"description": "City name in Spain (Madrid, Barcelona, Valencia, Sevilla, Bilbao)"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"default": 10,
"description": "Max results (1-30)"
}
},
"required": [
"sector",
"city"
]
}出力スキーマ
{
"type": "object",
"properties": {
"sector": {
"type": "string",
"description": "Canonical slug actually used after alias resolution"
},
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"count": {
"type": "integer"
},
"competitors": {
"type": "array",
"items": {
"type": "object"
}
},
"_meta": {
"type": "object",
"description": "Carries sector_resolved_from / sector_resolved_to"
}
},
"description": "Ranked competitors in the same sector and city. Spain only on the public surface.",
"additionalProperties": true
}🟢get_showcase(category, limit)
Curated IBEX35 + EU entity examples. FREE — does not consume quota. Use to explore data depth.
入力スキーマ
{
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"all",
"ibex",
"tech",
"banking",
"energy",
"retail",
"spain",
"eu"
],
"description": "Subset to sample (default: all)"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"description": "Sample size (default 3, max 5)"
}
},
"required": []
}出力スキーマ
{
"type": "object",
"properties": {
"entities": {
"type": "array",
"items": {
"type": "object"
}
},
"access_level": {
"type": "string"
},
"gated_fields": {
"type": "array",
"items": {
"type": "string"
}
},
"unlock": {
"type": "object"
},
"upgrade_url": {
"type": "string"
},
"upgrade_hint": {
"type": "string"
},
"checkout": {
"type": "object"
},
"_meta": {
"type": "object"
}
},
"description": "Curated sample entities for evaluation. Fields are gated by tier.",
"additionalProperties": true
}🟢professional_lookup(query, vertical)
Verify professional registrations across 24 Spanish health/legal/psychology verticals. Returns colegiado number, college, specialty, status.
入力スキーマ
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 500,
"description": "Professional name, colegiado number, or REPS identifier"
},
"vertical": {
"type": "string",
"maxLength": 40,
"description": "Healthcare/legal vertical (dental, medicos, psicologia, ...)"
}
},
"required": [
"query"
]
}出力スキーマ
{
"type": "object",
"properties": {
"_meta": {
"type": "object"
}
},
"description": "Professional registration verification across Spanish health, legal and psychology registries. Enterprise DPA required.",
"additionalProperties": true
}🟢get_full_dossier(query)
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.
入力スキーマ
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 200,
"description": "Company name, CIF/NIF, EU VAT, or LEI"
}
},
"required": [
"query"
]
}出力スキーマ
{
"type": "object",
"properties": {
"found": {
"type": "boolean"
},
"query": {
"type": "string"
},
"entity": {
"type": "object"
},
"trust_score": {
"type": "object"
},
"verification": {
"type": "object"
},
"data_coverage": {
"type": "object"
},
"provenance": {
"type": "object"
},
"integrity": {
"type": "object"
},
"_meta": {
"type": "object"
}
},
"description": "Aggregated dossier: identity, registry, trust and verification in one call.",
"additionalProperties": true
}🟢get_platform_stats
Live platform stats: entities count, countries, sources, homes published.
入力スキーマ
{
"type": "object",
"properties": {},
"required": []
}出力スキーマ
{
"type": "object",
"properties": {
"total_entities": {
"type": "integer"
},
"countries_active": {
"type": "integer"
},
"countries": {
"type": "array",
"items": {
"type": "string"
}
},
"borme_acts": {
"type": "integer"
},
"homes_published": {
"type": "integer"
},
"jsonld_generated": {
"type": "integer"
},
"sources_active": {
"type": "integer"
},
"last_updated": {
"type": "string"
},
"status": {
"type": "string"
},
"cache_ttl": {
"type": "integer"
},
"_unverified": {
"type": "array",
"items": {
"type": "string"
},
"description": "Figures NOT independently verified — honesty marker, do not quote as verified"
},
"_meta": {
"type": "object"
}
},
"description": "Live platform totals. Single source of truth for corpus size.",
"additionalProperties": true
}🟢run_risk_audit(domain, sector_id, name)
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.
入力スキーマ
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 3,
"maxLength": 253,
"pattern": "^[a-z0-9]([a-z0-9.-]*[a-z0-9])?\\.[a-z]{2,}$",
"description": "Domain to audit (clinicadental.es, example.com)"
},
"sector_id": {
"type": "string",
"description": "Optional sector hint (dental, legal, talleres, …)"
},
"name": {
"type": "string",
"description": "Optional business name for context"
}
},
"required": [
"domain"
]
}出力スキーマ
{
"type": "object",
"properties": {
"domain": {
"type": "string"
},
"risk_score": {
"type": "number"
},
"risk_level": {
"type": "string"
},
"audit": {
"type": "object"
},
"audit_token": {
"type": "string"
},
"job_id": {
"type": "string"
},
"status": {
"type": "string"
},
"_meta": {
"type": "object"
}
},
"description": "AI-readiness and digital risk audit of a domain.",
"additionalProperties": true
}🟢get_entia_home(country, sector, city, slug)
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.
入力スキーマ
{
"type": "object",
"properties": {
"country": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[a-z]{2}$",
"description": "ISO 3166-1 alpha-2 (es, gb, fr)"
},
"sector": {
"type": "string",
"minLength": 2,
"maxLength": 50,
"pattern": "^[a-z0-9-]+$",
"description": "Industry slug (dental, legal, talleres, …)"
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-z0-9-]+$",
"description": "City slug (madrid, barcelona, london)"
},
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "^[a-z0-9-]+$",
"description": "Business slug (clinica-dental-sonrisa)"
}
},
"required": [
"country",
"sector",
"city",
"slug"
],
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"properties": {
"@context": {
"type": "string"
},
"@graph": {
"type": "array",
"items": {
"type": "object"
},
"description": "WebPage, Entity, Verification Report and Territorial Profile nodes"
},
"_meta": {
"type": "object"
}
},
"description": "Full Schema.org @graph of an Entia Home page — the same truth as its public HTML twin.",
"additionalProperties": true
}🟢get_entity_home_projection(country, sector, city, slug, include_render_context)
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.
入力スキーマ
{
"type": "object",
"properties": {
"country": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[a-z]{2}$",
"description": "ISO 3166-1 alpha-2 (es, gb, fr)"
},
"sector": {
"type": "string",
"minLength": 2,
"maxLength": 50,
"pattern": "^[a-z0-9-]+$",
"description": "Industry slug (dental, legal, …)"
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[a-z0-9-]+$",
"description": "City slug (madrid, barcelona)"
},
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "^[a-z0-9-]+$",
"description": "Business slug (clinica-dental-ceodent)"
},
"include_render_context": {
"type": "boolean",
"default": false,
"description": "If true, keep render_context (large). Default strips it for agents."
}
},
"required": [
"country",
"sector",
"city",
"slug"
]
}出力スキーマ
{
"type": "object",
"properties": {
"schema": {
"type": "string"
},
"subject": {
"type": "object"
},
"claims": {
"type": "object"
},
"projection": {
"type": "object"
},
"corroboration": {
"type": "object"
},
"gate": {
"type": "string",
"description": "PUBLISH / PARTIAL / HOLD / REGISTRY_ONLY"
},
"policy": {
"type": "object"
},
"generated_at": {
"type": "string"
},
"materializer_version": {
"type": "string"
},
"_meta": {
"type": "object"
}
},
"description": "entia.entity_home_projection.v1 snapshot: claims, corroboration gate and policy.",
"additionalProperties": true
}コミュニティ
エビデンス