Upcoming events and outings in Paris and Île-de-France, plus permanent places across France.
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.
Permanent places open all year anywhere in France (playgrounds, parks, sports courts, skateparks, pools, amusement parks, zoos, libraries, museums and other cultural venues, heritage sites), nearest first. Use it when there is no dated event that fits, or the user wants a place rather than an event. Give a location (near_lat/near_lon) or a town of Île-de-France. Returns up to 10 places.
Town in Île-de-France, used when no coordinates are given, e.g. "Versailles".
Number of places, default 8.
Kind of place. Optional: all kinds when omitted.
Latitude to search around (with near_lon).
Longitude to search around (with near_lat).
Search radius, default 3.
Permanent places open all year anywhere in France (playgrounds, parks, sports courts, skateparks, pools, amusement parks, zoos, libraries, museums and other cultural venues, heritage sites), nearest first. Use it when there is no dated event that fits, or the user wants a place rather than an event. Give a location (near_lat/near_lon) or a town of Île-de-France. Returns up to 10 places.
| Argument | Type | Description |
|---|---|---|
| city | string | Town in Île-de-France, used when no coordinates are given, e.g. "Versailles". |
| limit | integer | Number of places, default 8. |
| category | string | Kind of place. Optional: all kinds when omitted. |
| near_lat | number | Latitude to search around (with near_lon). |
| near_lon | number | Longitude to search around (with near_lat). |
| radius_km | number | Search radius, default 3. |
{
"type": "object",
"properties": {
"city": {
"type": "string",
"maxLength": 80,
"description": "Town in Île-de-France, used when no coordinates are given, e.g. \"Versailles\"."
},
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Number of places, default 8."
},
"category": {
"enum": [
"playground",
"park",
"courts",
"skate",
"pool",
"fun",
"zoo",
"library",
"culture",
"heritage"
],
"type": "string",
"description": "Kind of place. Optional: all kinds when omitted."
},
"near_lat": {
"type": "number",
"description": "Latitude to search around (with near_lon)."
},
"near_lon": {
"type": "number",
"description": "Longitude to search around (with near_lat)."
},
"radius_km": {
"enum": [
1,
2,
3,
5,
10
],
"type": "number",
"description": "Search radius, default 3."
}
}
}Details of one event by the `id` returned by search_events or list_city_events: dates, venue, price and age information, booking link, conditions.
| Argument | Type | Description |
|---|---|---|
| id* | string | Event id, e.g. "qfap:123102". |
| lang | string | Language of titles and summaries. Default: en. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 200,
"description": "Event id, e.g. \"qfap:123102\"."
},
"lang": {
"enum": [
"fr",
"en",
"zh"
],
"type": "string",
"description": "Language of titles and summaries. Default: en."
}
}
}Upcoming events in one town of Île-de-France (e.g. Paris, Versailles, Saint-Germain-en-Laye), soonest first. Optional filter: this weekend, free, or for children. Returns up to 10 events and the total count; `more_url` is the full list.
| Argument | Type | Description |
|---|---|---|
| city* | string | Town name, e.g. "Versailles". |
| lang | string | Language of titles and summaries. Default: en. |
| limit | integer | Number of events, default 8. |
| filter | string | weekend = this weekend, free = free admission, kids = for children. Optional. |
{
"type": "object",
"required": [
"city"
],
"properties": {
"city": {
"type": "string",
"maxLength": 80,
"description": "Town name, e.g. \"Versailles\"."
},
"lang": {
"enum": [
"fr",
"en",
"zh"
],
"type": "string",
"description": "Language of titles and summaries. Default: en."
},
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Number of events, default 8."
},
"filter": {
"enum": [
"weekend",
"free",
"kids"
],
"type": "string",
"description": "weekend = this weekend, free = free admission, kids = for children. Optional."
}
}
}Semantic search over upcoming events in Paris and Île-de-France. The query can be in any language and describe a need ("rainy day activity for a 4 year old", "jazz gratuit", "亲子手工"). Returns up to 10 events, best match first, nearest first when a location is given.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of titles and summaries. Default: en. |
| limit | integer | Number of events, default 8. |
| query* | string | What the user is looking for, in natural language. |
| date_to | string | Latest day, YYYY-MM-DD (Europe/Paris), inclusive. Optional. |
| near_lat | number | Latitude to search around (optional, with near_lon). |
| near_lon | number | Longitude to search around (optional, with near_lat). |
| date_from | string | Earliest day, YYYY-MM-DD (Europe/Paris). Optional. |
| radius_km | number | Only with near_lat/near_lon: keep events within this distance. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"lang": {
"enum": [
"fr",
"en",
"zh"
],
"type": "string",
"description": "Language of titles and summaries. Default: en."
},
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Number of events, default 8."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "What the user is looking for, in natural language."
},
"date_to": {
"type": "string",
"description": "Latest day, YYYY-MM-DD (Europe/Paris), inclusive. Optional."
},
"near_lat": {
"type": "number",
"description": "Latitude to search around (optional, with near_lon)."
},
"near_lon": {
"type": "number",
"description": "Longitude to search around (optional, with near_lat)."
},
"date_from": {
"type": "string",
"description": "Earliest day, YYYY-MM-DD (Europe/Paris). Optional."
},
"radius_km": {
"enum": [
2,
3,
5,
8,
12,
20,
30,
50
],
"type": "number",
"description": "Only with near_lat/near_lon: keep events within this distance."
}
}
}