Developers

MCP · ¿Qué cambió y cuándo?

Cambios e historial

Cada cambio de razón social, giro, domicilio o casilla, con cómo era antes y cómo quedó, por RUT o por publicación. 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 historial_de

Historial de un RUT

Qué cambió de ESTE RUT en el padrón y cuándo, del cambio más reciente al más antiguo: razón social, clasificación, giros, domicilios y casilla, cada uno con cómo era antes y cómo quedó. Personas con giro incluidas —por su RUT y solo así—, y también el RUT que ya salió del padrón: tiene historial y no ficha. La lista vacía también es respuesta: no cambió. Descuenta una consulta por RUT.

Argumentos

ArgumentoTipoQué es
rut obligatoriostringEl RUT, con o sin puntos y guion (61.704.000-K o 61704000-K).

Lo que devuelve

El mismo cuerpo que GET /v1/rut/{rut}/historial, en structuredContent, y escrito en Markdown en el content de texto; _meta.consumo dice lo que descontó.

CampoTipoQué es
rutstringEl RUT que consultaste, normalizado: con guion y sin puntos.
rut_formateadostringEl mismo RUT listo para mostrar: con puntos y guion.
es_empresabooleantrue si el RUT es de una empresa y false si es de una persona. Sirve para decidir qué pedirle a quien se está registrando.
cambiosarrayLos cambios del RUT, del más reciente al más antiguo. Vacía si no cambió desde historial_desde: eso también es respuesta.
historial_desdestringDesde cuándo hay historial que contar. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC. null mientras ninguna publicación del SII se haya comparado con otra.
fuentestringDe dónde salen los datos de esta respuesta, en texto listo para citar («Padrón del SII, comparado publicación a publicación por Datario»). Es constante para esta llamada: guárdalo una vez y no lo parsees.
publicadostringDe cuándo son las nóminas vigentes del padrón. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC. La publicación en que apareció cada cambio va dentro del cambio.
consultado_enstringCuándo se respondió esta llamada. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC.
tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "historial_de",
    "arguments": {
      "rut": "61.704.000-K"
    }
  }
}

El resultado, con su consumo

result · structuredContent + _meta.consumo
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "# Historial de un RUT …"
      }
    ],
    "structuredContent": {
      "rut": "61704000-K",
      "rut_formateado": "61.704.000-K",
      "es_empresa": true,
      "cambios": [],
      "historial_desde": null,
      "fuente": "Padrón del SII, comparado publicación a publicación por Datario",
      "publicado": "2026-08-05T15:36:37+00:00",
      "consultado_en": "2026-08-29T04:12:07+00:00"
    },
    "_meta": {
      "consumo": {
        "consultas_cobradas": 1,
        "plan_restante": 19999,
        "saldo_restante": 0
      }
    }
  }
}

El esquema de los argumentos

inputSchema
{
  "type": "object",
  "properties": {
    "rut": {
      "type": "string",
      "description": "El RUT, con o sin puntos y guion (61.704.000-K o 61704000-K)."
    }
  },
  "required": [
    "rut"
  ]
}

MCP cambios_del_padron

Cambios del padrón

Todos los cambios de las personas jurídicas entre dos días, en el orden en que el SII los publicó: para actualizar tu base con lo que cambió, no con el padrón entero. Como se paga por cambio devuelto, desde es obligatorio. Con filtros por tipo, aspecto, campo, comuna, región o giro; cada página se lee hasta donde tu plan y tu saldo alcanzan. Descuenta una consulta por cambio devuelto; la página vacía descuenta una.

Argumentos

ArgumentoTipoQué es
desde obligatoriostringObligatorio. El primer día, inclusive, en hora de Chile. ISO 8601 solo fecha (1993-01-01), sin hora ni zona.
hastastringEl último día, inclusive. Por defecto hoy. ISO 8601 solo fecha (1993-01-01), sin hora ni zona.
tipostringSolo un tipo: alta, baja, cambio.
aspectostringSolo una parte de la ficha: contribuyente, domicilios, actividades, casilla.
campostringSolo los cambios de contribuyente en que ese campo difiere: razon_social, cod_subtipo, inicio_actividades, termino_giro.
comunastringSolo RUT con casa matriz o sucursal en esa comuna hoy, tal como la escribe el SII.
regionstringSolo RUT con domicilio en esa región hoy.
actividadintegerSolo RUT con ese giro hoy (el codigo de las actividades).
limiteintegerCambios por página: 1 a 100. Por defecto 100. Si tu plan y tu saldo no alcanzan para tantos, la página trae lo que alcanza y hay_mas dice que sigue.
paginastringEl pagina_siguiente de la respuesta anterior. Lleva los filtros adentro: o no los repites, o los repites todos iguales.

Lo que devuelve

El mismo cuerpo que GET /v1/cambios, en structuredContent, y escrito en Markdown en el content de texto; _meta.consumo dice lo que descontó.

CampoTipoQué es
cambiosarrayLa página de cambios, del más antiguo al más reciente. Vacía si nada cambió en esos días: eso también es respuesta, y descuenta una.
hay_masbooleantrue si quedan más cambios 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 («Padrón del SII, comparado publicación a publicación por Datario»). Es constante para esta llamada: guárdalo una vez y no lo parsees.
publicadostringDe cuándo son las nóminas vigentes del padrón. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC. La publicación en que apareció cada cambio va dentro del cambio.
consultado_enstringCuándo se respondió esta llamada. ISO 8601 con hora y zona (2026-08-05T15:36:37+00:00), siempre en UTC.
tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "cambios_del_padron",
    "arguments": {
      "desde": "2026-08-01"
    }
  }
}

El resultado, con su consumo

result · structuredContent + _meta.consumo
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "# Cambios del padrón …"
      }
    ],
    "structuredContent": {
      "cambios": [],
      "hay_mas": false,
      "pagina_siguiente": null,
      "fuente": "Padrón del SII, comparado publicación a publicación por Datario",
      "publicado": "2026-08-05T15:36:37+00:00",
      "consultado_en": "2026-08-29T04:12:07+00:00"
    },
    "_meta": {
      "consumo": {
        "consultas_cobradas": 1,
        "plan_restante": 19999,
        "saldo_restante": 0
      }
    }
  }
}

El esquema de los argumentos

inputSchema
{
  "type": "object",
  "properties": {
    "desde": {
      "type": "string",
      "description": "Obligatorio. El primer día, inclusive, en hora de Chile. ISO 8601 solo fecha (`1993-01-01`), sin hora ni zona."
    },
    "hasta": {
      "type": "string",
      "description": "El último día, inclusive. Por defecto hoy. ISO 8601 solo fecha (`1993-01-01`), sin hora ni zona."
    },
    "tipo": {
      "type": "string",
      "description": "Solo un tipo: `alta`, `baja`, `cambio`."
    },
    "aspecto": {
      "type": "string",
      "description": "Solo una parte de la ficha: `contribuyente`, `domicilios`, `actividades`, `casilla`."
    },
    "campo": {
      "type": "string",
      "description": "Solo los cambios de `contribuyente` en que ese campo difiere: `razon_social`, `cod_subtipo`, `inicio_actividades`, `termino_giro`."
    },
    "comuna": {
      "type": "string",
      "description": "Solo RUT con casa matriz o sucursal en esa comuna hoy, tal como la escribe el SII."
    },
    "region": {
      "type": "string",
      "description": "Solo RUT con domicilio en esa región hoy."
    },
    "actividad": {
      "type": "integer",
      "description": "Solo RUT con ese giro hoy (el `codigo` de las actividades)."
    },
    "limite": {
      "type": "integer",
      "description": "Cambios por página: 1 a 100. Por defecto 100. Si tu plan y tu saldo no alcanzan para tantos, la página trae lo que alcanza y `hay_mas` dice que sigue."
    },
    "pagina": {
      "type": "string",
      "description": "El `pagina_siguiente` de la respuesta anterior. Lleva los filtros adentro: o no los repites, o los repites todos iguales."
    }
  },
  "required": [
    "desde"
  ]
}

Probar en la consola Este producto por REST Este producto por SOAP Este producto por GraphQL Qué es Cambios e historial