Connects Claude to Réunion's regional open data portal via the OpenDataSoft Explore v2.1 API, exposing 99 tools across 22 modules covering everything from SIRENE business search and DVF real estate transactions to road traffic data, school directories, and election results. The catalog module acts as an escape hatch: search the full 270 dataset collection, inspect schemas, then query with raw ODSQL when no dedicated tool exists yet. Useful for demographic research, territorial analysis, or building applications that need structured French overseas department data without scraping HTML tables. Also pulls 2024 legislative results from data.gouv.fr to fill gaps in the regional portal.
MCP server for La Réunion public open data, exposed over stdio for Claude Desktop and other MCP clients.
Primary source: the OpenDataSoft Explore v2.1 API at data.regionreunion.com. A small National elections module also queries tabular-api.data.gouv.fr for the 2024 anticipated legislative + European results that the regional portal doesn't carry. Currently 99 tools across 22 modules. A catalog module lets the client reach any of the ~270 datasets at data.regionreunion.com that aren't wired to a dedicated tool yet.
demandeurs-d-emploi-…-a-la-reunion) — Pôle emploi jobseeker counts by age/sex and by commune.base-permanente-des-equipements-geolocalisee-la-reunion, equipements-sportifs) — INSEE BPE facilities and the national sport-equipment inventory, filtered to Réunion.ban-lareunion, bal-la-possession, communes-millesime-france, cantons-millesime-france, intercommunalites-millesime-france, iris-millesime-france, les-20-quartiers-villesaintdenis) — BAN/BAL addresses and the official communes / cantons / EPCI / IRIS / Saint-Denis quarters reference layers.etablissements-touristiques-lareunion-wssoubik, hebergements-classespublic, localisation-potentielle-ecolodge-lareunion) — tourism establishments, classified accommodations, ecolodge zones.tabular-api.data.gouv.fr — Ministère de l'Intérieur) — 2024 anticipated legislative results (rounds 1 & 2) per Réunion circonscription, and 2024 European results aggregated for département 974. Complements the 2022 results carried by the regional portal.logements-et-logements-sociaux-…, couts-et-surfaces-moyens-…) — departmental housing atlas and social-housing costs.donnees-essentielles-marches-publics-…, subventions-attribuees-…) — La Possession public procurement contracts and association grants.sites-mobiles-5g-a-la-reunion, arcep_regions) — 5G cell sites per operator and FttH deployment coverage.potentiel foncier land reserves, Sitadel residential construction permits.base-permanente-des-plu-de-la-reunion, liste-des-permis-de-constuire-…) — PLU zoning and non-residential building permits (Sitadel).donnees-synop-essentielles-ommpublic) — Météo France SYNOP observations for Réunion stations: temperature, humidity, wind, pressure, rainfall; plus a station-listing tool.search_catalog, inspect_dataset, query_dataset. Lets the agent discover and query any of the ~270 datasets not covered by a dedicated module, with a raw ODSQL where clause as escape hatch.The data.regionreunion.com catalog exposes ~270 datasets. More modules can be added incrementally — see Extending below.
The dedicated modules above cover the most-asked topics, but the portal has ~270 datasets in total. Instead of writing a new module for every long-tail question, the catalog module gives the MCP client three generic tools that together act as an escape hatch onto the whole portal:
reunion_search_catalog — keyword / theme / publisher search across all datasets. Returns dataset IDs, titles, descriptions, record counts.reunion_inspect_dataset — given a dataset ID, returns its full schema (field names + types) so the agent knows what it can filter on.reunion_query_dataset — fetches records from any dataset with a raw ODSQL where clause, select, order_by, limit.Typical flow when the user asks about something no dedicated module covers (e.g. volcanology, elections, library attendance, …):
reunion_search_catalog({ query: "volcan" })
→ returns e.g. dataset_id "suivi-volcanologique-piton-fournaise"
reunion_inspect_dataset({ dataset_id: "suivi-volcanologique-piton-fournaise" })
→ returns fields like date, type_evenement, magnitude, profondeur…
reunion_query_dataset({
dataset_id: "suivi-volcanologique-piton-fournaise",
where: "type_evenement = 'éruption' AND date >= date'2023-01-01'",
order_by: "date DESC",
limit: 20
})
Net effect: the agent can answer questions backed by any of the ~270 datasets without anyone having to code a new module first. Datasets that turn out to be popular via query_dataset are candidates for being promoted into their own dedicated module with curated field names.
npm install
npm run build
npm test
npm run dev
{
"mcpServers": {
"reunion": {
"command": "npx",
"args": ["mcp-reunion"]
}
}
}
Each module lives in src/modules/ and wires an OpenDataSoft dataset to one or more MCP tools via the shared ReunionClient (src/client.ts). To add a module:
https://data.regionreunion.com/api/explore/v2.1/catalog/datasets?limit=100./catalog/datasets/<id>) to know what to expose.src/modules/weather.ts or transport.ts.src/modules/index.ts and bump TOOL_COUNT.stdiohttps://data.regionreunion.com/api/explore/v2.1MIT — adapted from lacausecrypto/mcp-new-caledonia.
com.mcparmory/google-sheets
domdomegg/google-sheets-mcp
henilcalagiya/google-sheets-mcp
cct15/war-dashboard-data
moooonad/mcp-google-sheets-full
io.github.br0ski777/csv-to-json