Developers

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

ArgumentoTipoQué es
razon_socialstringTexto a buscar en la razón social, sin distinguir mayúsculas ni tildes. Mínimo 3 caracteres. Dónde se busca lo decide modo.
modostringcontiene (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.
actividadintegerCódigo numérico del giro (el mismo codigo de las actividades).
comunastringComuna de la casa matriz o de una sucursal, tal como la escribe el SII.
regionstringRegión del domicilio, tal como la escribe el SII.
limiteintegerResultados por página: 1 a 50. Por defecto 50.
paginastringEl 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_minimointegerTramo 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_minimointegerTrabajadores mínimos según el último año comercial publicado. Refina una búsqueda: solo no la define.
vigentesbooleantrue 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ó.

CampoTipoQué es
resultadosarrayLa página de coincidencias. Vacía si no hay: eso también es respuesta.
hay_masbooleantrue si quedan más resultados por pedir.
pagina_siguientestringPásalo tal cual en pagina para pedir la siguiente. null cuando no hay más. Lleva los filtros adentro: no los repitas distintos.
fuentestringDe 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_publicadostringQué versión de los datos respondió. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC.
consultado_enstringCuándo se respondió esta llamada. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC.
sugerenciastringLa 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.
tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "buscar_empresas",
    "arguments": {
      "razon_social": "cobre"
    }
  }
}

El resultado, con su consumo

result · structuredContent + _meta.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

inputSchema
{
  "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