MCP-Server

Directorio Systema

app.scalesystema/directorio
Commerce & Retail Karten & Standort Reisen & Hospitality Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Searches a local business directory and supports real bookings for appointments, classes, hotels, food orders, service estimates, and real-estate visits.

buscar_eventos
Buscar eventos / Search events
ES: Cartelera de eventos públicos próximos (conciertos, ferias, shows) de los negocios del directorio, filtrable por texto, ubicación {lat,lng} o ciudad (radio dinámico de 5 a 50 millas alrededor de ese punto) y días. Los boletos se compran en la página web del evento (urlBoletos). / EN: Upcoming public events (concerts, fairs, shows) from directory businesses, filterable by text, location {lat,lng} or city (dynamic 5 to 50 mile radius around that point) and days ahead. Tickets are purchased on the event's web page (urlBoletos).
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'dias': {'type': 'integer', 'maximum': 90, 'minimum': 1, 'description': 'Solo eventos dentro de N días (sin esto: todos los futuros) / Only events within N days'}, 'texto': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Filtro libre: nombre del evento, lugar o negocio / Free-text filter'}, 'ciudad': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Ciudad alrededor de la cual buscar / City to search around'}, 'ubicacion': {'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'precisionMetros': {'type': 'integer', 'maximum': 100000, 'minimum': 0, 'description': 'Precisión de la ubicación en metros, si se conoce. Con más de 1000 m no se dan distancias / Location accuracy in meters, if known'}}, 'description': "Ubicación del USUARIO (no la del agente) / The USER's location (not the agent's)", 'additionalProperties': False}}, 'additionalProperties': False}
buscar_negocios
Buscar negocios / Search businesses
ES: Busca negocios del directorio público (Miami–Centroamérica) por ubicación {lat,lng}, ciudad, categoría o texto libre. Con ubicación o ciudad busca en un radio dinámico (5 a 50 millas) alrededor de ese punto y lo informa en "alcance". Sin ubicación ni ciudad devuelve el listado por país/global. / EN: Search the public business directory (Miami–Central America) by location {lat,lng}, city, category or free text. With a location or city it searches a dynamic radius (5 to 50 miles) around that point and reports it in "alcance". Without a location or city it returns the country/global listing.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'texto': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Búsqueda libre en nombre y descripción / Free-text search'}, 'ciudad': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Ciudad alrededor de la cual buscar, p.ej. "Miami" / City to search around'}, 'categoria': {'type': 'string', 'maxLength': 60, 'minLength': 1, 'description': 'Categoría: restaurante, tienda, belleza, salud, fitness, hotel… / Category'}, 'ubicacion': {'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'precisionMetros': {'type': 'integer', 'maximum': 100000, 'minimum': 0, 'description': 'Precisión de la ubicación en metros, si se conoce. Con más de 1000 m no se dan distancias / Location accuracy in meters, if known'}}, 'description': "Ubicación del USUARIO (no la del agente) / The USER's location (not the agent's)", 'additionalProperties': False}}, 'additionalProperties': False}
buscar_por_servicio
Buscar por servicio o producto / Search by offering
ES: Busca negocios por lo que OFRECEN — un servicio, producto o clase concreta ("clases de zumba", "corte de caballero", "pupusas") — y devuelve cada negocio con los ítems que matchearon y su precio (o "cotizar"). Complementa buscar_negocios, que busca por nombre/categoría. / EN: Search businesses by what they OFFER — a specific service, product or class ("zumba classes", "men's haircut") — returning each business with its matched items and price (or "quote"). Complements buscar_negocios, which searches by name/category.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['consulta'], 'properties': {'ciudad': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Ciudad alrededor de la cual buscar / City to search around'}, 'consulta': {'type': 'string', 'maxLength': 120, 'minLength': 2, 'description': 'Qué busca el usuario: "clases de zumba", "corte de caballero", "pupusas"… / What the user wants'}, 'ubicacion': {'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'precisionMetros': {'type': 'integer', 'maximum': 100000, 'minimum': 0, 'description': 'Precisión de la ubicación en metros, si se conoce. Con más de 1000 m no se dan distancias / Location accuracy in meters, if known'}}, 'description': "Ubicación del USUARIO (no la del agente) / The USER's location (not the agent's)", 'additionalProperties': False}}, 'additionalProperties': False}
consultar_disponibilidad
Consultar disponibilidad / Check availability
ES: Horarios libres para cita en una fecha (opcionalmente para un servicio). Devuelve horas por profesional con su staffId, listo para reservar_cita. / EN: Free appointment slots for a date (optionally for one service). Returns hours per staff member with staffId, ready for reservar_cita.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'fecha'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 80, 'minLength': 1, 'description': 'Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)'}, 'fecha': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Fecha YYYY-MM-DD'}, 'servicio': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Nombre del servicio (como sale en ver_negocio) / Service name (as shown by ver_negocio)'}}, 'additionalProperties': False}
dejar_resena
Dejar reseña / Leave a review
ES: Publica una reseña PÚBLICA real (1-5 estrellas + texto) a nombre del cliente en la ficha del negocio. Solo con consentimiento explícito del cliente; máx. 1 por teléfono cada 24 h por negocio. / EN: Publishes a real PUBLIC review (1-5 stars + text) under the customer's name on the business profile. Only with the customer's explicit consent; max 1 per phone per business per 24 h.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'nombre', 'telefono', 'rating'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 80, 'minLength': 1, 'description': 'Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)'}, 'texto': {'type': 'string', 'maxLength': 800, 'minLength': 1, 'description': 'Texto de la reseña / Review text'}, 'nombre': {'type': 'string', 'maxLength': 80, 'minLength': 2, 'description': 'Nombre del cliente que firma la reseña (se publica) / Customer name signing the review (published)'}, 'rating': {'type': 'integer', 'maximum': 5, 'minimum': 1, 'description': 'Calificación 1-5 estrellas / 1-5 star rating'}, 'telefono': {'type': 'string', 'maxLength': 30, 'minLength': 6, 'description': 'Teléfono del cliente (NO se publica; evita duplicados) / Customer phone (NOT published; dedup only)'}}, 'additionalProperties': False}
pedir_comida
Pedir comida/productos (efectivo) / Order food (cash)
ES: Crea un pedido REAL de comida/productos que se paga EN EFECTIVO al recoger (pickup) o al recibir (delivery). Mandá los nombres de los ítems tal como salen en ver_negocio; el servidor resuelve los productos reales y nunca inventa precios. Delivery exige direccion y que el negocio lo tenga habilitado. / EN: Places a REAL food/product order paid IN CASH on pickup or on delivery. Send item names as shown by ver_negocio; the server resolves the real products and never invents prices. Delivery requires an address and the business having delivery enabled.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'items', 'entrega', 'nombre', 'telefono'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 80, 'minLength': 1, 'description': 'Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['nombre'], 'properties': {'nombre': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Nombre del ítem como sale en ver_negocio / Item name as shown by ver_negocio'}, 'cantidad': {'type': 'integer', 'default': 1, 'maximum': 99, 'minimum': 1}, 'variante': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Variante elegida (talla/color/tamaño), si el ítem tiene / Chosen variant, if any'}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 1}, 'notas': {'type': 'string', 'maxLength': 400, 'description': 'Notas de entrega (solo aplican a delivery)'}, 'nombre': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Nombre del cliente / Customer name'}, 'entrega': {'enum': ['pickup', 'delivery'], 'type': 'string', 'description': 'pickup = recoger en el local (paga en efectivo al recoger); delivery = a domicilio (paga en efectivo al recibir)'}, 'telefono': {'type': 'string', 'maxLength': 20, 'minLength': 6, 'description': 'Teléfono del cliente / Customer phone'}, 'direccion': {'type': 'string', 'maxLength': 500, 'minLength': 5, 'description': 'Dirección completa de entrega (obligatoria si entrega=delivery)'}}, 'additionalProperties': False}
reservar_cita
Reservar cita / Book appointment
ES: Reserva una cita REAL como invitado (nombre + teléfono). La confirmación llega por WhatsApp/SMS al teléfono dado. Usá consultar_disponibilidad primero para elegir hora y staffId. / EN: Books a REAL appointment as a guest (name + phone). Confirmation arrives via WhatsApp/SMS to the given phone. Use consultar_disponibilidad first to pick a time and staffId.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'servicio', 'fecha', 'hora', 'nombre', 'telefono'], 'properties': {'hora': {'type': 'string', 'pattern': '^\\d{2}:\\d{2}$', 'description': 'Hora HH:MM (24h), de consultar_disponibilidad'}, 'slug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 80, 'minLength': 1, 'description': 'Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)'}, 'fecha': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Fecha YYYY-MM-DD'}, 'notas': {'type': 'string', 'maxLength': 500}, 'nombre': {'type': 'string', 'maxLength': 120, 'minLength': 2, 'description': 'Nombre del cliente / Customer name'}, 'staffId': {'type': 'string', 'format': 'uuid', 'description': 'staffId de consultar_disponibilidad (opcional: sin él se asigna el primer profesional con esa hora libre) / staffId from consultar_disponibilidad (optional: otherwise the first staff member free at that time is assigned)'}, 'servicio': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Nombre del servicio / Service name'}, 'telefono': {'type': 'string', 'maxLength': 25, 'minLength': 6, 'description': 'Teléfono del cliente (con código de país si es posible) / Customer phone'}, 'direccion': {'type': 'string', 'maxLength': 300, 'description': 'Dirección donde se presta el servicio, si es a domicilio (ver_negocio indica qué servicios lo son) / Address where the service is performed, for at-home services'}}, 'additionalProperties': False}
reservar_clase
Reservar clase / Book a class
ES: Apunta al cliente a una clase REAL (gimnasio/academia) como invitado (nombre + teléfono) en una fecha. Valida que la clase se dé ese día y que haya cupo. Las clases salen en ver_negocio. / EN: Books the customer into a REAL class (gym/academy) as a guest (name + phone) on a date. Validates the class runs that day and has capacity. Classes are listed by ver_negocio.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'clase', 'fecha', 'nombre', 'telefono'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 80, 'minLength': 1, 'description': 'Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)'}, 'clase': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Nombre de la clase (como sale en ver_negocio) / Class name (as shown by ver_negocio)'}, 'fecha': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Fecha YYYY-MM-DD'}, 'nombre': {'type': 'string', 'maxLength': 120, 'minLength': 2, 'description': 'Nombre del cliente / Customer name'}, 'telefono': {'type': 'string', 'maxLength': 25, 'minLength': 6, 'description': 'Teléfono del cliente / Customer phone'}}, 'additionalProperties': False}
reservar_habitacion
Reservar habitación / Book a hotel room
ES: Reserva una habitación de hotel REAL como invitado: nombre de la habitación (de ver_negocio), check-in/check-out y huéspedes. Devuelve noches y total; se paga en el hotel. / EN: Books a REAL hotel room as a guest: room name (from ver_negocio), check-in/check-out dates and guest count. Returns nights and total; payment at the hotel.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'habitacion', 'checkIn', 'checkOut', 'huespedes', 'nombre', 'telefono'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 80, 'minLength': 1, 'description': 'Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)'}, 'notas': {'type': 'string', 'maxLength': 500, 'description': 'Pedidos especiales / Special requests'}, 'nombre': {'type': 'string', 'maxLength': 120, 'minLength': 2, 'description': 'Nombre del huésped / Guest name'}, 'checkIn': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Fecha de entrada YYYY-MM-DD / Check-in date'}, 'checkOut': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Fecha de salida YYYY-MM-DD / Check-out date'}, 'telefono': {'type': 'string', 'maxLength': 25, 'minLength': 6, 'description': 'Teléfono del huésped / Guest phone'}, 'huespedes': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Cantidad de huéspedes / Guest count'}, 'habitacion': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Nombre/tipo de la habitación (como sale en ver_negocio) / Room name (as shown by ver_negocio)'}}, 'additionalProperties': False}
solicitar_estimado
Solicitar estimado / Request an estimate
ES: Envía una solicitud de estimado REAL a un negocio de servicios (contractor: pisos, plomería, pintura, limpieza…) — el negocio recibe notificación y puede llamar al cliente al teléfono dado. / EN: Sends a REAL estimate request to a services business (contractor: flooring, plumbing, painting, cleaning…) — the business is notified and may call the customer at the given phone.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'nombre', 'telefono', 'descripcion'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 80, 'minLength': 1, 'description': 'Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)'}, 'nombre': {'type': 'string', 'maxLength': 100, 'minLength': 2, 'description': 'Nombre del cliente / Customer name'}, 'servicio': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Servicio de interés (como sale en ver_negocio) / Service of interest'}, 'telefono': {'type': 'string', 'maxLength': 25, 'minLength': 7, 'description': 'Teléfono del cliente (el negocio lo usará para llamarlo) / Customer phone (the business will call it)'}, 'direccion': {'type': 'string', 'maxLength': 300, 'minLength': 5, 'description': 'Dirección donde se haría el trabajo / Job address'}, 'descripcion': {'type': 'string', 'maxLength': 2000, 'minLength': 5, 'description': 'Qué trabajo necesita el cliente / What work the customer needs'}, 'fechaPreferida': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Fecha preferida YYYY-MM-DD / Preferred date'}}, 'additionalProperties': False}
solicitar_visita_inmobiliaria
Solicitar visita inmobiliaria / Real-estate inquiry
ES: Envía una solicitud REAL a una inmobiliaria (interés en una propiedad, presupuesto, fecha de mudanza, mascotas) — la inmobiliaria recibe el lead y contacta al cliente para coordinar la visita. / EN: Sends a REAL inquiry to a real-estate business (property of interest, budget, move-in date, pets) — the realtor receives the lead and contacts the customer to arrange a visit.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'nombre', 'telefono'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 80, 'minLength': 1, 'description': 'Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)'}, 'email': {'type': 'string', 'format': 'email', 'maxLength': 200}, 'ninos': {'type': 'integer', 'maximum': 20, 'minimum': 0, 'description': 'Niños / Kids'}, 'nombre': {'type': 'string', 'maxLength': 120, 'minLength': 2, 'description': 'Nombre del cliente / Customer name'}, 'adultos': {'type': 'integer', 'maximum': 20, 'minimum': 0}, 'mensaje': {'type': 'string', 'maxLength': 1000}, 'mascotas': {'enum': ['ninguna', 'perro', 'gato', 'ambos'], 'type': 'string', 'description': "Mascotas del cliente / Customer's pets"}, 'telefono': {'type': 'string', 'maxLength': 25, 'minLength': 6, 'description': 'Teléfono del cliente / Customer phone'}, 'propiedad': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Propiedad que le interesa (como sale en ver_negocio) / Property of interest'}, 'presupuesto': {'type': 'string', 'maxLength': 60, 'minLength': 1, 'description': 'Presupuesto, texto libre p.ej. "$2,500" / Budget, free text'}, 'fechaMudanza': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Fecha de mudanza YYYY-MM-DD / Move-in date'}, 'habitaciones': {'type': 'string', 'maxLength': 10, 'minLength': 1, 'description': 'Habitaciones deseadas, p.ej. "2" / Desired bedrooms'}}, 'additionalProperties': False}
ver_negocio
Ver ficha del negocio / View business profile
ES: Ficha completa de un negocio por slug: horarios, rating y reseñas, catálogo con precios y variantes, promociones vigentes, eventos próximos y enlaces útiles. / EN: Full business profile by slug: hours, rating and reviews, catalog with prices and variants, active promotions, upcoming events and useful links.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 80, 'minLength': 1, 'description': 'Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)'}}, 'additionalProperties': False}
ver_promociones
Ver promociones / View promotions
ES: Promociones vigentes de los negocios del directorio, por ubicación {lat,lng} o ciudad (radio dinámico de 5 a 50 millas alrededor de ese punto). Sin ubicación ni ciudad devuelve el alcance país/global. / EN: Active promotions from directory businesses, by location {lat,lng} or city (dynamic 5 to 50 mile radius around that point). Without a location or city it returns the country/global scope.
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'ciudad': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Ciudad alrededor de la cual buscar / City to search around'}, 'ubicacion': {'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'precisionMetros': {'type': 'integer', 'maximum': 100000, 'minimum': 0, 'description': 'Precisión de la ubicación en metros, si se conoce. Con más de 1000 m no se dan distancias / Location accuracy in meters, if known'}}, 'description': "Ubicación del USUARIO (no la del agente) / The USER's location (not the agent's)", 'additionalProperties': False}}, 'additionalProperties': False}
Hinzugefügt
ver_promociones
17. September 2026 07:58
Hinzugefügt
buscar_eventos
17. September 2026 07:58
Hinzugefügt
dejar_resena
17. September 2026 07:58
Hinzugefügt
solicitar_visita_inmobiliaria
17. September 2026 07:58
Hinzugefügt
solicitar_estimado
17. September 2026 07:58
Hinzugefügt
reservar_habitacion
17. September 2026 07:58
Hinzugefügt
reservar_clase
17. September 2026 07:58
Hinzugefügt
buscar_por_servicio
17. September 2026 07:58
Hinzugefügt
pedir_comida
17. September 2026 07:58
Hinzugefügt
reservar_cita
17. September 2026 07:58
Hinzugefügt
consultar_disponibilidad
17. September 2026 07:58
Hinzugefügt
ver_negocio
17. September 2026 07:58
Hinzugefügt
buscar_negocios
17. September 2026 07:58