Dispolà
Same-day appointment openings in Quebec: hair, nails, massage, physio. No account needed.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"places": {
"url": "https://dispola.ca/mcp"
}
}
}Puntos de conexión remotos
https://dispola.ca/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (4)
🟢chercher_places(ville, categorie, jour, moment, quartier, ...)
Cherche les places libres d'une ville, par catégorie, jour, moment et quartier. Rend l'établissement, le quartier, le service, l'heure, la durée, le prix et le lien pour réserver. Avec une catégorie, rend aussi sur_demande : des commerces sans réservation en ligne, avec des moments estimés à confirmer. / Finds open appointment spots in a city, by category, day, time of day and neighbourhood, with the booking link. With a category, also returns sur_demande: businesses without online booking, with estimated times to be confirmed by phone.
Esquema de entrada
{
"type": "object",
"properties": {
"ville": {
"type": "string",
"enum": [
"montreal",
"quebec",
"sherbrooke",
"gatineau",
"rive-nord",
"rive-sud"
],
"description": "La ville. / The city."
},
"categorie": {
"type": "string",
"enum": [
"coiffure",
"ongles",
"cils",
"sourcils",
"esthetique",
"massotherapie",
"tatouage",
"physiotherapie",
"osteopathie",
"kinesiologie",
"therapie_sport",
"chiropratique",
"acupuncture"
],
"description": "La catégorie (voir categories_et_villes). / The category."
},
"jour": {
"type": "string",
"pattern": "^(aujourdhui|demain|\\d{4}-\\d{2}-\\d{2})$",
"description": "aujourdhui, demain ou AAAA-MM-JJ (heure de Montréal). / today, tomorrow or YYYY-MM-DD."
},
"moment": {
"type": "string",
"enum": [
"am",
"pm",
"soir"
],
"description": "am : avant midi ; pm : de midi à 17 h ; soir : après 17 h. / morning, afternoon, evening."
},
"quartier": {
"type": "string",
"minLength": 2,
"maxLength": 60,
"description": "Un quartier, par exemple Plateau ou Limoilou : trie du plus proche au plus loin. / A neighbourhood: sorts nearest first."
},
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Latitude, avec lng : trie du plus proche au plus loin. / Latitude, with lng: sorts nearest first."
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180,
"description": "Longitude, avec lat. / Longitude, with lat."
},
"limite": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10,
"description": "Nombre de places, 10 par défaut. / Max spots, default 10."
}
},
"required": [
"ville"
],
"additionalProperties": false
}🟢categories_et_villes
Les villes, les catégories et leurs services, avec le nombre de places libres par ville et par catégorie d'ici 7 jours. / Cities, categories and services, with the number of open spots per city and category over the next 7 days.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢lien_alerte_texto(ville, service, quartier, jour, moment, ...)
Construit le lien du formulaire prérempli d'alerte texto quand aucune place ne convient. La personne l'ouvre, entre elle-même son cellulaire et consent aux textos ; ne soumets jamais le formulaire. / Builds a prefilled text alert form link; the person enters their own number and consents. Never submit it.
Esquema de entrada
{
"type": "object",
"properties": {
"ville": {
"type": "string",
"enum": [
"montreal",
"quebec",
"sherbrooke",
"gatineau",
"rive-nord",
"rive-sud"
],
"description": "La ville. / The city."
},
"service": {
"type": "string",
"enum": [
"coiffure.coupe_femme",
"coiffure.coupe_homme",
"coiffure.coloration",
"coiffure.mise_en_plis",
"coiffure.barbe",
"ongles.gel",
"ongles.manucure",
"ongles.remplissage",
"ongles.pedicure",
"cils.classique",
"cils.hybride",
"cils.volume",
"cils.remplissage",
"cils.rehaussement",
"sourcils.restructuration",
"sourcils.teinture",
"sourcils.laminage",
"sourcils.fil",
"esthetique.soin_visage",
"esthetique.cire",
"esthetique.bresilienne",
"massotherapie.suedois",
"massotherapie.therapeutique",
"massotherapie.tissus_profonds",
"massotherapie.prenatal",
"tatouage.flash",
"tatouage.petit",
"tatouage.retouche",
"physiotherapie.evaluation",
"physiotherapie.traitement",
"osteopathie.traitement",
"kinesiologie.seance",
"therapie_sport.traitement",
"chiropratique.traitement",
"acupuncture.seance"
],
"description": "Le code du service, par exemple ongles.gel (voir categories_et_villes). / Service code."
},
"quartier": {
"type": "string",
"minLength": 2,
"maxLength": 60,
"description": "Le quartier de la personne. / Their neighbourhood."
},
"jour": {
"type": "string",
"pattern": "^(aujourdhui|demain|\\d{4}-\\d{2}-\\d{2})$",
"description": "aujourdhui, demain ou AAAA-MM-JJ (heure de Montréal). / today, tomorrow or YYYY-MM-DD."
},
"moment": {
"type": "string",
"enum": [
"am",
"pm",
"soir"
],
"description": "am : avant midi ; pm : de midi à 17 h ; soir : après 17 h. / morning, afternoon, evening."
},
"langue": {
"type": "string",
"enum": [
"fr",
"en"
],
"default": "fr",
"description": "Langue du formulaire. / Form language."
}
},
"required": [
"ville"
],
"additionalProperties": false
}🟢preparer_demande(commerce, heures, service, lieu, lat, ...)
Bâtit le lien de la demande chez un commerce sans réservation en ligne (sur_demande de chercher_places), avec les heures, le service et le lieu de la personne déjà choisis. La personne l'ouvre, vérifie, entre elle-même son prénom et son cellulaire et consent ; Dispolà appelle le commerce et lui texte l'heure confirmée. Ne soumets jamais le formulaire. / Builds the prefilled request link for a business without online booking, with the person's times, service and location filled in. The person opens it, enters their own name and number and consents; Dispolà calls the business. Never submit it.
Esquema de entrada
{
"type": "object",
"properties": {
"commerce": {
"type": "string",
"pattern": "^[a-z0-9-]{1,120}$",
"description": "Le code du commerce (champ commerce de sur_demande). / Business code (commerce field of sur_demande)."
},
"heures": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}){0,11}$",
"description": "Les heures qui vont à la personne, prises dans moments de sur_demande, séparées par des virgules : au moins 2, en cas que la première soit prise. Ex. 2026-10-29T14:00,2026-10-29T15:00. / Times from sur_demande moments, comma-separated, at least 2."
},
"service": {
"type": "string",
"pattern": "^[a-z0-9-]{1,40}$",
"description": "Le service précis (champ services de sur_demande, ex. coupe-courts). / Precise service code."
},
"lieu": {
"type": "string",
"minLength": 2,
"maxLength": 60,
"description": "Où est la personne : code postal ou quartier, pour un commerce de rechange proche d’elle. / Postal code or neighbourhood."
},
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Latitude de la personne, avec lng (arrondie à 100 m). / Latitude, with lng."
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180,
"description": "Longitude, avec lat. / Longitude, with lat."
},
"langue": {
"type": "string",
"enum": [
"fr",
"en"
],
"default": "fr",
"description": "Langue du formulaire. / Form language."
}
},
"required": [
"commerce"
],
"additionalProperties": false
}Comunidad
Evidencia