Control de asistencia por WhatsApp en México: quién llegó, retardos, faltas y horas para nómina.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Cambia el horario de un sitio (hora de entrada, a partir de cuándo es retardo, ventana de salida, días laborables) o enciende y apaga sus recordatorios de WhatsApp. Solo cambia lo que se indique. Úsala para "cambia la entrada de la obra a las 7", "activa los recordatorios en Plaza Fiesta" o "la caseta ahora trabaja de lunes a domingo". Update a site schedule or reminders.
Nombre del sitio.
Días laborables como números ISO: 1 lunes … 7 domingo.
Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato.
Nueva hora de apertura de la entrada, HH:MM.
Nueva hora desde la que se acepta la salida, HH:MM.
Nueva hora límite de salida, HH:MM.
Nueva hora límite de entrada, HH:MM.
Nueva hora a partir de la cual cuenta como retardo, HH:MM.
Encender (true) o apagar (false) el recordatorio de salida.
Encender (true) o apagar (false) el recordatorio de entrada.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http chato https://mcp.soychato.com/mcp
Cambia el horario de un sitio (hora de entrada, a partir de cuándo es retardo, ventana de salida, días laborables) o enciende y apaga sus recordatorios de WhatsApp. Solo cambia lo que se indique. Úsala para "cambia la entrada de la obra a las 7", "activa los recordatorios en Plaza Fiesta" o "la caseta ahora trabaja de lunes a domingo". Update a site schedule or reminders.
| Argument | Type | Description |
|---|---|---|
| dias | array | Días laborables como números ISO: 1 lunes … 7 domingo. |
| sitio* | string | Nombre del sitio. |
| empresa | string | Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato. |
| entrada | string | Nueva hora de apertura de la entrada, HH:MM. |
| salida_desde | string | Nueva hora desde la que se acepta la salida, HH:MM. |
| salida_hasta | string | Nueva hora límite de salida, HH:MM. |
| entrada_hasta | string | Nueva hora límite de entrada, HH:MM. |
| retardo_despues_de | string | Nueva hora a partir de la cual cuenta como retardo, HH:MM. |
| recordatorios_salida | boolean | Encender (true) o apagar (false) el recordatorio de salida. |
| recordatorios_entrada | boolean | Encender (true) o apagar (false) el recordatorio de entrada. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"sitio"
],
"properties": {
"dias": {
"type": "array",
"items": {
"type": "integer",
"maximum": 7,
"minimum": 1
},
"description": "Días laborables como números ISO: 1 lunes … 7 domingo."
},
"sitio": {
"type": "string",
"description": "Nombre del sitio."
},
"empresa": {
"type": "string",
"description": "Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato."
},
"entrada": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Nueva hora de apertura de la entrada, HH:MM."
},
"salida_desde": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Nueva hora desde la que se acepta la salida, HH:MM."
},
"salida_hasta": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Nueva hora límite de salida, HH:MM."
},
"entrada_hasta": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Nueva hora límite de entrada, HH:MM."
},
"retardo_despues_de": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Nueva hora a partir de la cual cuenta como retardo, HH:MM."
},
"recordatorios_salida": {
"type": "boolean",
"description": "Encender (true) o apagar (false) el recordatorio de salida."
},
"recordatorios_entrada": {
"type": "boolean",
"description": "Encender (true) o apagar (false) el recordatorio de entrada."
}
},
"additionalProperties": false
}Cambia o agrega el sitio de una persona (define su horario para retardos, faltas y recordatorios). Por defecto reemplaza su sitio actual; con agregar=true lo suma a los que ya tiene. Úsala para "pasa a Karla a la obra sur" o "Luis ahora cubre también la caseta norte". Assign an employee to a site.
| Argument | Type | Description |
|---|---|---|
| sitio* | string | Nombre del sitio. |
| agregar | boolean | true para sumar el sitio sin quitar los que ya tiene. |
| empresa | string | Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato. |
| empleado* | string | Nombre o código de la persona. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"empleado",
"sitio"
],
"properties": {
"sitio": {
"type": "string",
"description": "Nombre del sitio."
},
"agregar": {
"type": "boolean",
"description": "true para sumar el sitio sin quitar los que ya tiene."
},
"empresa": {
"type": "string",
"description": "Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato."
},
"empleado": {
"type": "string",
"description": "Nombre o código de la persona."
}
},
"additionalProperties": false
}Detalle de un día por persona: hora de entrada y de salida, desde qué sitio, si fue retardo, falta, salida sin registrar o registro fuera de sitio, y horas trabajadas. Úsala para "¿cómo estuvo la asistencia ayer?", "¿a qué hora salió Juan?" o para revisar un día concreto. Daily attendance detail per employee.
| Argument | Type | Description |
|---|---|---|
| fecha | string | Fecha AAAA-MM-DD en la zona horaria de la empresa. Por defecto hoy. |
| sitio | string | Nombre del sitio (obra, sucursal, cliente). Por defecto todos. |
| empresa | string | Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"fecha": {
"type": "string",
"description": "Fecha AAAA-MM-DD en la zona horaria de la empresa. Por defecto hoy."
},
"sitio": {
"type": "string",
"description": "Nombre del sitio (obra, sucursal, cliente). Por defecto todos."
},
"empresa": {
"type": "string",
"description": "Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato."
}
},
"additionalProperties": false
}Para un sitio y un rango de fechas: qué días tuvieron personal, cuántas personas registraron cada día, los días sin nadie y los registros fuera de sitio. Es la evidencia para el cliente final (la plaza, el corporativo, la planta) de que el servicio se cubrió. Úsala para "¿cubrimos la caseta norte en octubre?", "¿cuántas personas hubo cada día en el hospital?" o para preparar el reporte mensual de un cliente. Site coverage report for a client.
| Argument | Type | Description |
|---|---|---|
| desde | string | Inicio del rango, AAAA-MM-DD. Por defecto, los 30 días que terminan en "hasta" (contando ese día). |
| hasta | string | Fin del rango, AAAA-MM-DD. Por defecto hoy. |
| sitio* | string | Nombre del sitio. |
| empresa | string | Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"sitio"
],
"properties": {
"desde": {
"type": "string",
"description": "Inicio del rango, AAAA-MM-DD. Por defecto, los 30 días que terminan en \"hasta\" (contando ese día)."
},
"hasta": {
"type": "string",
"description": "Fin del rango, AAAA-MM-DD. Por defecto hoy."
},
"sitio": {
"type": "string",
"description": "Nombre del sitio."
},
"empresa": {
"type": "string",
"description": "Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato."
}
},
"additionalProperties": false
}Da de alta a una o varias personas con su nombre y su WhatsApp (10 dígitos de México o con lada internacional) y las asigna a un sitio. Cada persona dada de alta cuenta para el cobro mensual. Úsala cuando el usuario quiera agregar gente a Chato ("agrega a Luis Pérez, 8112345678, a la obra norte"). Add employees and assign them to a site.
| Argument | Type | Description |
|---|---|---|
| sitio | string | Sitio al que se asignan (su horario define retardos, faltas y recordatorios). Recomendado. |
| empresa | string | Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato. |
| personas* | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"personas"
],
"properties": {
"sitio": {
"type": "string",
"description": "Sitio al que se asignan (su horario define retardos, faltas y recordatorios). Recomendado."
},
"empresa": {
"type": "string",
"description": "Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato."
},
"personas": {
"type": "array",
"items": {
"type": "object",
"required": [
"nombre",
"whatsapp"
],
"properties": {
"codigo": {
"type": "string",
"maxLength": 40,
"description": "Código o número de empleado, si lo usan."
},
"nombre": {
"type": "string",
"maxLength": 120,
"minLength": 3,
"description": "Nombre completo."
},
"whatsapp": {
"type": "string",
"minLength": 10,
"description": "Número de WhatsApp, 10 dígitos (México) o con +lada."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1
}
},
"additionalProperties": false
}Crea un sitio (obra, sucursal, cliente, puesto) con su ubicación, su radio permitido y su horario de entrada y salida. La dirección se geocodifica; también se aceptan latitud y longitud. Úsala cuando el usuario quiera agregar una obra, un cliente nuevo o una sede. Create a site with its geofence and schedule.
| Argument | Type | Description |
|---|---|---|
| dias | array | Días laborables como números ISO: 1 lunes … 7 domingo. Por defecto lunes a sábado. |
| nombre* | string | Nombre del sitio, como lo conoce el equipo ("Obra Apodaca", "Plaza Fiesta", "Caseta norte"). |
| empresa | string | Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato. |
| entrada | string | Hora de entrada (apertura de la ventana), HH:MM. Por defecto 06:00. |
| latitud | number | Latitud, si ya se conoce. |
| radio_m | integer | Radio permitido en metros alrededor del sitio. Por defecto 150; usa más en obras grandes o plazas. |
| longitud | number | Longitud, si ya se conoce. |
| direccion | string | Dirección completa (calle, número, colonia, ciudad). Se usa para ubicar el sitio. |
Da de baja a una persona: deja de registrar asistencia, de recibir recordatorios y de contar para el cobro. Sus registros anteriores se conservan. Úsala solo cuando el usuario pida explícitamente dar de baja, quitar o desactivar a alguien. Deactivate an employee.
| Argument | Type | Description |
|---|---|---|
| empresa | string | Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato. |
| empleado* | string | Nombre o código de la persona. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"empleado"
],
"properties": {
"empresa": {
"type": "string",
"description": "Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato."
},
"empleado": {
"type": "string",
"description": "Nombre o código de la persona."
}
},
"additionalProperties": false
}La lista de personal con su sitio, su código, si ya se conectó por WhatsApp a Chato y la fecha de su último registro. Úsala para "¿quién todavía no se conecta?", "¿cuántas personas tengo en la obra norte?" o antes de dar de alta o dar de baja a alguien. Employee roster and WhatsApp connection status.
| Argument | Type | Description |
|---|---|---|
| sitio | string | Nombre del sitio (obra, sucursal, cliente). Por defecto todos. |
| estado | string | Por defecto activos. |
| empresa | string | Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"sitio": {
"type": "string",
"description": "Nombre del sitio (obra, sucursal, cliente). Por defecto todos."
},
"estado": {
"enum": [
"activos",
"bajas",
"todos"
],
"type": "string",
"description": "Por defecto activos."
},
"empresa": {
"type": "string",
"description": "Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato."
}
},
"additionalProperties": false
}Revisa si un esquema de turnos (12x24, 24x24, 24x48, 12 horas 6 días, 8 horas 6 días…) cabe en la Ley Federal del Trabajo de México en un año dado: horas por semana contra la jornada máxima, horas extra por turno y por semana, y el límite de 12 horas al día. Úsala cuando pregunten si un turno es legal, cuántas horas extra genera o cómo se verá con la jornada de 46 horas de 2027. Checks whether a shift pattern complies with Mexican labor law.
| Argument | Type | Description |
|---|---|---|
| anio | integer | Año a evaluar (la jornada máxima baja cada año de 2027 a 2030). Por defecto 2027. |
| tipo | string | Jornada diurna (6:00–20:00, máx. 8 h), nocturna (20:00–6:00, máx. 7 h) o mixta (máx. 7.5 h). Por defecto diurna; mixta para turnos de 24 h. |
| dias_por_semana | integer | Días que se trabaja ese turno a la semana (para esquemas tipo "8 horas, 6 días"). |
| horas_de_trabajo* | number | Horas seguidas de trabajo por turno (12 en un 12x24, 24 en un 24x24, 8 en una jornada normal). |
| horas_de_descanso | number | Horas de descanso entre turnos en esquemas tipo NxM (24 en un 12x24). Déjalo vacío si das días por semana. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"horas_de_trabajo"
],
"properties": {
"anio": {
"type": "integer",
"maximum": 2035,
"minimum": 2025,
"description": "Año a evaluar (la jornada máxima baja cada año de 2027 a 2030). Por defecto 2027."
},
"tipo": {
"enum": [
"diurna",
"nocturna",
"mixta"
],
"type": "string",
"description": "Jornada diurna (6:00–20:00, máx. 8 h), nocturna (20:00–6:00, máx. 7 h) o mixta (máx. 7.5 h). Por defecto diurna; mixta para turnos de 24 h."
},
"dias_por_semana": {
"type": "integer",
"maximum": 7,
"minimum": 1,
"description": "Días que se trabaja ese turno a la semana (para esquemas tipo \"8 horas, 6 días\")."
},
"horas_de_trabajo": {
"type": "number",
"maximum": 48,
"minimum": 1,
"description": "Horas seguidas de trabajo por turno (12 en un 12x24, 24 en un 24x24, 8 en una jornada normal)."
},
"horas_de_descanso": {
"type": "number",
"maximum": 168,
"minimum": 0,
"description": "Horas de descanso entre turnos en esquemas tipo NxM (24 en un 12x24). Déjalo vacío si das días por semana."
}
},
"additionalProperties": false
}Calcula cuántas personas hacen falta para cubrir un puesto de vigilancia, limpieza o mantenimiento sin pasar la jornada máxima de la Ley Federal del Trabajo (46 h por semana en 2027, 44 en 2028, 42 en 2029, 40 en 2030), y el mínimo si se paga el máximo de horas extra. Úsala cuando alguien pregunte cuántos guardias, vigilantes o elementos necesita por puesto, caseta o turno, o cómo armar roles 24/7. How many guards or workers a 24/7 post needs under Mexican labor law.
| Argument | Type | Description |
|---|---|---|
| anio | integer | Año a evaluar (la jornada máxima baja cada año de 2027 a 2030). Por defecto 2027. |
| horas_por_dia | number | Horas que el puesto está cubierto cada día (24 para un puesto permanente). Por defecto 24. |
| dias_por_semana | integer | Días a la semana que se cubre el puesto. Por defecto 7. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"anio": {
"type": "integer",
"maximum": 2035,
"minimum": 2025,
"description": "Año a evaluar (la jornada máxima baja cada año de 2027 a 2030). Por defecto 2027."
},
"horas_por_dia": {
"type": "number",
"maximum": 24,
"minimum": 1,
"description": "Horas que el puesto está cubierto cada día (24 para un puesto permanente). Por defecto 24."
},
"dias_por_semana": {
"type": "integer",
"maximum": 7,
"minimum": 1,
"description": "Días a la semana que se cubre el puesto. Por defecto 7."
}
},
"additionalProperties": false
}Los registros de una persona en un rango: cada día con hora y sitio de entrada y de salida, retardos, faltas y los intentos fuera de sitio con la distancia. Úsala para revisar a alguien en concreto ("¿cómo ha estado llegando Karla este mes?", "¿María registró el martes?"). Attendance history of one employee.
| Argument | Type | Description |
|---|---|---|
| desde | string | Inicio del rango, AAAA-MM-DD. Por defecto, los 30 días que terminan en "hasta" (contando ese día). |
| hasta | string | Fin del rango, AAAA-MM-DD. Por defecto hoy. |
| empresa | string | Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato. |
| empleado* | string | Nombre o código de la persona. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"empleado"
],
"properties": {
"desde": {
"type": "string",
"description": "Inicio del rango, AAAA-MM-DD. Por defecto, los 30 días que terminan en \"hasta\" (contando ese día)."
},
"hasta": {
"type": "string",
"description": "Fin del rango, AAAA-MM-DD. Por defecto hoy."
},
"empresa": {
"type": "string",
"description": "Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato."
},
"empleado": {
"type": "string",
"description": "Nombre o código de la persona."
}
},
"additionalProperties": false
}Por persona, en un rango de fechas (una quincena, una semana, un mes): días con registro, retardos y sus minutos, faltas, días con entrada pero sin salida registrada, días con salida pero sin entrada aceptada, y horas trabajadas. Son los mismos números que el Excel de nómina del panel. Úsala para "dame las horas de la quincena", "¿cuántas faltas tuvo cada quien en octubre?" o "¿quién tiene días sin salida?". Payroll hours, lates and absences per employee for a period.
| Argument | Type | Description |
|---|---|---|
| desde | string | Inicio del rango, AAAA-MM-DD. Por defecto, los 15 días que terminan en "hasta" (contando ese día). |
| hasta | string | Fin del rango, AAAA-MM-DD. Por defecto hoy. |
| sitio | string | Nombre del sitio (obra, sucursal, cliente). Por defecto todos. |
| empresa | string | Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato. |
| empleado | string | Nombre o código de una persona, para ver solo a ella. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"desde": {
"type": "string",
"description": "Inicio del rango, AAAA-MM-DD. Por defecto, los 15 días que terminan en \"hasta\" (contando ese día)."
},
"hasta": {
"type": "string",
"description": "Fin del rango, AAAA-MM-DD. Por defecto hoy."
},
"sitio": {
"type": "string",
"description": "Nombre del sitio (obra, sucursal, cliente). Por defecto todos."
},
"empresa": {
"type": "string",
"description": "Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato."
},
"empleado": {
"type": "string",
"description": "Nombre o código de una persona, para ver solo a ella."
}
},
"additionalProperties": false
}Las empresas del usuario en Chato, con su rol en cada una (propietario, administrador, usuario o solo lectura), el estado de la suscripción o prueba, la zona horaria, y cuántos sitios y empleados activos tiene. Úsala primero cuando no sepas con qué empresa trabajar o para confirmar que la cuenta está conectada. Companies the signed-in user manages in Chato.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Multa en pesos por no llevar el registro electrónico de la jornada de trabajo que la Ley Federal del Trabajo exige a todo patrón en México desde el 1 de enero de 2027 (art. 132 fr. XXXIV y art. 994 fr. IV Bis: de 250 a 5,000 UMA). Úsala cuando pregunten cuánto es la multa, qué pasa si no llevan control de asistencia o registro de jornada, o desde cuándo es obligatorio. Fine for not keeping electronic work-hour records in Mexico.
| Argument | Type | Description |
|---|---|---|
| uma | number | Valor diario de la UMA, si quieres usar uno distinto al que conozco. |
| anio | integer | Año de la UMA a usar. Por defecto 2026. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"uma": {
"type": "number",
"description": "Valor diario de la UMA, si quieres usar uno distinto al que conozco.",
"exclusiveMinimum": 0
},
"anio": {
"type": "integer",
"maximum": 2035,
"minimum": 2025,
"description": "Año de la UMA a usar. Por defecto 2026."
}
},
"additionalProperties": false
}Qué hace Chato (control de asistencia por WhatsApp para personal en obras, sitios de clientes y varias sedes en México), qué no hace, cómo se cobra y cómo empezar. Úsala cuando pregunten qué es Chato, cómo funciona, cuánto cuesta, si sirve para su caso o cómo conectar su cuenta a este asistente. What Chato is and how to get started.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Para un día (hoy por defecto) y por sitio: quién ya registró su entrada por WhatsApp (hora y minutos de retardo), quién todavía no registra aunque ya pasó su hora, y quién no tiene horario ese día. Es la pregunta de la mañana del supervisor: "¿quién falta en la obra?", "¿ya llegaron todos a Plaza X?", "¿quién llegó tarde hoy?". Who has not clocked in yet today, per site.
| Argument | Type | Description |
|---|---|---|
| fecha | string | Fecha AAAA-MM-DD en la zona horaria de la empresa. Por defecto hoy. |
| sitio | string | Nombre del sitio (obra, sucursal, cliente). Por defecto todos. |
| empresa | string | Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"fecha": {
"type": "string",
"description": "Fecha AAAA-MM-DD en la zona horaria de la empresa. Por defecto hoy."
},
"sitio": {
"type": "string",
"description": "Nombre del sitio (obra, sucursal, cliente). Por defecto todos."
},
"empresa": {
"type": "string",
"description": "Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato."
}
},
"additionalProperties": false
}El registro electrónico de la jornada de trabajo que pide la Ley Federal del Trabajo (art. 132 fr. XXXIV): por persona, cada jornada con su hora de inicio y de fin, y los totales por semana comparados con la jornada máxima del año. El detalle por día se incluye cuando se pide una persona o un rango corto; para muchas personas y un rango largo devuelve los totales por semana y pide acotar. Úsala cuando pidan el registro de jornada, lo que se presenta a la STPS o a un inspector, o las horas semanales contra el límite legal. Statutory work-hour record for the Mexican labor authority.
| Argument | Type | Description |
|---|---|---|
| desde | string | Inicio del rango, AAAA-MM-DD. Por defecto, los 30 días que terminan en "hasta" (contando ese día). |
| hasta | string | Fin del rango, AAAA-MM-DD. Por defecto hoy. |
| empresa | string | Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato. |
| empleado | string | Nombre o código de una persona, para ver solo a ella. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"desde": {
"type": "string",
"description": "Inicio del rango, AAAA-MM-DD. Por defecto, los 30 días que terminan en \"hasta\" (contando ese día)."
},
"hasta": {
"type": "string",
"description": "Fin del rango, AAAA-MM-DD. Por defecto hoy."
},
"empresa": {
"type": "string",
"description": "Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato."
},
"empleado": {
"type": "string",
"description": "Nombre o código de una persona, para ver solo a ella."
}
},
"additionalProperties": false
}Los sitios (obras, sucursales, clientes, puestos) de la empresa con dirección, radio permitido, horario (entrada, retardo después de, salida, días), si los recordatorios están encendidos y cuántas personas están asignadas. Úsala para "¿qué sitios tengo?", "¿a qué hora es la entrada en la obra de Apodaca?" o antes de dar de alta o cambiar un sitio. Sites and their schedules.
| Argument | Type | Description |
|---|---|---|
| sitio | string | Nombre del sitio (obra, sucursal, cliente). Por defecto todos. |
| empresa | string | Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"sitio": {
"type": "string",
"description": "Nombre del sitio (obra, sucursal, cliente). Por defecto todos."
},
"empresa": {
"type": "string",
"description": "Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 11, 2026.
| salida_desde | string | Desde qué hora se acepta la salida, HH:MM. Por defecto 12:00. |
| salida_hasta | string | Hasta qué hora se acepta la salida, HH:MM. Por defecto 19:00. |
| entrada_hasta | string | Hasta qué hora se acepta la entrada, HH:MM. Por defecto 10:00. |
| recordatorios | boolean | Encender los recordatorios de entrada y salida por WhatsApp. Por defecto apagados. |
| retardo_despues_de | string | A partir de qué hora la entrada cuenta como retardo, HH:MM. Por defecto 08:10. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"nombre"
],
"properties": {
"dias": {
"type": "array",
"items": {
"type": "integer",
"maximum": 7,
"minimum": 1
},
"description": "Días laborables como números ISO: 1 lunes … 7 domingo. Por defecto lunes a sábado."
},
"nombre": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Nombre del sitio, como lo conoce el equipo (\"Obra Apodaca\", \"Plaza Fiesta\", \"Caseta norte\")."
},
"empresa": {
"type": "string",
"description": "Nombre de la empresa. Solo hace falta cuando el usuario tiene varias empresas en Chato."
},
"entrada": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Hora de entrada (apertura de la ventana), HH:MM. Por defecto 06:00."
},
"latitud": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitud, si ya se conoce."
},
"radio_m": {
"type": "integer",
"maximum": 2000,
"minimum": 30,
"description": "Radio permitido en metros alrededor del sitio. Por defecto 150; usa más en obras grandes o plazas."
},
"longitud": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitud, si ya se conoce."
},
"direccion": {
"type": "string",
"minLength": 5,
"description": "Dirección completa (calle, número, colonia, ciudad). Se usa para ubicar el sitio."
},
"salida_desde": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Desde qué hora se acepta la salida, HH:MM. Por defecto 12:00."
},
"salida_hasta": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Hasta qué hora se acepta la salida, HH:MM. Por defecto 19:00."
},
"entrada_hasta": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Hasta qué hora se acepta la entrada, HH:MM. Por defecto 10:00."
},
"recordatorios": {
"type": "boolean",
"description": "Encender los recordatorios de entrada y salida por WhatsApp. Por defecto apagados."
},
"retardo_despues_de": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "A partir de qué hora la entrada cuenta como retardo, HH:MM. Por defecto 08:10."
}
},
"additionalProperties": false
}