← The evidence ledger
Evidence row 220978
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 5ac09e09-917e-433c-acb5-d0d66278d1e8
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 6a632c48bf206917f6aca8db6b83c9e1c45247ec7966703cbf48920754516444
- Leaf
- 0xab2ad191d7ab5f72fafc95ceb907a3d09039beef57aa72c39d5de448bc5a7571
What was observed
{
"count": 8,
"tools": [
{
"description": "Busca empresas del directorio CEMIS combinando filtros con AND. Todos son opcionales.\n\n - sector: uno de los valores devueltos por listar_sectores(), o un sector de la\n taxonomía de matching de reformas (ver impacto_de_reforma()) que todavía no\n tiene ninguna empresa asignada — en ese caso el resultado es una lista vacía\n con una nota explicativa, no un error.\n - provincia: una de las 16 provincias cubanas (ver listar_provincias()).\n - objetivo: coincidencia parcial contra 'que_busca' de la empresa (ej. 'inversión',\n 'socio estratégico', 'distribuidor', 'exportar').\n - verificada: True para empresas con datos de contacto verificados, False para no\n verificadas, None (default) para no filtrar.\n - limite: máximo de resultados a devolver (default 50); el total real de matches\n siempre se informa en 'total_encontrado' aunque exceda el límite.\n\n Devuelve una ficha resumida por empresa, no el perfil completo (usá ficha_empresa()\n para eso).\n ",
"inputSchema": {
"properties": {
"limite": {
"default": 50,
"title": "Limite",
"type": "integer"
},
"objetivo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Objetivo"
},
"provincia": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Provincia"
},
"sector": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Sector"
},
"verificada": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Verificada"
}
},
"title": "buscar_empresasArguments",
"type": "object"
},
"name": "buscar_empresas"
},
{
"description": "Dado un id (ej. 'opp-001') o título (exacto o aproximado) de una oportunidad de\n negocio, devuelve las empresas del directorio CEMIS relacionadas: primero las\n curadas a mano dentro de la propia oportunidad, luego las encontradas automáticamente\n porque su sector matchea por palabra clave con el texto de la oportunidad.",
"inputSchema": {
"properties": {
"oportunidad": {
"title": "Oportunidad",
"type": "string"
}
},
"required": [
"oportunidad"
],
"title": "empresas_por_oportunidadArguments",
"type": "object"
},
"name": "empresas_por_oportunidad"
},
{
"description": "Devuelve las empresas cubanas del sector 'TICs y economía digital'\n (desarrollo de software, soluciones informáticas, TI y telemática) —\n el mismo dataset que arma el hub público /empresas-tecnologicas-cuba/ de\n cemis.io.\n\n A diferencia de buscar_empresas(sector=\"TICs y economía digital\"), esta\n tool también cruza el sector con las reformas del Eje 21 (ámbito digital,\n IA y economía del conocimiento) y las oportunidades de negocio asociadas\n a esas reformas — el mismo cruce regulatorio que distingue al hub de un\n directorio plano.\n\n limite: máximo de empresas a devolver en 'empresas' (default 50); el total\n real siempre está en 'total' aunque exceda el límite.\n ",
"inputSchema": {
"properties": {
"limite": {
"default": 50,
"title": "Limite",
"type": "integer"
}
},
"title": "empresas_tecnologicasArguments",
"type": "object"
},
"name": "empresas_tecnologicas"
},
{
"description": "Devuelve el perfil estructurado completo de una empresa del directorio CEMIS,\n identificada por su slug (o por nombre exacto/aproximado si no sabés el slug),\n incluyendo sus oportunidades de negocio relacionadas y las transformaciones/reformas\n que la afectan. Si no se encuentra, devuelve sugerencias aproximadas.",
"inputSchema": {
"properties": {
"slug": {
"title": "Slug",
"type": "string"
}
},
"required": [
"slug"
],
"title": "ficha_empresaArguments",
"type": "object"
},
"name": "ficha_empresa"
},
{
"description": "Herramienta principal: dado el número o título (exacto o aproximado) de una\n transformación/reforma de 2026, devuelve su impacto sobre el directorio CEMIS.\n\n El criterio de impacto varía según la naturaleza de la reforma (ver\n ambito_transformaciones.py, curado a mano transformación por transformación):\n - Reformas cuyo alcance real es un TIPO de empresa (estatal/no estatal/\n inversión extranjera/cooperativa) matchean por tipo, no por sector, y el\n resultado lo indica con \"criterio_de_impacto\": \"tipo_de_empresa\".\n - Reformas TRANSVERSALES (fiscales/cambiarias/laborales de alcance nacional,\n o que explícitamente aplican a \"todos los actores económicos\") devuelven\n \"alcance\": \"transversal\" con la metadata de la reforma, sin enumerar las\n 252 empresas del directorio (no aporta valor).\n - Reformas que NO APLICAN a un actor económico del directorio (reforma de\n aparato de gobierno, política social para personas, deuda soberana) lo\n dicen explícitamente en vez de devolver un array vacío sin explicación.\n - El resto matchea por SECTOR de industria vía EMPRESA_SECTOR_KEYWORDS\n (mismo criterio que cemis.io, con el fix de normalización de acentos\n de 2026-08-23 — antes \"turis\" no matcheaba \"turística\").\n\n En todos los casos incluye oportunidades_directas (vínculo curado\n transformacion_num) y el estado de implementación regulatoria si está\n disponible (ver monitor de reformas de cemis.io).",
"inputSchema": {
"properties": {
"transformacion": {
"title": "Transformacion",
"type": "string"
}
},
"required": [
"transformacion"
],
"title": "impacto_de_reformaArguments",
"type": "object"
},
"name": "impacto_de_reforma"
},
{
"description": "Devuelve las provincias válidas para filtrar empresas, derivadas de los datos reales\n del directorio. Usalo antes de llamar a buscar_empresas() con un filtro de provincia.",
"inputSchema": {
"properties": {},
"title": "listar_provinciasArguments",
"type": "object"
},
"name": "listar_provincias"
},
{
"description": "Devuelve los sectores válidos para filtrar empresas, derivados de los datos reales\n del directorio (no del formulario web, que puede estar desactualizado). Usalo antes de\n llamar a buscar_empresas() u oportunidades_por_sector() con un filtro de sector.",
"inputSchema": {
"properties": {},
"title": "listar_sectoresArguments",
"type": "object"
},
"name": "listar_sectores"
},
{
"description": "Dado un sector (ver listar_sectores(), o un sector de la taxonomía de matching\n de reformas que todavía no tiene empresas asignadas — ver impacto_de_reforma()),\n devuelve las oportunidades de negocio relevantes: primero las curadas a mano\n (vinculadas directamente a alguna empresa de ese sector), luego las encontradas\n automáticamente por coincidencia de palabras clave de sector (mismo criterio que\n usa cemis.io). Si el sector no tiene empresas asignadas hoy, 'oportunidades_curadas'\n sale vacía (no puede haber curadas sin empresas) pero las automáticas por keyword\n sí pueden aparecer, porque esas se buscan directamente en el texto de las\n oportunidades/transformaciones, no a través de las empresas.",
"inputSchema": {
"properties": {
"sector": {
"title": "Sector",
"type": "string"
}
},
"required": [
"sector"
],
"title": "oportunidades_por_sectorArguments",
"type": "object"
},
"name": "oportunidades_por_sector"
}
]
}What the leaf hashes
{"body":"6a632c48bf206917f6aca8db6b83c9e1c45247ec7966703cbf48920754516444","id":220978,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793027032791734,"prev":null,"subject":"5ac09e09-917e-433c-acb5-d0d66278d1e8","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0xab2b587c1bf96792c97cff9ae1cad24655695cd1534f236940a7859e0de29b65
- 0x71c7817265fdfb744df82c69eb635bb69ad5d06d9545a4740c32f660ed9ac2a3
- 0x5455019f62ce2bfb52730b1f4577d66bfc74c52d5eabb812627c185cb2332ce6
- 0x2241e580a7ae7432136d71fe86edd77b0ba7e0400fe7c45e2398a34d95c8b179
- 0x7515c7cd93d43c0082ce8ad2891622f5226b26877393bd2abe4396918a6cfec8
- 0x81fd2043d2bff45c4f2a29c1b6daf110e6e20231dc36ff5ba08ef53fb5442adb
- 0x2acfd56fea7ebcb668556e14b215322018d918318d94158b322c3d551bf5f215
- 0x00bfdd3de60a87e6b6c9c59d517f230843c59d3cf24eebe273ede0178ad81bc9
- 0x0bb588ea8722a2a8d5b5a05c25092b677ddc4f9e9399320c7a2e7e81ca524052
- 0x3fa5eaa6d08becab2832207a749500470aa2568b12840b9e743f3ba19967d00b
- 0xe285855b14529e4bf6d93d3ce05a3365dcfc651d48b9dfeb5c229a51822613eb
- 0xb7fae69bb7bd717d54a83df961404a3e4de2a5cfbcfa013fd83a38627fe13f7e
- 0x4700d6dfdb40e52e2ceb8ffe62c75f3f708d23452f828255fd003d795f5d9d66
- 0x3b4dba7d874fc323b0a364140a9c60f37bf547fe671897653118a9873fe03420
- 0x1a74ed3b3756b9cd946da49701bcec120ec88645013da99fa9eea60b39e1a570
- 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
- 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae