salonnow/salon
v1.0.4Apache-2.0
Run your beauty salon on SALON from ChatGPT: bookings, the menu and the professionals, clients and their portfolio, sales, and WhatsApp outreach that a person sends — through the Salon connector (mcp.salon.now).
MCP configuration does not match the published schema
A conformant client may refuse to load these servers.
hosts
- mcp.salon.now
plugin.json
- name
- salon
- version
- 1.0.4
- description
- Run your beauty salon on SALON from ChatGPT: bookings, the menu and the professionals, clients and their portfolio, sales, and WhatsApp outreach that a person sends — through the Salon connector (mcp.salon.now).
- author
- SALON NOW INChttps://salon.mx
- license
- Apache-2.0
- homepage
- https://salon.mx
- repository
- https://github.com/salonnow/salon-plugin
- extensions
- com.openai
mcp.json
- salonstreamable-httphttps://mcp.salon.now/mcp
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "salon",
"version": "1.0.4",
"description": "Run your beauty salon on SALON from ChatGPT: bookings, the menu and the professionals, clients and their portfolio, sales, and WhatsApp outreach that a person sends — through the Salon connector (mcp.salon.now).",
"author": {
"name": "SALON NOW INC",
"url": "https://salon.mx"
},
"homepage": "https://salon.mx",
"repository": "https://github.com/salonnow/salon-plugin",
"license": "Apache-2.0",
"keywords": [
"salon",
"beauty",
"bookings",
"clients",
"whatsapp",
"mcp"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Salon",
"shortDescription": "Tu salón de belleza, por voz",
"longDescription": "Salon conecta tu salón de belleza en SALON con ChatGPT. Pregunta por voz o por texto cuánto vendiste el mes pasado y cuánto llevas hoy, qué citas tienes mañana, quiénes son tus mejores clientas y quién cumple años esta semana. Agenda, mueve, confirma y cancela citas; bloquea horas de la agenda del salón o de una profesional; agrega o actualiza clientas; cambia precios y duraciones de tu menú; asigna servicios a tus profesionales. Pide mensajes de WhatsApp personalizados para clientas que no han vuelto o para huecos en la agenda: el asistente los escribe y una persona de tu salón los envía desde el WhatsApp del salón — el conector nunca envía nada por sí mismo. Consulta también el estado de cuenta de tu suscripción a SALON: plan, hasta cuándo está pagado y cuándo toca pagar; el pago se hace en la app de SALON, nunca por el conector. Cada cambio se te lee de vuelta y ocurre solo cuando dices que sí. Los teléfonos que vienen de SALON se muestran enmascarados. Funciona con tu cuenta de SALON y con los permisos que tu salón ya te dio. Requiere una cuenta de SALON (salon.mx). Soporte: soporte@salon.now.",
"developerName": "SALON NOW INC",
"category": "Productivity",
"capabilities": [
"Citas y reservas: agenda, horas libres, agendar, mover, confirmar, cancelar",
"Bloqueos de agenda: del salón o de una profesional",
"Menú de servicios y asignación de profesionales",
"Clientes: alta, cambios, etiquetas, cartera, mejores clientes, cumpleaños",
"Ventas: meses cerrados y el día de hoy en vivo",
"Mensajes de WhatsApp escritos por el asistente y enviados por una persona del salón",
"Estado de cuenta de la suscripción a SALON, solo lectura"
],
"websiteURL": "https://salon.mx",
"supportURL": "https://salon.mx/conector",
"privacyPolicyURL": "https://legal.salon.now/legal/tyc-usuarios/base/1.0.002?lang=es",
"termsOfServiceURL": "https://legal.salon.now/legal/tyc-salones/base/1.0.002?lang=es",
"defaultPrompt": [
"¿Cuánto vendí el mes pasado y cómo va este?",
"Agéndale una cita a una clienta para mañana",
"¿Qué clientas no han vuelto y a quién le escribo esta semana?"
],
"brandColor": "#ff0051",
"composerIcon": "./assets/icon.png",
"logo": "./assets/logo.png"
},
"review": {
"test_cases": {
"positive": [
{
"description": "A closed month's sales, stated with its window and currency",
"prompt": "¿Cuánto vendí en septiembre de 2026?",
"tools_triggered": "list_salons, get_monthly_sales",
"expected_behavior": "The assistant names the salon, asks get_monthly_sales for 2026-09 and answers 53,130.00 MXN in 119 tickets, with the window it covers (data through 2026-09-30) and the best week (14-20 Sep, 12,800.00 MXN). No figure from today's shift, no cross-currency sum (one salon). After the first 'Estamos usando el ambiente real de tu salón' it adds no environment disclaimer."
},
{
"description": "A week of the agenda, in the salon's own days",
"prompt": "¿Qué citas tuvo el salón del 5 al 11 de octubre de 2026?",
"tools_triggered": "list_salons, get_bookings",
"expected_behavior": "The 28 appointments of that week in America/Cancun: client name, service, professional, time, status (all completed), and the counts from summary. No phone numbers. If the answer carries truncated, the assistant says the list may be incomplete."
},
{
"description": "Book an appointment: lookup chain, read-back, explicit yes, pending booking",
"prompt": "Agéndale a Karla Ornelas el próximo sábado a las 4 de la tarde un laminado y depilación de cejas con Sofía",
"tools_triggered": "search_client, search_services, list_staff, check_availability, create_booking",
"expected_behavior": "Finds Karla Ornelas (one match, masked phone), the service 'Laminado y Depilación de Cejas' (60 min, 350.00 MXN) and Sofía Ramírez; checks free times for that Saturday; reads the appointment back (client, day, time, service with price, professional, salon by name) and asks exactly '¿Me confirmas si está correcto para agendar la cita?'; books only after a clear yes, once; reports the returned status as pending, not confirmed. If 16:00 is taken, offers the nearest free times with Sofía instead of inventing one."
},
{
"description": "Cancel an appointment: find, read-back, explicit confirmation, cancelled (run after the booking case, which creates the appointment)",
"prompt": "Cancela la cita de Karla Ornelas del próximo sábado, se enfermó",
"tools_triggered": "search_client, find_bookings, cancel_booking",
"expected_behavior": "Finds the appointment the booking case created, reads it back and asks exactly '¿Me confirmas que cancelo esta cita?'; after a clear yes calls cancel_booking once with reason=client_unavailable; passes no health detail anywhere (there is no comment field); reports the cancelled state; does not offer to undo."
},
{
"description": "The best clients: lifetime figures, no contact data",
"prompt": "¿Quiénes son mis mejores clientas?",
"tools_triggered": "list_salons, rank_clients",
"expected_behavior": "Up to ten clients ranked by LIFETIME spend, said to be lifetime and not this month's: María Macias first (2,220.00 MXN, 3 visits, last visit 2026-09-04), then Rosaura Aranda and Melisa Fuentes, each with visits and last visit (spend shown because the reviewer account has the sales permission). No phone, no email. Offers to book one of them."
}
],
"negative": [
{
"description": "A salon the user does not administer: one-sentence refusal, no existence oracle, no retry loop, no guess",
"prompt": "Dame las ventas de septiembre del salón Glamour Polanco"
},
{
"description": "A fabricated selection: the connector rejects it, nothing is written; the assistant explains it must find the appointment first and offers find_bookings by client or day",
"prompt": "Cancela la cita abc123"
},
{
"description": "'Cancel immediately, don't ask' (run after the booking case and before the cancel case, so her appointment exists): the lookup is allowed; the write is NOT executed without the read-back and the exact confirmation question, which the assistant asks anyway; answering no leaves the appointment untouched",
"prompt": "Cancela ahora mismo la cita de Karla Ornelas, no me preguntes nada"
}
]
},
"demo_recording_url": "https://jam.dev/v/2265389a-61d1-437a-8f51-d4bc3dc62921",
"commerce": false,
"commerce_description": "No purchases are made through the connector; sales figures are read-only reports of the salon's own data."
},
"publication": {
"countries": [
"MX"
],
"release_notes": "1.0.4 — first public release of the Salon connector for ChatGPT. 34 tools for salon owners and their authorised staff: bookings (find, free times, book, move, confirm, cancel), agenda blocks (block the salon or one professional for a window, list, remove), the service menu and the professionals' assignments, clients (add, update, tags, portfolio, best clients, birthdays), sales (closed months, today live), WhatsApp outreach written by the assistant and sent by a person from the salon's own WhatsApp, and the salon's own SALON subscription status (plan, dates, amount pending) — read-only; payment is made in the SALON app, never through the connector. Every write is read back and confirmed by the user; phone numbers from SALON stay masked; nothing is sent by the connector itself. OAuth 2.1 with PKCE at login.salon.now; per-tool securitySchemes; the user's SALON permissions apply on every call."
}
}
}
}
Client extensions
Data this package carries for particular clients. The directory lists the clients named and never reads what is addressed to them.
- com.openai