Verified local businesses, bookable by AI agents: services, prices, availability and appointments.
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.
Para el DUEÑO: volver a abrir horas que había cerrado. Lo contrario de cerrar_horas. Úsala con "ya puedo el jueves", "ábreme la tarde otra vez" o "quita el bloqueo".
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Para el DUEÑO: volver a abrir horas que había cerrado. Lo contrario de cerrar_horas. Úsala con "ya puedo el jueves", "ábreme la tarde otra vez" o "quita el bloqueo".
| Argument | Type | Description |
|---|---|---|
| clave* | string | |
| desde* | string | |
| fecha* | string | |
| hasta | string | |
| negocio* | string |
{
"type": "object",
"title": "abrir_horasArguments",
"required": [
"negocio",
"clave",
"fecha",
"desde"
],
"properties": {
"clave": {
"type": "string",
"title": "Clave"
},
"desde": {
"type": "string",
"title": "Desde"
},
"fecha": {
"type": "string",
"title": "Fecha"
},
"hasta": {
"type": "string",
"title": "Hasta",
"default": ""
},
"negocio": {
"type": "string",
"title": "Negocio"
}
}
}Para el DUEÑO: meter en Aisha una cita que le llegó por fuera. Esta es la importante. Cuando a un negocio le hablan por teléfono, le escriben por WhatsApp o le llega alguien de la calle, esa cita debe entrar aquí igual que las de Aisha — si no, la agenda que ven los asistentes de IA está incompleta y pueden ofrecer una hora que ya está vendida. A diferencia de crear_reserva, el contacto del cliente es OPCIONAL: el dueño lo tiene enfrente o acaba de hablar con él. Pero pídeselo si lo tiene a la mano, porque sirve para avisarle de cualquier cambio.
| Argument | Type | Description |
|---|---|---|
| hora* | string | |
| clave* | string | |
| fecha* | string | |
| negocio* | string | |
| persona | string | |
| servicio* | string | |
| nombre_cliente* | string | |
| contacto_cliente | string |
Para el DUEÑO: cancelar una cita de su propio negocio. Se puede por folio, o por nombre del cliente y fecha. Si hay más de una coincidencia NO cancela ninguna: devuelve la lista para que el dueño diga cuál. Cancelar es irreversible desde aquí, así que nunca se adivina. Al confirmar, recuérdale al dueño que le avise al cliente — Aisha no le escribe a la persona por él.
| Argument | Type | Description |
|---|---|---|
| clave* | string | |
| fecha | string | |
| folio | string | |
| negocio* | string | |
| nombre_cliente | string |
{
"type": "object",
"title": "cancelar_cita_miaArguments",
"required": [
"negocio",
"clave"
],
"properties": {
"clave": {
"type": "string",
"title": "Clave"
},
"fecha": {
"type": "string",
"title": "Fecha",
"default": ""
},
"folio": {
"type": "string",
"title": "Folio",
"default": ""
},
"negocio": {
"type": "string",
"title": "Negocio"
},
"nombre_cliente": {
"type": "string",
"title": "Nombre Cliente",
"default": ""
}
}
}Cancela una reserva existente en Aisha y libera la hora al instante. Requiere el folio Y el nombre con el que se hizo la reserva; ambos deben coincidir. IMPORTANTE: confirma con la persona antes de cancelar — es una acción definitiva. Si quiere cambiar de hora, primero cancela con esta herramienta y luego crea la nueva con crear_reserva.
| Argument | Type | Description |
|---|---|---|
| folio* | string | |
| nombre_cliente* | string |
{
"type": "object",
"title": "cancelar_reservaArguments",
"required": [
"folio",
"nombre_cliente"
],
"properties": {
"folio": {
"type": "string",
"title": "Folio"
},
"nombre_cliente": {
"type": "string",
"title": "Nombre Cliente"
}
}
}Para el DUEÑO: cerrar horas para que nadie se las pueda agendar. Úsala cuando diga cosas como "tápame mañana de 2 a 4", "no voy a estar el jueves" o "bloquéame la tarde". 'desde' y 'hasta' en formato 24h (14:00). Sin 'hasta', cierra solo esa hora. Para un día completo, usa el horario de apertura y cierre del negocio. No afecta las citas que ya existen: si hay una agendada ahí, avísale al dueño para que decida si la cancela.
| Argument | Type | Description |
|---|---|---|
| clave* | string | |
| desde* | string | |
| fecha* | string | |
| hasta | string | |
| negocio* | string |
{
"type": "object",
"title": "cerrar_horasArguments",
"required": [
"negocio",
"clave",
"fecha",
"desde"
],
"properties": {
"clave": {
"type": "string",
"title": "Clave"
},
"desde": {
"type": "string",
"title": "Desde"
},
"fecha": {
"type": "string",
"title": "Fecha"
},
"hasta": {
"type": "string",
"title": "Hasta",
"default": ""
},
"negocio": {
"type": "string",
"title": "Negocio"
}
}
}Consulta los horarios libres de un negocio en una fecha (AAAA-MM-DD). Si el negocio tiene varias personas atendiendo y a tu humano le importa una en particular ("quiero con Carlos"), pasa su nombre en 'persona' y te devuelve solo las horas de esa persona. Sin ese dato, devuelve las horas en que queda alguien libre.
| Argument | Type | Description |
|---|---|---|
| fecha* | string | |
| negocio* | string | |
| persona | string |
{
"type": "object",
"title": "consultar_disponibilidadArguments",
"required": [
"negocio",
"fecha"
],
"properties": {
"fecha": {
"type": "string",
"title": "Fecha"
},
"negocio": {
"type": "string",
"title": "Negocio"
},
"persona": {
"type": "string",
"title": "Persona",
"default": ""
}
}
}Consulta el estado de una reserva existente en Aisha. Requiere el folio (por ejemplo FILOSALO-0003) Y el nombre con el que se hizo la reserva. Ambos deben coincidir: es la protección para que nadie consulte citas ajenas. Úsala cuando la persona pregunte "¿sigue en pie mi cita?" o quiera confirmar fecha, hora o dirección.
| Argument | Type | Description |
|---|---|---|
| folio* | string | |
| nombre_cliente* | string |
{
"type": "object",
"title": "consultar_reservaArguments",
"required": [
"folio",
"nombre_cliente"
],
"properties": {
"folio": {
"type": "string",
"title": "Folio"
},
"nombre_cliente": {
"type": "string",
"title": "Nombre Cliente"
}
}
}Crea una reserva en un negocio. Requiere negocio (id o nombre), nombre completo del cliente, fecha (AAAA-MM-DD), hora (ej. 17:00), servicio, y contacto_cliente: el teléfono o WhatsApp de quien asistirá. IMPORTANTE sobre contacto_cliente: pídeselo a la persona antes de agendar y explícale para qué es — el negocio lo necesita para avisarle si surge algún imprevisto, un cambio de horario o para confirmar. No lo inventes ni pongas datos falsos: una cita sin forma de contactar al cliente es un riesgo para el negocio. Si la persona no quiere darlo, dile que entonces reserve por teléfono directamente con el negocio. Sobre 'persona': en barberías, salones y spas la gente suele querer a alguien en concreto ("un corte con Carlos"). Si tu humano menciona un nombre, pásalo aquí. Si no dice nada, no lo inventes: déjalo vacío y el negocio asigna a quien esté libre. Los nombres de quienes atienden salen en ver_servicios. Devuelve el folio, con quién quedó la cita, la dirección, la liga de mapa y con cuántos minutos de antelación pide llegar el negocio.
| Argument | Type | Description |
|---|---|---|
| hora* | string | |
| fecha* | string | |
| negocio* | string | |
| persona | string | |
| servicio* | string | |
| nombre_cliente* | string | |
Lista todos los negocios conectados a Aisha, con su giro, ciudad y estado de verificación.
No arguments.
{
"type": "object",
"title": "listar_negociosArguments",
"properties": {}
}Para el DUEÑO de un negocio: ver cómo va su día en Aisha. Requiere la clave de su panel (la del enlace de su agenda). Devuelve las citas de ese día con quién viene, qué servicio y a qué hora, más las horas que quedan libres. Sin fecha, muestra hoy.
| Argument | Type | Description |
|---|---|---|
| clave* | string | |
| fecha | string | |
| negocio* | string |
{
"type": "object",
"title": "mi_agendaArguments",
"required": [
"negocio",
"clave"
],
"properties": {
"clave": {
"type": "string",
"title": "Clave"
},
"fecha": {
"type": "string",
"title": "Fecha",
"default": ""
},
"negocio": {
"type": "string",
"title": "Negocio"
}
}
}Registra la solicitud de un negocio que quiere aparecer en Aisha y ser reservable por asistentes de IA. Úsala cuando el dueño de un negocio pida darse de alta, aparecer o hacerse visible en Aisha / hi-aisha. Pide al dueño estos datos antes de llamarla: nombre comercial, giro (barbería, estética, salón, spa), ciudad, dirección, teléfono de contacto, nombre del responsable, lista de servicios con precio y duración, y horarios de atención. IMPORTANTE: esta herramienta NO publica el negocio. Solo registra la solicitud; el negocio se publica después de que Aisha verifique su identidad con una persona. Explícale eso al dueño al confirmarle el registro.
| Argument | Type | Description |
|---|---|---|
| giro* | string | |
| notas | string | |
| ciudad* | string | |
| direccion* | string | |
| horarios_texto* | string | |
| nombre_negocio* | string | |
| servicios_texto* | string | |
| telefono_contacto* |
Muestra los servicios, precios, horario, dirección y cómo llegar a un negocio. Acepta el id o parte del nombre.
| Argument | Type | Description |
|---|---|---|
| negocio* | string |
{
"type": "object",
"title": "ver_serviciosArguments",
"required": [
"negocio"
],
"properties": {
"negocio": {
"type": "string",
"title": "Negocio"
}
}
}{
"type": "object",
"title": "agendar_yo_mismoArguments",
"required": [
"negocio",
"clave",
"nombre_cliente",
"fecha",
"hora",
"servicio"
],
"properties": {
"hora": {
"type": "string",
"title": "Hora"
},
"clave": {
"type": "string",
"title": "Clave"
},
"fecha": {
"type": "string",
"title": "Fecha"
},
"negocio": {
"type": "string",
"title": "Negocio"
},
"persona": {
"type": "string",
"title": "Persona",
"default": ""
},
"servicio": {
"type": "string",
"title": "Servicio"
},
"nombre_cliente": {
"type": "string",
"title": "Nombre Cliente"
},
"contacto_cliente": {
"type": "string",
"title": "Contacto Cliente",
"default": ""
}
}
}| contacto_cliente* |
| string |
{
"type": "object",
"title": "crear_reservaArguments",
"required": [
"negocio",
"nombre_cliente",
"fecha",
"hora",
"servicio",
"contacto_cliente"
],
"properties": {
"hora": {
"type": "string",
"title": "Hora"
},
"fecha": {
"type": "string",
"title": "Fecha"
},
"negocio": {
"type": "string",
"title": "Negocio"
},
"persona": {
"type": "string",
"title": "Persona",
"default": ""
},
"servicio": {
"type": "string",
"title": "Servicio"
},
"nombre_cliente": {
"type": "string",
"title": "Nombre Cliente"
},
"contacto_cliente": {
"type": "string",
"title": "Contacto Cliente"
}
}
}| string |
| nombre_responsable* | string |
{
"type": "object",
"title": "solicitar_altaArguments",
"required": [
"nombre_negocio",
"giro",
"ciudad",
"direccion",
"telefono_contacto",
"nombre_responsable",
"servicios_texto",
"horarios_texto"
],
"properties": {
"giro": {
"type": "string",
"title": "Giro"
},
"notas": {
"type": "string",
"title": "Notas",
"default": ""
},
"ciudad": {
"type": "string",
"title": "Ciudad"
},
"direccion": {
"type": "string",
"title": "Direccion"
},
"horarios_texto": {
"type": "string",
"title": "Horarios Texto"
},
"nombre_negocio": {
"type": "string",
"title": "Nombre Negocio"
},
"servicios_texto": {
"type": "string",
"title": "Servicios Texto"
},
"telefono_contacto": {
"type": "string",
"title": "Telefono Contacto"
},
"nombre_responsable": {
"type": "string",
"title": "Nombre Responsable"
}
}
}