MCP · ¿Cómo se llama la empresa que busco?
Búsqueda de empresas
Encuentra personas jurídicas por razón social, giro, comuna o región, con la forma correcta de un nombre mal escrito. Los ejemplos de abajo son la petición y la respuesta real de cada operación, no una aproximación.
Lo que descuenta cada operación es lo mismo por REST, SOAP, GraphQL y MCP —pagas por el dato, no por el protocolo—; la tabla completa está en Empezar.
MCP buscar_empresas
Búsqueda de empresas
Encuentra personas jurídicas por razón social, giro, comuna o región — para cuando tienes el nombre y te falta el RUT. El texto se busca DENTRO de la razón social; con modo=empieza se busca al principio, que es mucho más rápido y ordena alfabéticamente. Cada página descuenta una consulta —cueste lo que cueste el camino— y la ficha completa de cada resultado se pide después por RUT. Si el texto parece mal escrito, sugerencia trae la forma que sí está en el padrón. Descuenta una consulta por página de resultados, también la vacía.
Argumentos
| Argumento | Tipo | Qué es |
|---|---|---|
razon_social | string | Texto a buscar en la razón social, sin distinguir mayúsculas ni tildes. Mínimo 3 caracteres. Dónde se busca lo decide modo. |
modo | string | contiene (por defecto) busca el texto en cualquier parte de la razón social y ordena por parecido. empieza lo busca solo al principio, ordena alfabéticamente y responde mucho más rápido. Los dos paginan igual y cuestan lo mismo: una consulta por página. |
actividad | integer | Código numérico del giro (el mismo codigo de las actividades). |
comuna | string | Comuna de la casa matriz o de una sucursal, tal como la escribe el SII. |
region | string | Región del domicilio, tal como la escribe el SII. |
limite | integer | Resultados por página: 1 a 50. Por defecto 50. |
pagina | string | El pagina_siguiente de la respuesta anterior. Lleva los filtros adentro —modo y los tres de tamaño incluidos—: o no los repites, o los repites todos iguales. |
tramo_minimo | integer | Tramo de ventas mínimo, 1 a 13 (el tramo_ventas.codigo de la ficha), según el último año comercial publicado. Refina una búsqueda: solo no la define, y deja fuera a quien la nómina anual no trae. |
trabajadores_minimo | integer | Trabajadores mínimos según el último año comercial publicado. Refina una búsqueda: solo no la define. |
vigentes | boolean | true deja solo las empresas sin término de giro ante el SII. Refina una búsqueda: solo no la define. |
Lo que devuelve
El mismo cuerpo que GET /v1/empresas, en structuredContent, y escrito en Markdown en el content de texto; _meta.consumo dice lo que descontó.
| Campo | Tipo | Qué es |
|---|---|---|
resultados | array | La página de coincidencias. Vacía si no hay: eso también es respuesta. |
hay_mas | boolean | true si quedan más resultados por pedir. |
pagina_siguiente | string | Pásalo tal cual en pagina para pedir la siguiente. null cuando no hay más. Lleva los filtros adentro: no los repitas distintos. |
fuente | string | De dónde salen los datos de esta respuesta, en texto listo para citar («Nóminas públicas de contribuyentes, SII»). Es constante para esta llamada: guárdalo una vez y no lo parsees. |
padron_publicado | string | Qué versión de los datos respondió. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC. |
consultado_en | string | Cuándo se respondió esta llamada. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC. |
sugerencia | string | La forma bien escrita del texto que buscaste, cuando el que mandaste parece tener un error de tipeo («FARMACIA» para «FARMASIA»); null si no hay ninguna. Puede venir aunque haya resultados. Se pide como una búsqueda nueva con ese razon_social, y esa página descuenta su consulta como cualquier otra. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "buscar_empresas",
"arguments": {
"razon_social": "cobre"
}
}
}
El resultado, con su consumo
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "# Búsqueda de empresas …"
}
],
"structuredContent": {
"resultados": [
{
"rut": "61704000-K",
"rut_formateado": "61.704.000-K",
"razon_social": "CORP NACIONAL DEL COBRE DE CHILE",
"comuna": "SANTIAGO",
"region": "XIII REGION METROPOLITANA",
"tramo_ventas": 13,
"trabajadores": 16946
}
],
"hay_mas": true,
"pagina_siguiente": "eyJsciI6IjYxNzA0In0.q1w2e3",
"fuente": "Nóminas públicas de contribuyentes, SII",
"padron_publicado": "2026-08-05T15:36:37+00:00",
"consultado_en": "2026-08-29T04:12:07+00:00",
"sugerencia": null
},
"_meta": {
"consumo": {
"consultas_cobradas": 1,
"plan_restante": 19999,
"saldo_restante": 0
}
}
}
}
El esquema de los argumentos
{
"type": "object",
"properties": {
"razon_social": {
"type": "string",
"description": "Texto a buscar en la razón social, sin distinguir mayúsculas ni tildes. Mínimo 3 caracteres. Dónde se busca lo decide `modo`."
},
"modo": {
"type": "string",
"description": "`contiene` (por defecto) busca el texto en cualquier parte de la razón social y ordena por parecido. `empieza` lo busca solo al principio, ordena alfabéticamente y responde mucho más rápido. Los dos paginan igual y cuestan lo mismo: una consulta por página."
},
"actividad": {
"type": "integer",
"description": "Código numérico del giro (el mismo `codigo` de las actividades)."
},
"comuna": {
"type": "string",
"description": "Comuna de la casa matriz o de una sucursal, tal como la escribe el SII."
},
"region": {
"type": "string",
"description": "Región del domicilio, tal como la escribe el SII."
},
"limite": {
"type": "integer",
"description": "Resultados por página: 1 a 50. Por defecto 50."
},
"pagina": {
"type": "string",
"description": "El `pagina_siguiente` de la respuesta anterior. Lleva los filtros adentro —`modo` y los tres de tamaño incluidos—: o no los repites, o los repites todos iguales."
},
"tramo_minimo": {
"type": "integer",
"description": "Tramo de ventas mínimo, 1 a 13 (el `tramo_ventas.codigo` de la ficha), según el último año comercial publicado. Refina una búsqueda: solo no la define, y deja fuera a quien la nómina anual no trae."
},
"trabajadores_minimo": {
"type": "integer",
"description": "Trabajadores mínimos según el último año comercial publicado. Refina una búsqueda: solo no la define."
},
"vigentes": {
"type": "boolean",
"description": "`true` deja solo las empresas sin término de giro ante el SII. Refina una búsqueda: solo no la define."
}
}
}
Probar en la consola Este producto por REST Este producto por SOAP Este producto por GraphQL Qué es Búsqueda de empresas