Server definition
- Hash
- sha256:1ab97c785406df420edeedd4e40efdb7e4b1177298a08b56f53efa60bd0c1a58
- What it is
- What a remote MCP server returned when asked what it offers: 13 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "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).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ciudad": {
"description": "Ciudad alrededor de la cual buscar / City to search around",
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"dias": {
"description": "Solo eventos dentro de N días (sin esto: todos los futuros) / Only events within N days",
"maximum": 90,
"minimum": 1,
"type": "integer"
},
"texto": {
"description": "Filtro libre: nombre del evento, lugar o negocio / Free-text filter",
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"ubicacion": {
"additionalProperties": false,
"description": "Ubicación del USUARIO (no la del agente) / The USER's location (not the agent's)",
"properties": {
"lat": {
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lng": {
"maximum": 180,
"minimum": -180,
"type": "number"
},
"precisionMetros": {
"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",
"maximum": 100000,
"minimum": 0,
"type": "integer"
}
},
"required": [
"lat",
"lng"
],
"type": "object"
}
},
"type": "object"
},
"name": "buscar_eventos",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"categoria": {
"description": "Categoría: restaurante, tienda, belleza, salud, fitness, hotel… / Category",
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"ciudad": {
"description": "Ciudad alrededor de la cual buscar, p.ej. \"Miami\" / City to search around",
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"texto": {
"description": "Búsqueda libre en nombre y descripción / Free-text search",
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"ubicacion": {
"additionalProperties": false,
"description": "Ubicación del USUARIO (no la del agente) / The USER's location (not the agent's)",
"properties": {
"lat": {
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lng": {
"maximum": 180,
"minimum": -180,
"type": "number"
},
"precisionMetros": {
"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",
"maximum": 100000,
"minimum": 0,
"type": "integer"
}
},
"required": [
"lat",
"lng"
],
"type": "object"
}
},
"type": "object"
},
"name": "buscar_negocios",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ciudad": {
"description": "Ciudad alrededor de la cual buscar / City to search around",
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"consulta": {
"description": "Qué busca el usuario: \"clases de zumba\", \"corte de caballero\", \"pupusas\"… / What the user wants",
"maxLength": 120,
"minLength": 2,
"type": "string"
},
"ubicacion": {
"additionalProperties": false,
"description": "Ubicación del USUARIO (no la del agente) / The USER's location (not the agent's)",
"properties": {
"lat": {
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lng": {
"maximum": 180,
"minimum": -180,
"type": "number"
},
"precisionMetros": {
"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",
"maximum": 100000,
"minimum": 0,
"type": "integer"
}
},
"required": [
"lat",
"lng"
],
"type": "object"
}
},
"required": [
"consulta"
],
"type": "object"
},
"name": "buscar_por_servicio",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"fecha": {
"description": "Fecha YYYY-MM-DD",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"servicio": {
"description": "Nombre del servicio (como sale en ver_negocio) / Service name (as shown by ver_negocio)",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"slug": {
"description": "Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)",
"maxLength": 80,
"minLength": 1,
"pattern": "^[a-z0-9-]+$",
"type": "string"
}
},
"required": [
"slug",
"fecha"
],
"type": "object"
},
"name": "consultar_disponibilidad",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"nombre": {
"description": "Nombre del cliente que firma la reseña (se publica) / Customer name signing the review (published)",
"maxLength": 80,
"minLength": 2,
"type": "string"
},
"rating": {
"description": "Calificación 1-5 estrellas / 1-5 star rating",
"maximum": 5,
"minimum": 1,
"type": "integer"
},
"slug": {
"description": "Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)",
"maxLength": 80,
"minLength": 1,
"pattern": "^[a-z0-9-]+$",
"type": "string"
},
"telefono": {
"description": "Teléfono del cliente (NO se publica; evita duplicados) / Customer phone (NOT published; dedup only)",
"maxLength": 30,
"minLength": 6,
"type": "string"
},
"texto": {
"description": "Texto de la reseña / Review text",
"maxLength": 800,
"minLength": 1,
"type": "string"
}
},
"required": [
"slug",
"nombre",
"telefono",
"rating"
],
"type": "object"
},
"name": "dejar_resena",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"direccion": {
"description": "Dirección completa de entrega (obligatoria si entrega=delivery)",
"maxLength": 500,
"minLength": 5,
"type": "string"
},
"entrega": {
"description": "pickup = recoger en el local (paga en efectivo al recoger); delivery = a domicilio (paga en efectivo al recibir)",
"enum": [
"pickup",
"delivery"
],
"type": "string"
},
"items": {
"items": {
"additionalProperties": false,
"properties": {
"cantidad": {
"default": 1,
"maximum": 99,
"minimum": 1,
"type": "integer"
},
"nombre": {
"description": "Nombre del ítem como sale en ver_negocio / Item name as shown by ver_negocio",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"variante": {
"description": "Variante elegida (talla/color/tamaño), si el ítem tiene / Chosen variant, if any",
"maxLength": 120,
"minLength": 1,
"type": "string"
}
},
"required": [
"nombre"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"nombre": {
"description": "Nombre del cliente / Customer name",
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"notas": {
"description": "Notas de entrega (solo aplican a delivery)",
"maxLength": 400,
"type": "string"
},
"slug": {
"description": "Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)",
"maxLength": 80,
"minLength": 1,
"pattern": "^[a-z0-9-]+$",
"type": "string"
},
"telefono": {
"description": "Teléfono del cliente / Customer phone",
"maxLength": 20,
"minLength": 6,
"type": "string"
}
},
"required": [
"slug",
"items",
"entrega",
"nombre",
"telefono"
],
"type": "object"
},
"name": "pedir_comida",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"direccion": {
"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",
"maxLength": 300,
"type": "string"
},
"fecha": {
"description": "Fecha YYYY-MM-DD",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"hora": {
"description": "Hora HH:MM (24h), de consultar_disponibilidad",
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
},
"nombre": {
"description": "Nombre del cliente / Customer name",
"maxLength": 120,
"minLength": 2,
"type": "string"
},
"notas": {
"maxLength": 500,
"type": "string"
},
"servicio": {
"description": "Nombre del servicio / Service name",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"slug": {
"description": "Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)",
"maxLength": 80,
"minLength": 1,
"pattern": "^[a-z0-9-]+$",
"type": "string"
},
"staffId": {
"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)",
"format": "uuid",
"type": "string"
},
"telefono": {
"description": "Teléfono del cliente (con código de país si es posible) / Customer phone",
"maxLength": 25,
"minLength": 6,
"type": "string"
}
},
"required": [
"slug",
"servicio",
"fecha",
"hora",
"nombre",
"telefono"
],
"type": "object"
},
"name": "reservar_cita",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"clase": {
"description": "Nombre de la clase (como sale en ver_negocio) / Class name (as shown by ver_negocio)",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"fecha": {
"description": "Fecha YYYY-MM-DD",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"nombre": {
"description": "Nombre del cliente / Customer name",
"maxLength": 120,
"minLength": 2,
"type": "string"
},
"slug": {
"description": "Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)",
"maxLength": 80,
"minLength": 1,
"pattern": "^[a-z0-9-]+$",
"type": "string"
},
"telefono": {
"description": "Teléfono del cliente / Customer phone",
"maxLength": 25,
"minLength": 6,
"type": "string"
}
},
"required": [
"slug",
"clase",
"fecha",
"nombre",
"telefono"
],
"type": "object"
},
"name": "reservar_clase",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"checkIn": {
"description": "Fecha de entrada YYYY-MM-DD / Check-in date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"checkOut": {
"description": "Fecha de salida YYYY-MM-DD / Check-out date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"habitacion": {
"description": "Nombre/tipo de la habitación (como sale en ver_negocio) / Room name (as shown by ver_negocio)",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"huespedes": {
"description": "Cantidad de huéspedes / Guest count",
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"nombre": {
"description": "Nombre del huésped / Guest name",
"maxLength": 120,
"minLength": 2,
"type": "string"
},
"notas": {
"description": "Pedidos especiales / Special requests",
"maxLength": 500,
"type": "string"
},
"slug": {
"description": "Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)",
"maxLength": 80,
"minLength": 1,
"pattern": "^[a-z0-9-]+$",
"type": "string"
},
"telefono": {
"description": "Teléfono del huésped / Guest phone",
"maxLength": 25,
"minLength": 6,
"type": "string"
}
},
"required": [
"slug",
"habitacion",
"checkIn",
"checkOut",
"huespedes",
"nombre",
"telefono"
],
"type": "object"
},
"name": "reservar_habitacion",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"descripcion": {
"description": "Qué trabajo necesita el cliente / What work the customer needs",
"maxLength": 2000,
"minLength": 5,
"type": "string"
},
"direccion": {
"description": "Dirección donde se haría el trabajo / Job address",
"maxLength": 300,
"minLength": 5,
"type": "string"
},
"fechaPreferida": {
"description": "Fecha preferida YYYY-MM-DD / Preferred date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"nombre": {
"description": "Nombre del cliente / Customer name",
"maxLength": 100,
"minLength": 2,
"type": "string"
},
"servicio": {
"description": "Servicio de interés (como sale en ver_negocio) / Service of interest",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"slug": {
"description": "Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)",
"maxLength": 80,
"minLength": 1,
"pattern": "^[a-z0-9-]+$",
"type": "string"
},
"telefono": {
"description": "Teléfono del cliente (el negocio lo usará para llamarlo) / Customer phone (the business will call it)",
"maxLength": 25,
"minLength": 7,
"type": "string"
}
},
"required": [
"slug",
"nombre",
"telefono",
"descripcion"
],
"type": "object"
},
"name": "solicitar_estimado",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"adultos": {
"maximum": 20,
"minimum": 0,
"type": "integer"
},
"email": {
"format": "email",
"maxLength": 200,
"type": "string"
},
"fechaMudanza": {
"description": "Fecha de mudanza YYYY-MM-DD / Move-in date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"habitaciones": {
"description": "Habitaciones deseadas, p.ej. \"2\" / Desired bedrooms",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"mascotas": {
"description": "Mascotas del cliente / Customer's pets",
"enum": [
"ninguna",
"perro",
"gato",
"ambos"
],
"type": "string"
},
"mensaje": {
"maxLength": 1000,
"type": "string"
},
"ninos": {
"description": "Niños / Kids",
"maximum": 20,
"minimum": 0,
"type": "integer"
},
"nombre": {
"description": "Nombre del cliente / Customer name",
"maxLength": 120,
"minLength": 2,
"type": "string"
},
"presupuesto": {
"description": "Presupuesto, texto libre p.ej. \"$2,500\" / Budget, free text",
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"propiedad": {
"description": "Propiedad que le interesa (como sale en ver_negocio) / Property of interest",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"slug": {
"description": "Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)",
"maxLength": 80,
"minLength": 1,
"pattern": "^[a-z0-9-]+$",
"type": "string"
},
"telefono": {
"description": "Teléfono del cliente / Customer phone",
"maxLength": 25,
"minLength": 6,
"type": "string"
}
},
"required": [
"slug",
"nombre",
"telefono"
],
"type": "object"
},
"name": "solicitar_visita_inmobiliaria",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"slug": {
"description": "Slug del negocio (de buscar_negocios) / Business slug (from buscar_negocios)",
"maxLength": 80,
"minLength": 1,
"pattern": "^[a-z0-9-]+$",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "ver_negocio",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ciudad": {
"description": "Ciudad alrededor de la cual buscar / City to search around",
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"ubicacion": {
"additionalProperties": false,
"description": "Ubicación del USUARIO (no la del agente) / The USER's location (not the agent's)",
"properties": {
"lat": {
"maximum": 90,
"minimum": -90,
"type": "number"
},
"lng": {
"maximum": 180,
"minimum": -180,
"type": "number"
},
"precisionMetros": {
"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",
"maximum": 100000,
"minimum": 0,
"type": "integer"
}
},
"required": [
"lat",
"lng"
],
"type": "object"
}
},
"type": "object"
},
"name": "ver_promociones",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:1ab97c785406df420edeedd4e40efdb7e4b1177298a08b56f53efa60bd0c1a58 | sha256sum