# Dispolà (remote · dispola.ca)

Same-day appointment openings in Quebec: hair, nails, massage, physio. No account needed.

- Trust score: 71/100 (medium)
- Change this week: −1
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-04

> **Recent critical change**: Authorization (2026-10-31). See the changelog below before you install this server.

## Components

- remote · `dispola.ca`: 71/100 (this document), [markdown](https://verifymcp.io/servers/ca-dispola-places/dispola.md), [page](https://verifymcp.io/servers/ca-dispola-places/dispola)

## Channel facts

- Endpoint: `https://dispola.ca/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-04.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (envoyer_code).
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 71/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 3058 tokens (~382/item across 8 items; 7 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 33/100
  - Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 7 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).
  - Supports UI / widget rendering.

## Install

### How do I install the Dispolà MCP server?

Dispolà is a hosted endpoint at https://dispola.ca/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http ca-dispola-places 'https://dispola.ca/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "ca-dispola-places": {
      "url": "https://dispola.ca/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "ca-dispola-places": {
      "type": "http",
      "url": "https://dispola.ca/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.ca-dispola-places]
url = "https://dispola.ca/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ca-dispola-places": {
      "type": "remote",
      "url": "https://dispola.ca/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ca-dispola-places --url 'https://dispola.ca/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ca-dispola-places:
    url: "https://dispola.ca/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "ca-dispola-places": {
      "Transport": "http",
      "Url": "https://dispola.ca/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add ca-dispola-places -t streamable-http -u 'https://dispola.ca/mcp'
```

### Other

```json
{
  "mcpServers": {
    "ca-dispola-places": {
      "type": "http",
      "url": "https://dispola.ca/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 70, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “chercher_places” rewrote its description, which is the text the model reads
- [cosmetic] “chercher_places” added an optional parameter “clientele”
- [cosmetic] “chercher_places” added an optional parameter “condition”

### 2026-11-01 (score 69, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [cosmetic] “chercher_places” reworded the description of “ville”

### 2026-10-31 (score 69, −6)

- [critical regression] Authorization: partial → fail
- [security] Tool “confirmer_code” rewrote its description, which is the text the model reads
- [security] Tool “envoyer_code” rewrote its description, which is the text the model reads
- [security] Tool “lien_alerte_texto” rewrote its description, which is the text the model reads
- [security] Tool “preparer_demande” rewrote its description, which is the text the model reads
- [security] Tool “proposer_limites” rewrote its description, which is the text the model reads
- [security] Tool “confirmer_code” is now declared destructive
- [security] Tool “envoyer_code” is now declared destructive
- [security] Tool “proposer_limites” is now declared destructive
- [cosmetic] “confirmer_code” reworded the description of “code”
- [cosmetic] “proposer_limites” reworded the description of “accepter_seul”

### 2026-10-30 (score 75, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional regression] Schema quality: 301 → 341
- [functional] Server version: 1.1.0 → 1.2.0
- [functional] New tool “confirmer_code”
- [functional] New tool “envoyer_code”
- [functional] New tool “proposer_limites”

### 2026-10-29 (score 75, +3)

- [functional improvement] Schema quality: 365 → 301
- [functional] The server now declares the “resources” capability
- [functional] First check of Capabilities: pass
- [functional] First check of Schema quality: 100
- [functional] New resource “places”
- [functional] Server version: 1.0.0 → 1.1.0

### 2026-10-28 (score 72, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional regression] Schema quality: 1019 → 1460
- [functional] New tool “preparer_demande”

### 2026-10-27 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (7)

### `chercher_places` (~551 tokens)

Chercher des places libres

Cherche les places libres d'une ville, par catégorie, jour, moment et quartier, et au besoin par condition de santé ou par clientèle (commerces Dispolà Pro qui l'ont cochée). 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, optionally by health condition or clientele, with the booking link. With a category, also returns sur_demande: businesses without online booking, with estimated times to be confirmed by phone.

Input parameters:

- `categorie` (string): La catégorie (voir categories_et_villes). / The category.
- `clientele` (string): Une clientèle (femmes_enceintes, enfants, aines, mobilite_reduite...) : seulement les commerces Dispolà Pro qui l'ont cochée. Sans sur_demande. / A clientele: only Dispolà Pro businesses that checked…
- `condition` (string): Une condition de santé (maux_de_dos, stress, commotion...) : seulement les commerces Dispolà Pro qui se disent à l'aise avec elle. Pas un diagnostic : ce que le ou la pro dit connaître. Sans sur_dema…
- `jour` (string): aujourdhui, demain ou AAAA-MM-JJ (heure de Montréal). / today, tomorrow or YYYY-MM-DD.
- `lat` (number): Latitude, avec lng : trie du plus proche au plus loin. / Latitude, with lng: sorts nearest first.
- `limite` (integer): Nombre de places, 10 par défaut. / Max spots, default 10.
- `lng` (number): Longitude, avec lat. / Longitude, with lat.
- `moment` (string): am : avant midi ; pm : de midi à 17 h ; soir : après 17 h. / morning, afternoon, evening.
- `quartier` (string): Un quartier, par exemple Plateau ou Limoilou : trie du plus proche au plus loin. / A neighbourhood: sorts nearest first.
- `ville` (string, required): La ville, ou ailleurs : ailleurs au Québec, hors des villes du site (Trois-Rivières, Granby, Saguenay...) ; donne alors la ville de la personne dans quartier, ou lat et lng. / The city, or ailleurs:…

### `categories_et_villes` (~60 tokens)

Catégories 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.

### `lien_alerte_texto` (~221 tokens)

Lien d'alerte texto

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 ; l'outil ne soumet rien. / Builds a prefilled text alert form link; the person enters their own number and consents. The tool submits nothing.

Input parameters:

- `jour` (string): aujourdhui, demain ou AAAA-MM-JJ (heure de Montréal). / today, tomorrow or YYYY-MM-DD.
- `langue` (string): Langue du formulaire. / Form language.
- `moment` (string): am : avant midi ; pm : de midi à 17 h ; soir : après 17 h. / morning, afternoon, evening.
- `quartier` (string): Le quartier de la personne. / Their neighbourhood.
- `service` (string): Le code du service, par exemple ongles.gel (voir categories_et_villes). / Service code.
- `ville` (string, required): La ville. / The city.

### `preparer_demande` (~378 tokens)

Préparer une demande sur demande

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. L'outil ne soumet rien. / 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. The tool submits nothing.

Input parameters:

- `commerce` (string, required): Le code du commerce (champ commerce de sur_demande). / Business code (commerce field of sur_demande).
- `heures` (string): 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 s…
- `langue` (string): Langue du formulaire. / Form language.
- `lat` (number): Latitude de la personne, avec lng (arrondie à 100 m). / Latitude, with lng.
- `lieu` (string): Où est la personne : code postal ou quartier, pour un commerce de rechange proche d’elle. / Postal code or neighbourhood.
- `lng` (number): Longitude, avec lat. / Longitude, with lat.
- `service` (string): Le service précis (champ services de sur_demande, ex. coupe-courts). / Precise service code.

### `envoyer_code` (~359 tokens)

Envoyer le code texto de la demande

Prépare la demande chez un commerce sur demande et texte à la personne un code à 6 chiffres, avec le texte exact de son accord. La personne lit ce code, et confirmer_code envoie la demande. Le prénom et le cellulaire sont ceux de la personne, pour elle-même. Avec mandat (la clé de confirmer_code après proposer_limites) et accepter_seul, une demande qui respecte toutes ses limites part sans code. / Prepares the request and texts the person a 6-digit code with the exact consent wording; confirmer_code sends it with that code. With a mandate key and auto-accept, a request within all their signed limits is sent without a code.

Input parameters:

- `cellulaire` (string): Son cellulaire, Canada ou États-Unis. / Their mobile number.
- `commerce` (string, required): Le code du commerce (champ commerce de sur_demande). / Business code.
- `heures` (string, required): Au moins 2 heures de moments, séparées par des virgules, qui vont toutes à la personne. / At least 2 times from moments, comma-separated.
- `langue` (string): Langue des textos. / Text language.
- `lat` (number): Latitude, avec lng. / Latitude.
- `lieu` (string): Où est la personne : code postal ou quartier. / Postal code or neighbourhood.
- `lng` (number): Longitude, avec lat. / Longitude.
- `mandat` (string): La clé mandat rendue par confirmer_code après proposer_limites. / Mandate key.
- `prenom` (string): Le prénom de la personne. / Their first name.
- `service` (string, required): Le service précis (champ services de sur_demande). / Precise service code.

### `confirmer_code` (~150 tokens)

Confirmer avec le code texto

Vérifie le code à 6 chiffres que la personne a reçu par texto après envoyer_code ou proposer_limites. Avec le bon code, une demande part chez Dispolà, qui appelle le commerce, ou des limites deviennent actives et l'outil rend la clé mandat. Un mauvais code est refusé. / Checks the 6-digit code the person received by text. Sends the request, or activates their limits and returns the mandate key. A wrong code is rejected.

Input parameters:

- `code` (string, required): Les 6 chiffres reçus par la personne. / The 6 digits.
- `reference` (string, required): La référence rendue par envoyer_code ou proposer_limites. / The reference returned earlier.

### `proposer_limites` (~445 tokens)

Proposer des limites à signer

Propose les limites dans lesquelles un agent peut demander pour la personne (le mandat ouvert d'AP2) : catégorie, services, jours (au plus 14), heures, lieu et rayon, prix max, et envoi sans code ou non. Dispolà les lui texte mot pour mot avec un code ; confirmer_code, avec ce code, rend la clé mandat. La personne peut tout annuler en textant STOP AGENT. / Proposes limits within which an agent may request on the person's behalf, texted to them word for word and signed with a text code.

Input parameters:

- `accepter_seul` (string): oui : une demande qui respecte tout part sans code. non : un code à chaque demande. / Auto-accept.
- `apres` (string): Pas avant cette heure, HH:MM. / Not before.
- `au` (string): Dernier jour, au plus 14 jours d'ici. Les limites expirent ce soir-là. / Last day; limits expire that night.
- `avant` (string): Pas après cette heure, HH:MM. / Not after.
- `categorie` (string, required): La catégorie. / The category.
- `cellulaire` (string, required): Son cellulaire. / Their mobile number.
- `du` (string): Premier jour, AAAA-MM-JJ. Demain par défaut. / First day.
- `langue` (string): Langue des textos. / Text language.
- `lieu` (string): Code postal ou quartier de la personne. / Postal code or neighbourhood.
- `prenom` (string, required): Le prénom de la personne. / Their first name.
- `prix_max` (integer): Prix max en dollars. Inconnu d’avance chez un commerce sur demande : Léon le vérifie au téléphone. / Max price.
- `rayon_km` (number): Distance max du lieu, 3 km par défaut. / Max distance.
- `services` (string): Les services permis (codes de services de sur_demande), séparés par des virgules. Sans : toute la catégorie. / Allowed service codes.
- `ville` (string, required): La ville. / The city.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ca-dispola-places/dispola#diagnostics

## Score history

- 2026-11-04: 71
- 2026-11-03: 70
- 2026-11-02: 70
- 2026-11-01: 69
- 2026-10-31: 69
- 2026-10-30: 75
- 2026-10-29: 75
- 2026-10-28: 72
- 2026-10-27: 72
- 2026-10-26: 71
- 2026-10-25: 71

## Common questions

### What is the Dispolà MCP server?

Dispolà is an MCP server listed in the public MCP registry as ca.dispola/places. Same-day appointment openings in Quebec: hair, nails, massage, physio. No account needed. This page covers its hosted endpoint (https://dispola.ca/mcp).

### Is the Dispolà MCP server safe to use?

Dispolà scores 71 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Dispolà MCP server expose?

Dispolà exposes 7 tools: chercher_places, categories_et_villes, lien_alerte_texto, preparer_demande, envoyer_code, and 2 more. Their descriptions and schemas cost roughly 2,164 tokens of context every time the server is loaded.

### Does the Dispolà MCP server require authentication?

No. We connected to Dispolà without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Dispolà MCP server still maintained?

Dispolà is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://dispola.ca/mcp
- Website: https://dispola.ca/
- Changelog RSS feed: https://verifymcp.io/servers/ca-dispola-places/dispola.xml
- Changelog JSON feed: https://verifymcp.io/servers/ca-dispola-places/dispola.json
- HTML version of this page: https://verifymcp.io/servers/ca-dispola-places/dispola
