france-data-mcp
MCP TypeScript qui croise et rĂ©concilie 13 rĂ©fĂ©rentiels publics français (INSEE SIRENE, IRIS & Melodi, FINESS DREES, RPPS / Annuaire SantĂ© ANS, Annuaire SantĂ© Ameli, Centres de SantĂ© CNAM, DVF / DGFiP, Sit@del / SDES, PLU via apicarto, IGN GĂ©oplateforme, geo.api.gouv.fr & Recherche Entreprises DINUM). DĂ©tecte les SIRET fermĂ©s invisibles cĂŽtĂ© DREES, distingue site vs groupe, croise l'offre de soins avec la dĂ©mographie au quartier, Ă©value le potentiel immobilier d'un site (prix DVF âŹ/mÂČ, permis de construire, zones AU du PLU), expose la fraĂźcheur de chaque source.
    
đ«đ· Documentation principale en français. English version â
---
Installation
Option 1 â URL distante (claude.ai, Claude Code, Cursor)
https://france-data-mcp.vercel.app/mcp
| Client | Config | |---|---| | claude.ai | Settings â Connectors â Add custom connector â URL ci-dessus | | Claude Code | ~/.claude.json â mcpServers â { "type": "http", "url": "..." } | | Cursor | ~/.cursor/mcp.json â mĂȘme configuration |
Option 2 â Wrapper npm stdio (Claude Desktop natif, autres clients)
{
"mcpServers": {
"france-data": {
"command": "npx",
"args": ["-y", "france-data-mcp"]
}
}
}
Le wrapper forwarde stdio â endpoint HTTPS distant. Aucune DB locale Ă provisionner. Override possible : FRANCE_DATA_MCP_URL=https://mon-miroir.example/mcp.
Détails par client + self-hosting : docs/installation-claude.md.
---
Pourquoi ce projet
Les APIs officielles (INSEE, FINESS DREES, RPPS ANS, Annuaire Ameli, Centres de SantĂ© CNAM, IGN, DINUM) existent mais sont Ă©clatĂ©es, sous-documentĂ©es et pleines de piĂšges : rate limits, formats CSV propriĂ©taires, latence DREES de 1-2 mois, diffusion partielle INSEE, mappings inconsistants Ameli â RPPS.
france-data-mcp est le premier MCP qui croise factuellement ces sources pour rĂ©pondre Ă des questions concrĂštes â cartographie d'offre de soins, Ă©tude de marchĂ© territoriale, journalisme local, civic-tech.
---
PĂ©rimĂštre â 13 sources publiques croisĂ©es
- đșïž Territoire (2) : geo.api.gouv.fr (DINUM, communes), IGN GĂ©oplateforme (gĂ©ocodage)
- đ„ SantĂ© (3) : FINESS / DREES (~95 K Ă©tablissements), Annuaire SantĂ© Ameli (~462 K libĂ©raux), RPPS / ANS (~2,2 M PS actifs)
- đ©ș Centres de SantĂ© (1) : Annuaire santĂ© CNAM (~3 K structures L.6323-1 CSP, sync hebdomadaire)
- đ DĂ©mographie infracommunale (2) : INSEE IRIS (~48,6 K quartiers â RP 2022, FILOSOFI 2021 revenu, contours IGN) + INSEE Melodi (population de rĂ©fĂ©rence)
- đą Entreprises (2) : DINUM Recherche Entreprises + INSEE SIRENE V3.11
- đïž Immobilier (3) : ventes fonciĂšres DVF / DGFiP (âŹ/mÂČ, cache paresseux PostGIS), permis de construire Sit@del via API DiDo / SDES (live), zones AU du PLU via apicarto / IGN (live)
Cross-source : rĂ©conciliation FINESS â RPPS â SIRENE pour dĂ©tecter SIRET fermĂ©s, rebrandings, raisons sociales pĂ©rimĂ©es.
---
Outils MCP (36 tools)
đșïž Territoire (4)
autocomplete_commune · get_commune_by_code · geocode_adresse · reverse_geocode
đą Entreprises (3)
entreprises_in_radius · entreprise_by_siren (+ fallback INSEE SIRENE V3.11) · etablissement_by_siret
đ„ Ătablissements santĂ© FINESS (3)
etablissements_finess_in_radius · etablissements_finess_by_categorie · etablissement_by_finess
24 familles couvrant ~92 % du volume. Source DREES rafraĂźchie bimestriellement.
đšââïž Professionnels libĂ©raux Ameli (2)
professionnels_in_radius · professionnels_par_specialite_dept
Libéraux conventionnés uniquement (~462 K). Découverte des codes spécialité/type_ps :
lister_nomenclature(voir ci-dessous).
đ©ș Tous les PS â RPPS / Annuaire SantĂ© ANS (5)
professionnels_rpps_in_radius · professionnels_rpps_par_dept · rpps_dans_etablissement · rpps_search_by_name (fuzzy) · professionnel_by_rpps (+ fallback FHIR ANS)
~2,2 M PS actifs (libéraux + salariés privés + hospitaliers contractuels + agents publics). Par défaut : Civils uniquement.
đ©ș Centres de SantĂ© â Annuaire CNAM (2)
centres_sante_in_radius · centres_sante_by_finess
Structures de soins ambulatoires non lucratives (L.6323-1 CSP, ~3 K). Différenciateur vs FINESS famille=124 : expose carte Vitale, APCV et spécialités exercées sur place (Annexe A CNAM, ~70 codes). Coords = centroïde commune. Sync hebdomadaire.
đ DĂ©mographie & densitĂ©s â INSEE Melodi + IRIS (3)
Population de rĂ©fĂ©rence INSEE croisĂ©e avec RPPS / FINESS â mĂ©thodologie DREES (ratios pour 100 k hab.). Maille IRIS (quartier, ~48,6K zones) pour la DEMANDE, Ă croiser avec l'offre de soins.
population (IRIS 9 car., commune 5 car. ou dĂ©partement 2-3 car. â granularitĂ© auto-dĂ©tectĂ©e par la longueur du code) · densite_sante (cible: professionnels RPPS ou etablissements FINESS â labos, pharmacies, EHPAD, hĂŽpitaux ; + comparaison nationale matview <50 ms) · profil_iris (point ou code_iris, rayon_km?) â profil dĂ©mo d'un Ăźlot ou d'un bassin (Ăąge, CSP, familles, revenu) au RP 2022 + FILOSOFI 2021
đ DĂ©couverte des nomenclatures (1)
lister_nomenclature (referentiel: ameli_specialites | ameli_types_ps | rpps_savoir_faire) â codes spĂ©cialitĂ©/type_ps Ameli et savoir_faire RPPS dans un seul tool (remplace les 3 anciens lister_*).
đ§ AgrĂ©gateurs & Ă©tudes composites (4)
panorama_sante_territoire(V0.9) â 1 call : population + densitĂ©s mĂ©decins/infirmiers/pharmaciens vs national + count FINESS par famille (labo, pharmacie, EHPAD, MCO, MSP/CPTS) + bloc demande IRIS (profil dĂ©mo commune : Ăąge, CSP, familles, revenu). GranularitĂ© explicite (niveau: commune,niveauEtablissements: departement | indisponible).inspect_site(V0.10) â vue 360 d'un Ă©tablissement en 1 call : identification FINESS + statut administratif SIRENE (resolver SIRET) + PS rattachĂ©s + historique INSEE.panorama_implantation_complet(V0.23) â Ă©tude d'implantation labo en 1 call : 7 sections (territoire, demande IRIS du bassin, concurrents, pourvoyeurs MCO/EHPAD/SSR, prescripteurs RPPS+IDEL, centres de santĂ©, qualitĂ© rĂ©fĂ©rentiels). RĂ©sumĂ©s, jamais de listes brutes ; dĂ©gradation par section.enrichir_concurrents(V0.23) â enquĂȘte sur le top concurrents (statut actif + Ă©quipe + signal M&A + groupe parent), cap durmax=3.
đïž Immobilier â potentiel d'un site (2)
dynamique_immobiliere (V0.26) â composite en 1 call : permis de construire (Sit@del / DiDo SDES, live) + zones AU du PLU (apicarto / IGN, live) + ventes de terrains DVF. Sortie 2 registres : note (volume â scoring) / info (quartiers AU + prix â contexte) ; geojson = polygones des zones AU. · cout_foncier (V0.26) â prix mĂ©dian âŹ/mÂČ DVF (P25/P75, n_ventes, pĂ©riode), info seule.
Source DVF / DGFiP (cache paresseux PostGIS, anon lit / service écrit). Permis et zones AU = live (pas d'ingestion). Pensé pour les rapports d'implantation.
đ Croisement multi-source (7)
RĂ©conciliation FINESS â RPPS â SIRENE â CNAM â faits bruts sans interprĂ©tation mĂ©tier.
data_freshness · verifier_site_actif · compare_raison_sociale_finess_vs_rpps · compare_adresse_cnam_vs_finess · historique_etablissement · reconcilier_finess_sirene · finess_sirene_coverage_in_radius
---
Garde-fous publics
- Rate limit : 60 req/min par IP sur
tools/call(les mĂ©thodes meta restent libres). Au-delĂ : erreur-32000avecdata.retryAfterSeconds. - Logs JSON structurĂ©s par requĂȘte :
ts,method,tool,ip_hash(SHA-256 salé),duration_ms,outcome. Aucune IP en clair, aucun argument tool persisté. - Sentry error monitoring sur les 500 internes (tags
mcp.method,mcp.tool,mcp.outcome). - RGPD : rétention 30j sur Axiom, hash IP salé, droits d'accÚs / effacement. Politique complÚte dans PRIVACY.md.
Usage intensif : throttler cÎté client ou self-héberger.
---
Ătat du projet
â V0.26.2 â en production. Sur le registry MCP officiel. DĂ©tail : CHANGELOG.
Dernier patch (V0.26.2) : un point sans adresse proche (site industriel isolé / littoral, ex. Orano La Hague) est désormais rattaché à sa commune par ses frontiÚres (point-dans-polygone), ce qui restaure les permis Sit@del (
dynamique_immobiliere) et la couverture FINESSâSIRENE (finess_sirene_coverage_in_radius) sur ces sites. Surface inchangĂ©e (13 rĂ©fĂ©rentiels / 36 outils).
Roadmap
- [ ] V1.0+ : DOM-COM (IRIS + santé), DPC.
Historique des versions livrées : CHANGELOG.
---
Contribuer
Ouvrir une issue pour discuter avant d'envoyer une PR.
---
Licence
MIT â voir LICENSE. Les donnĂ©es restent sous leurs licences respectives :
| Source | Licence | Mention obligatoire | |---|---|---| | FINESS | Licence Ouverte (Etalab) | « Source : FINESS, ANS/DREES » | | Annuaire SantĂ© Ameli | Art. L.1461-2 CSP | « Source : Annuaire santĂ© Ameli, Assurance Maladie » | | DINUM Recherche Entreprises | Licence Ouverte | « Source : Annuaire des Entreprises, DINUM » | | INSEE | Licence Ouverte | « Source : Insee » | | IGN GĂ©oplateforme / apicarto | Licence Ouverte | « © IGN/GĂ©oplateforme », « GPU â apicarto IGN » | | geo.api.gouv.fr | Licence Ouverte | « Source : geo.api.gouv.fr (Etalab) » | | DVF (Demandes de Valeurs FonciĂšres) | Licence Ouverte | « Source : DVF, DGFiP / Etalab » | | Sit@del (permis de construire) | Licence Ouverte | « Source : Sit@del, SDES (API DiDo) » |
---
Remerciements
DINUM, Etalab, Atlasanté, ANS, INSEE, IGN pour la qualité de leurs APIs. data.gouv.fr pour l'animation civic-tech. Anthropic pour le protocole MCP.











