Real things to do in France: activities, tours, spas, escape games. Read-only, no sign-in.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
City guide for a French destination: what to do, how to get there and around, curated selections, tourist office. Guide d'une destination en France, à appeler avant de chercher des adresses : texte « que faire à X » et premier kilomètre (arriver, se déplacer), jusqu'à 3 sélections signées, office de tourisme (page, site, pass multi-activités), et les activités les plus fournies autour (slug à passer en `activity` à mesloisirs_search_experiences). Paramètres : `city` (obligatoire), `department` si homonymes, `lang` (fr|en). Une commune sans guide est servie par la ville guide la plus proche à moins de 25 km (`hub`). Refus typés : `lieu_ambigu` (candidats), `lieu_requis`. Jamais d'email ni de téléphone. Lecture seule.
Nom de la commune (France), 60 caractères au plus.
Langue de la réponse : fr (défaut) ou en (texte et liens anglais quand ils existent, consignes en anglais). Les clés restent françaises.
Code du département (« 74 », « 2A », « 974 ») quand plusieurs communes portent ce nom (refus `lieu_ambigu`).
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http recherche https://mesloisirs.fr/mcp/search
City guide for a French destination: what to do, how to get there and around, curated selections, tourist office. Guide d'une destination en France, à appeler avant de chercher des adresses : texte « que faire à X » et premier kilomètre (arriver, se déplacer), jusqu'à 3 sélections signées, office de tourisme (page, site, pass multi-activités), et les activités les plus fournies autour (slug à passer en `activity` à mesloisirs_search_experiences). Paramètres : `city` (obligatoire), `department` si homonymes, `lang` (fr|en). Une commune sans guide est servie par la ville guide la plus proche à moins de 25 km (`hub`). Refus typés : `lieu_ambigu` (candidats), `lieu_requis`. Jamais d'email ni de téléphone. Lecture seule.
| Argument | Type | Description |
|---|---|---|
| city* | string | Nom de la commune (France), 60 caractères au plus. |
| lang | string | Langue de la réponse : fr (défaut) ou en (texte et liens anglais quand ils existent, consignes en anglais). Les clés restent françaises. |
| department | string | Code du département (« 74 », « 2A », « 974 ») quand plusieurs communes portent ce nom (refus `lieu_ambigu`). |
{
"type": "object",
"required": [
"city"
],
"properties": {
"city": {
"type": "string",
"description": "Nom de la commune (France), 60 caractères au plus."
},
"lang": {
"enum": [
"fr",
"en"
],
"type": "string",
"description": "Langue de la réponse : fr (défaut) ou en (texte et liens anglais quand ils existent, consignes en anglais). Les clés restent françaises."
},
"department": {
"type": "string",
"description": "Code du département (« 74 », « 2A », « 974 ») quand plusieurs communes portent ce nom (refus `lieu_ambigu`)."
}
}
}Get full details of one activity found by the search: description, prices, opening hours, booking. Détail complet d'une sortie trouvée par mesloisirs_search_experiences : description entière, tarifs (formules) et options, horaires Google quand ils sont connus, prochaines dates s'il s'agit d'un événement, atouts vérifiés, et le bloc `reservation` (lien, place de marché, sur la fiche, office de tourisme). Paramètres : `id` (numérique) ou `slug` (fin de l'URL /xp/{slug}), `lang` (fr|en). Jamais d'email ni de téléphone : renvoyez vers `url`. Lecture seule.
| Argument | Type | Description |
|---|---|---|
| id | integer | Identifiant de la fiche (champ `id` des résultats de recherche). |
| lang | string | Langue de la réponse : fr (défaut) ou en (lien /en/ quand la fiche est traduite, consignes en anglais). |
| slug | string | Slug de la fiche, dernier segment de son URL /xp/{slug}. |
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 1,
"description": "Identifiant de la fiche (champ `id` des résultats de recherche)."
},
"lang": {
"enum": [
"fr",
"en"
],
"type": "string",
"description": "Langue de la réponse : fr (défaut) ou en (lien /en/ quand la fiche est traduite, consignes en anglais)."
},
"slug": {
"type": "string",
"description": "Slug de la fiche, dernier segment de son URL /xp/{slug}."
}
}
}List the activity types of the MesLoisirs catalogue (French names, slugs, English words accepted in `q`). Liste les activités du catalogue MesLoisirs (escape game, canyoning, spa, œnologie, parc d'attractions…) avec leur slug à passer en `activity` à mesloisirs_search_experiences, le nombre d'adresses publiées en France, l'âge minimum, les publics et les envies qu'elles servent le mieux. Filtre optionnel `q` (mot du titre, ou mot anglais courant : « museum »), `lang` (fr|en : liens anglais). À appeler quand l'activité demandée ne tombe pas sur un nom évident. Lecture seule.
| Argument | Type | Description |
|---|---|---|
| q | string | Mot du titre ou du slug pour filtrer (ex. « escape », « canyon »), ou mot anglais courant (« museum »). |
| lang | string | Langue des liens : fr (défaut) ou en. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Mot du titre ou du slug pour filtrer (ex. « escape », « canyon »), ou mot anglais courant (« museum »)."
},
"lang": {
"enum": [
"fr",
"en"
],
"type": "string",
"description": "Langue des liens : fr (défaut) ou en."
}
}
}Search real things to do in France around a place. Sorties et activités de loisirs réelles en France (escape game, canyoning, spa, atelier, visite…) autour d'un lieu, catalogue MesLoisirs. Lieu OBLIGATOIRE : `city` (+ `department` si homonymes) ou `latitude`+`longitude`. Filtres : `activity` (nom, slug ou anglais « cooking class »), `q` (mots-clés FR ou EN), `audience`, `interests` (axes du schéma), `ages`, `budget_max` (n'écarte que les fiches dont le prix est connu ; les autres restent), `radius_km`. `lang=en` : liens anglais quand la fiche est traduite. Chaque résultat : `url`, coordonnées, `reservation`. Refus typés : `lieu_ambigu` (candidats), `activite_inconnue` (suggestions). Jamais d'email ni de téléphone. Lecture seule.
| Argument | Type | Description |
|---|---|---|
| q | string | Mots-clés libres (100 caractères au plus), français ou anglais, cherchés dans le titre et l'accroche des fiches et le nom des activités. |
| ages | array | Âges des participants (entiers, 12 au plus). Le plus jeune écarte les activités à âge minimum supérieur ; moins de 18 ans écarte l'alcool. |
| city | string | Nom de la commune (France), 60 caractères au plus. Ignoré si latitude et longitude sont donnés. |
| lang | string | Langue de la réponse : fr (défaut) ou en (liens /en/ quand la fiche est traduite, consignes en anglais). Les clés restent françaises. |
| page | integer | Page de résultats (1 à 5). |
| activity | string | Activité : nom (« escape game », « canyoning »), nom anglais courant (« cooking class », « museum »), slug ou id du catalogue (mesloisirs_list_activities, `activite.id` d'un résultat). Inconnue = refus `activite_inconnue` avec des suggestions. |
| audience | string | Avec qui : solo, couple, family, friends, group. Classe les résultats ; family écarte les adresses liées à l'alcool. |
| latitude | number | Latitude du point de recherche (WGS84). |
| per_page | integer | Résultats par page, défaut 10, max 20. |
| interests | array | Envies (15 axes du catalogue, 12 au plus). Classent les résultats (rainy = à l'abri de la pluie). |
| longitude | number | Longitude du point de recherche (WGS84). |
| radius_km | integer | Rayon en km, défaut 30, max 100. Doublé une fois automatiquement si rien n'est trouvé (rayon_elargi = true). |
| budget_max | number | Budget maximum par personne en euros. N'écarte que les fiches dont le prix est connu et le dépasse ; les autres restent (prix = null). `prix_connus` dit combien de résultats ont un prix. |
| department | string | Code du département (« 93 », « 2A », « 974 ») quand plusieurs communes portent ce nom (refus `lieu_ambigu`). |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Mots-clés libres (100 caractères au plus), français ou anglais, cherchés dans le titre et l'accroche des fiches et le nom des activités."
},
"ages": {
"type": "array",
"items": {
"type": "integer",
"maximum": 120,
"minimum": 0
},
"description": "Âges des participants (entiers, 12 au plus). Le plus jeune écarte les activités à âge minimum supérieur ; moins de 18 ans écarte l'alcool."
},
"city": {
"type": "string",
"description": "Nom de la commune (France), 60 caractères au plus. Ignoré si latitude et longitude sont donnés."
},
"lang": {
"enum": [
"fr",
"en"
],
"type": "string",
"description": "Langue de la réponse : fr (défaut) ou en (liens /en/ quand la fiche est traduite, consignes en anglais). Les clés restent françaises."
},
"page": {
"type": "integer",
"maximum": 5,
"minimum": 1,
"description": "Page de résultats (1 à 5)."
},
"activity": {
"type": "string",
"description": "Activité : nom (« escape game », « canyoning »), nom anglais courant (« cooking class », « museum »), slug ou id du catalogue (mesloisirs_list_activities, `activite.id` d'un résultat). Inconnue = refus `activite_inconnue` avec des suggestions."
},
"audience": {
"enum": [
"solo",
"couple",
"family",
"friends",
"group"
],
"type": "string",
"description": "Avec qui : solo, couple, family, friends, group. Classe les résultats ; family écarte les adresses liées à l'alcool."
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude du point de recherche (WGS84)."
},
"per_page": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Résultats par page, défaut 10, max 20."
},
"interests": {
"type": "array",
"items": {
"enum": [
"unusual",
"adrenaline",
"food",
"playful",
"cultural",
"wellbeing",
"kids",
"teens",
"rainy",
"heat",
"terroir",
"premium",
"nature",
"nautique",
"seniors"
],
"type": "string"
},
"description": "Envies (15 axes du catalogue, 12 au plus). Classent les résultats (rainy = à l'abri de la pluie)."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude du point de recherche (WGS84)."
},
"radius_km": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rayon en km, défaut 30, max 100. Doublé une fois automatiquement si rien n'est trouvé (rayon_elargi = true)."
},
"budget_max": {
"type": "number",
"minimum": 0,
"description": "Budget maximum par personne en euros. N'écarte que les fiches dont le prix est connu et le dépasse ; les autres restent (prix = null). `prix_connus` dit combien de résultats ont un prix."
},
"department": {
"type": "string",
"description": "Code du département (« 93 », « 2A », « 974 ») quand plusieurs communes portent ce nom (refus `lieu_ambigu`)."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 13, 2026.