{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_vkahjhzc8xtf","handle":"france-data-mcp","url":"https://wellknown.network/agents/france-data-mcp","links":{"self":"https://wellknown.network/agents/france-data-mcp/record.json","html":"https://wellknown.network/agents/france-data-mcp","markdown":"https://wellknown.network/agents/france-data-mcp/record.md","api":"https://wellknown.network/api/v1/agents/france-data-mcp","status":"https://wellknown.network/api/v1/agents/france-data-mcp/status","claim":"https://wellknown.network/agents/france-data-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/france-data-mcp/claim.json","badge":"https://wellknown.network/agents/france-data-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/france-data-mcp/history","tools":"https://wellknown.network/api/v1/agents/france-data-mcp/tools"},"ard":{"identifier":"urn:air:france-data-mcp.vercel.app:server:france-data-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"france-data-mcp","summary":"French public-data MCP: cross-ref health, demographics, business, geo & real-estate.","description":"French public-data MCP: cross-ref health, demographics, business, geo & real-estate.","publisher":{"name":"cturkieh","url":null},"homepage":"https://github.com/cturkieh/france-data-mcp","repository":"https://github.com/cturkieh/france-data-mcp","version":"0.31.1","license":"MIT","protocols":["mcp"],"tags":["mcp","model-context-protocol","france","open-data","data-gouv","insee","finess","rpps","annuaire-sante","ameli","cnam","centres-sante","iris","demographie","population","ign","geocodage","sirene","dinum","territoire","sante","claude","civic-tech"],"pricing":null,"endpoints":[{"url":"https://france-data-mcp.vercel.app/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:france-data-mcp","type":"package_npm","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-05T21:57:00.357353Z","npmKeywords":["mcp","model-context-protocol","france","open-data","data-gouv","insee","finess","rpps","annuaire-sante","ameli","cnam","centres-sante","iris","demographie","population","ign","geocodage","sirene","dinum","territoire","sante","claude","civic-tech"],"publishedAt":"2026-10-05T21:57:00.357353Z","registryName":"io.github.cturkieh/france-data-mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","license":"npm","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"npm","publisherName":"mcp_registry"}},"derived":{"capabilities":[],"categories":[],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-09T21:26:37.800Z","lastProbedAt":"2026-10-09T21:26:37.800Z","statusComputedAt":"2026-10-09T21:28:02.663Z","reliability30d":{"probes":108,"successRate":1,"p50Ms":55,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":108,"ok":108,"authBoundaryOk":0,"serviceOk":108,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-09T21:26:37.800Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":49,"error":null,"detail":{"tools":[{"name":"autocomplete_commune","description":"Recherche de communes françaises par nom, code postal ou code INSEE. Idéal pour autocomplétion. Source : geo.api.gouv.fr (DINUM/Etalab).\n\nUn (au moins) parmi `n"},{"name":"get_commune_by_code","description":"Récupère une commune par son code INSEE. Retourne un objet `LookupResult` discriminé par `found`. `found: true` → champs commune à plat (nom, codesPostaux, cent"},{"name":"geocode_adresse","description":"Géocode une adresse française en coordonnées GPS. Source : IGN Géoplateforme (data.geopf.fr). Précision au numéro de rue.\n\nLe champ `score` (0-1) qualifie la fi"},{"name":"reverse_geocode","description":"Géocodage inverse : à partir de coordonnées GPS, retrouve l'adresse la plus proche. Source : IGN Géoplateforme. Couverture France métropolitaine + DOM uniquemen"},{"name":"population","description":"Population d'une COMMUNE (code INSEE 5 car.), d'un DÉPARTEMENT (2-3 car.) OU d'un IRIS infracommunal (9 car.) — granularité auto-détectée par la longueur du `co"},{"name":"profil_iris","description":"Profil démographique au grain QUARTIER (IRIS) — la « demande » d'un territoire (âge, CSP, familles, revenu), à croiser avec l'offre de soins pour l'aide à l'imp"},{"name":"entreprises_in_radius","description":"Recherche d'entreprises françaises avec filtres NAF, code postal, département ou rayon géographique. Couvre tous secteurs (santé via NAF 8690B, 4773Z, 8710A, 86"},{"name":"entreprise_by_siren","description":"Récupère le détail d'une entreprise française par son SIREN (9 chiffres) : raison sociale, NAF, finances historiques, dirigeants, établissements. Source : DINUM"},{"name":"data_freshness","description":"Retourne la fraîcheur des dumps de données ingérés côté serveur : FINESS / ANS (flux quotidien, ingéré le 1er et le 15 du mois), Annuaire Santé Ameli (hebdomada"},{"name":"compare_raison_sociale_finess_vs_rpps","description":"Compare la raison sociale FINESS DREES vs RPPS / Annuaire Santé ANS pour un même num_finess. Primitive brute SANS interprétation métier — retourne juste les deu"},{"name":"compare_adresse_cnam_vs_finess","description":"Compare l'adresse d'un centre de santé côté CNAM (Annuaire santé Ameli) vs FINESS DREES pour un même num_finess. Primitive brute SANS interprétation métier — re"},{"name":"historique_etablissement","description":"Reconstitue la timeline complète d'un établissement de santé (ouvertures, fermetures, changements de NAF/enseigne) en croisant FINESS DREES ↔ resolver SIRET (RP"},{"name":"reconcilier_finess_sirene","description":"Croise FINESS DREES ↔ SIRENE INSEE V3.11 et calcule un score de cohérence (Sørensen-Dice sur bigrammes) pour chaque SIRET candidat. Utile pour confirmer/infirme"},{"name":"verifier_site_actif","description":"Vérifie si un établissement de santé FINESS est encore en activité en croisant FINESS DREES ↔ RPPS (pivot SIRET) ↔ DINUM (liste complète des SIRET du SIREN, inc"},{"name":"etablissement_by_siret","description":"Récupère le détail d'un établissement par son SIRET (14 chiffres) via l'API SIRENE INSEE V3.11 : raison sociale de l'unité légale, enseigne commerciale, NAF de "},{"name":"etablissements_finess_in_radius","description":"Recherche d'établissements de santé FINESS dans un rayon géographique (PostGIS ST_DWithin). Filtrable par familles. 24 valeurs disponibles : mco, ssr, sld, had,"},{"name":"etablissements_finess_by_categorie","description":"Liste des établissements FINESS par famille, avec filtre département ou commune optionnel. Pas de rayon — pour énumération exhaustive d'une zone administrative."},{"name":"etablissement_by_finess","description":"Récupère le détail complet d'un établissement de santé par son numéro FINESS (9 chiffres) : raison sociale, catégorie + famille, adresse complète (voie + CP + v"},{"name":"etablissement_finess_by_nom","description":"Cherche un établissement de santé par son NOM (« Institut Gustave Roussy », « Hôpital Foch », « Clinique Pasteur ») et rend ses fiches FINESS avec coordonnées e"},{"name":"centres_sante_in_radius","description":"Recherche des Centres de Santé (CDS) dans un rayon géographique (PostGIS ST_DWithin). Source : Annuaire santé Ameli, Assurance Maladie (mention obligatoire L.14"},{"name":"centres_sante_by_finess","description":"Récupère le détail d'un Centre de Santé (CDS) par son numéro FINESS. Différenciateur métier vs `etablissement_by_finess` : expose **carte_vitale**, **APCV**, et"},{"name":"professionnels_in_radius","description":"Recherche de professionnels de santé libéraux conventionnés dans un rayon géographique. Précision géo HYBRIDE depuis le géocodage BAN (Chantier C) : ~77 % des P"},{"name":"professionnels_par_specialite_dept","description":"Liste des professionnels de santé libéraux conventionnés d'un département, avec filtres optionnels par spécialité ou type de PS. Pour énumération administrative"},{"name":"lister_nomenclature","description":"Découverte des nomenclatures de codes du serveur (tool unique paramétré par `referentiel`) — à appeler avant de filtrer un autre tool plutôt que deviner les cod"},{"name":"professionnels_rpps_in_radius","description":"Trouve les PS dans un rayon via RPPS (Annuaire Santé ANS — **tous statuts** : libéraux + salariés + mixtes + remplaçants ; vs `professionnels_in_radius` Ameli ="},{"name":"professionnels_rpps_par_dept","description":"Liste tous les PS d'un département via RPPS (libéraux + salariés). Pour les libéraux conventionnés uniquement, préférer `professionnels_par_specialite_dept` (Am"},{"name":"rpps_dans_etablissement","description":"Liste les PS rattachés à un établissement FINESS (`num_finess` 9 chiffres). Pivot RPPS↔FINESS — répond à \"qui travaille dans ce labo / hôpital / clinique ?\". Le"},{"name":"densite_sante","description":"Densité de santé pour 100 000 habitants — `cible: professionnels` (RPPS) OU `cible: etablissements` (FINESS). Niveau **département** (`code_dept`) OU **commune*"},{"name":"panorama_sante_territoire","description":"Panorama santé d'une commune française en 1 appel (V0.9). Agrège en parallèle : population (INSEE Melodi), densités médecins + infirmiers + pharmaciens avec com"},{"name":"inspect_site","description":"Vue 360 d'un établissement de santé en 1 appel (V0.10). Pendant naturel de `panorama_sante_territoire` côté **site** : agrège en parallèle (a) identification FI"},{"name":"rpps_search_by_name","description":"Trouve un PS par identité (matching trigram tolérant aux accents/typos). Usage : \"Dr Martin à Paris\" → `nom: \"Martin\", departement: \"75\"`. Nom obligatoire ; `pr"},{"name":"professionnel_by_rpps","description":"Récupère la fiche complète d'un PS par identifiant national (`rpps_id` / IDNPS, 11 ou 12 chiffres — IDs émis depuis 2020 ont un préfixe `\"81\"` = 12 chars ; anci"},{"name":"finess_sirene_coverage_in_radius","description":"Compare la couverture du référentiel FINESS DREES (sites physiques agréés LBM/pharmacie/etc.) au référentiel SIRENE DINUM (SIRET physiques actifs au NAF cible) "},{"name":"panorama_implantation_complet","description":"Étude d'implantation labo en 1 appel (V0.23). Géocode l'adresse cible puis agrège EN PARALLÈLE 7 sections : `territoire` (densités PS commune vs national + étab"},{"name":"enrichir_concurrents","description":"Enquête approfondie sur le top concurrents (V0.23). Pour chaque FINESS : statut actif + taille d'équipe + historique récent (inspect_site), signal M&A — rebrand"},{"name":"dynamique_immobiliere","description":"Dynamique immobilière et potentiel de croissance d'une zone (point + rayon). Combine 3 sources officielles : permis de construire (Sit@del/SDES, maille COMMUNE "},{"name":"cout_foncier","description":"Coût du foncier d'une zone (point + rayon) : prix médian au m² RÉSIDENTIEL bâti — maisons + appartements UNIQUEMENT, PAS les locaux commerciaux/professionnels ("}],"toolCount":37,"toolsHash":"66f12dd33e051dbe42f825e443ad5d5ae9218874f2011b01dbf57ed0152bd785","serverName":"france-data-mcp","capabilities":["tools","resources","prompts"],"serverVersion":"0.31.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T14:31:35.634Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":43,"error":null,"detail":{"tools":[{"name":"autocomplete_commune","description":"Recherche de communes françaises par nom, code postal ou code INSEE. Idéal pour autocomplétion. Source : geo.api.gouv.fr (DINUM/Etalab).\n\nUn (au moins) parmi `n"},{"name":"get_commune_by_code","description":"Récupère une commune par son code INSEE. Retourne un objet `LookupResult` discriminé par `found`. `found: true` → champs commune à plat (nom, codesPostaux, cent"},{"name":"geocode_adresse","description":"Géocode une adresse française en coordonnées GPS. Source : IGN Géoplateforme (data.geopf.fr). Précision au numéro de rue.\n\nLe champ `score` (0-1) qualifie la fi"},{"name":"reverse_geocode","description":"Géocodage inverse : à partir de coordonnées GPS, retrouve l'adresse la plus proche. Source : IGN Géoplateforme. Couverture France métropolitaine + DOM uniquemen"},{"name":"population","description":"Population d'une COMMUNE (code INSEE 5 car.), d'un DÉPARTEMENT (2-3 car.) OU d'un IRIS infracommunal (9 car.) — granularité auto-détectée par la longueur du `co"},{"name":"profil_iris","description":"Profil démographique au grain QUARTIER (IRIS) — la « demande » d'un territoire (âge, CSP, familles, revenu), à croiser avec l'offre de soins pour l'aide à l'imp"},{"name":"entreprises_in_radius","description":"Recherche d'entreprises françaises avec filtres NAF, code postal, département ou rayon géographique. Couvre tous secteurs (santé via NAF 8690B, 4773Z, 8710A, 86"},{"name":"entreprise_by_siren","description":"Récupère le détail d'une entreprise française par son SIREN (9 chiffres) : raison sociale, NAF, finances historiques, dirigeants, établissements. Source : DINUM"},{"name":"data_freshness","description":"Retourne la fraîcheur des dumps de données ingérés côté serveur : FINESS / ANS (flux quotidien, ingéré le 1er et le 15 du mois), Annuaire Santé Ameli (hebdomada"},{"name":"compare_raison_sociale_finess_vs_rpps","description":"Compare la raison sociale FINESS DREES vs RPPS / Annuaire Santé ANS pour un même num_finess. Primitive brute SANS interprétation métier — retourne juste les deu"},{"name":"compare_adresse_cnam_vs_finess","description":"Compare l'adresse d'un centre de santé côté CNAM (Annuaire santé Ameli) vs FINESS DREES pour un même num_finess. Primitive brute SANS interprétation métier — re"},{"name":"historique_etablissement","description":"Reconstitue la timeline complète d'un établissement de santé (ouvertures, fermetures, changements de NAF/enseigne) en croisant FINESS DREES ↔ resolver SIRET (RP"},{"name":"reconcilier_finess_sirene","description":"Croise FINESS DREES ↔ SIRENE INSEE V3.11 et calcule un score de cohérence (Sørensen-Dice sur bigrammes) pour chaque SIRET candidat. Utile pour confirmer/infirme"},{"name":"verifier_site_actif","description":"Vérifie si un établissement de santé FINESS est encore en activité en croisant FINESS DREES ↔ RPPS (pivot SIRET) ↔ DINUM (liste complète des SIRET du SIREN, inc"},{"name":"etablissement_by_siret","description":"Récupère le détail d'un établissement par son SIRET (14 chiffres) via l'API SIRENE INSEE V3.11 : raison sociale de l'unité légale, enseigne commerciale, NAF de "},{"name":"etablissements_finess_in_radius","description":"Recherche d'établissements de santé FINESS dans un rayon géographique (PostGIS ST_DWithin). Filtrable par familles. 24 valeurs disponibles : mco, ssr, sld, had,"},{"name":"etablissements_finess_by_categorie","description":"Liste des établissements FINESS par famille, avec filtre département ou commune optionnel. Pas de rayon — pour énumération exhaustive d'une zone administrative."},{"name":"etablissement_by_finess","description":"Récupère le détail complet d'un établissement de santé par son numéro FINESS (9 chiffres) : raison sociale, catégorie + famille, adresse complète (voie + CP + v"},{"name":"etablissement_finess_by_nom","description":"Cherche un établissement de santé par son NOM (« Institut Gustave Roussy », « Hôpital Foch », « Clinique Pasteur ») et rend ses fiches FINESS avec coordonnées e"},{"name":"centres_sante_in_radius","description":"Recherche des Centres de Santé (CDS) dans un rayon géographique (PostGIS ST_DWithin). Source : Annuaire santé Ameli, Assurance Maladie (mention obligatoire L.14"},{"name":"centres_sante_by_finess","description":"Récupère le détail d'un Centre de Santé (CDS) par son numéro FINESS. Différenciateur métier vs `etablissement_by_finess` : expose **carte_vitale**, **APCV**, et"},{"name":"professionnels_in_radius","description":"Recherche de professionnels de santé libéraux conventionnés dans un rayon géographique. Précision géo HYBRIDE depuis le géocodage BAN (Chantier C) : ~77 % des P"},{"name":"professionnels_par_specialite_dept","description":"Liste des professionnels de santé libéraux conventionnés d'un département, avec filtres optionnels par spécialité ou type de PS. Pour énumération administrative"},{"name":"lister_nomenclature","description":"Découverte des nomenclatures de codes du serveur (tool unique paramétré par `referentiel`) — à appeler avant de filtrer un autre tool plutôt que deviner les cod"},{"name":"professionnels_rpps_in_radius","description":"Trouve les PS dans un rayon via RPPS (Annuaire Santé ANS — **tous statuts** : libéraux + salariés + mixtes + remplaçants ; vs `professionnels_in_radius` Ameli ="},{"name":"professionnels_rpps_par_dept","description":"Liste tous les PS d'un département via RPPS (libéraux + salariés). Pour les libéraux conventionnés uniquement, préférer `professionnels_par_specialite_dept` (Am"},{"name":"rpps_dans_etablissement","description":"Liste les PS rattachés à un établissement FINESS (`num_finess` 9 chiffres). Pivot RPPS↔FINESS — répond à \"qui travaille dans ce labo / hôpital / clinique ?\". Le"},{"name":"densite_sante","description":"Densité de santé pour 100 000 habitants — `cible: professionnels` (RPPS) OU `cible: etablissements` (FINESS). Niveau **département** (`code_dept`) OU **commune*"},{"name":"panorama_sante_territoire","description":"Panorama santé d'une commune française en 1 appel (V0.9). Agrège en parallèle : population (INSEE Melodi), densités médecins + infirmiers + pharmaciens avec com"},{"name":"inspect_site","description":"Vue 360 d'un établissement de santé en 1 appel (V0.10). Pendant naturel de `panorama_sante_territoire` côté **site** : agrège en parallèle (a) identification FI"},{"name":"rpps_search_by_name","description":"Trouve un PS par identité (matching trigram tolérant aux accents/typos). Usage : \"Dr Martin à Paris\" → `nom: \"Martin\", departement: \"75\"`. Nom obligatoire ; `pr"},{"name":"professionnel_by_rpps","description":"Récupère la fiche complète d'un PS par identifiant national (`rpps_id` / IDNPS, 11 ou 12 chiffres — IDs émis depuis 2020 ont un préfixe `\"81\"` = 12 chars ; anci"},{"name":"finess_sirene_coverage_in_radius","description":"Compare la couverture du référentiel FINESS DREES (sites physiques agréés LBM/pharmacie/etc.) au référentiel SIRENE DINUM (SIRET physiques actifs au NAF cible) "},{"name":"panorama_implantation_complet","description":"Étude d'implantation labo en 1 appel (V0.23). Géocode l'adresse cible puis agrège EN PARALLÈLE 7 sections : `territoire` (densités PS commune vs national + étab"},{"name":"enrichir_concurrents","description":"Enquête approfondie sur le top concurrents (V0.23). Pour chaque FINESS : statut actif + taille d'équipe + historique récent (inspect_site), signal M&A — rebrand"},{"name":"dynamique_immobiliere","description":"Dynamique immobilière et potentiel de croissance d'une zone (point + rayon). Combine 3 sources officielles : permis de construire (Sit@del/SDES, maille COMMUNE "},{"name":"cout_foncier","description":"Coût du foncier d'une zone (point + rayon) : prix médian au m² RÉSIDENTIEL bâti — maisons + appartements UNIQUEMENT, PAS les locaux commerciaux/professionnels ("}],"toolCount":37,"toolsHash":"66f12dd33e051dbe42f825e443ad5d5ae9218874f2011b01dbf57ed0152bd785","serverName":"france-data-mcp","capabilities":["tools","resources","prompts"],"serverVersion":"0.31.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T08:27:16.118Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":64,"error":null,"detail":{"tools":[{"name":"autocomplete_commune","description":"Recherche de communes françaises par nom, code postal ou code INSEE. Idéal pour autocomplétion. Source : geo.api.gouv.fr (DINUM/Etalab).\n\nUn (au moins) parmi `n"},{"name":"get_commune_by_code","description":"Récupère une commune par son code INSEE. Retourne un objet `LookupResult` discriminé par `found`. `found: true` → champs commune à plat (nom, codesPostaux, cent"},{"name":"geocode_adresse","description":"Géocode une adresse française en coordonnées GPS. Source : IGN Géoplateforme (data.geopf.fr). Précision au numéro de rue.\n\nLe champ `score` (0-1) qualifie la fi"},{"name":"reverse_geocode","description":"Géocodage inverse : à partir de coordonnées GPS, retrouve l'adresse la plus proche. Source : IGN Géoplateforme. Couverture France métropolitaine + DOM uniquemen"},{"name":"population","description":"Population d'une COMMUNE (code INSEE 5 car.), d'un DÉPARTEMENT (2-3 car.) OU d'un IRIS infracommunal (9 car.) — granularité auto-détectée par la longueur du `co"},{"name":"profil_iris","description":"Profil démographique au grain QUARTIER (IRIS) — la « demande » d'un territoire (âge, CSP, familles, revenu), à croiser avec l'offre de soins pour l'aide à l'imp"},{"name":"entreprises_in_radius","description":"Recherche d'entreprises françaises avec filtres NAF, code postal, département ou rayon géographique. Couvre tous secteurs (santé via NAF 8690B, 4773Z, 8710A, 86"},{"name":"entreprise_by_siren","description":"Récupère le détail d'une entreprise française par son SIREN (9 chiffres) : raison sociale, NAF, finances historiques, dirigeants, établissements. Source : DINUM"},{"name":"data_freshness","description":"Retourne la fraîcheur des dumps de données ingérés côté serveur : FINESS / ANS (flux quotidien, ingéré le 1er et le 15 du mois), Annuaire Santé Ameli (hebdomada"},{"name":"compare_raison_sociale_finess_vs_rpps","description":"Compare la raison sociale FINESS DREES vs RPPS / Annuaire Santé ANS pour un même num_finess. Primitive brute SANS interprétation métier — retourne juste les deu"},{"name":"compare_adresse_cnam_vs_finess","description":"Compare l'adresse d'un centre de santé côté CNAM (Annuaire santé Ameli) vs FINESS DREES pour un même num_finess. Primitive brute SANS interprétation métier — re"},{"name":"historique_etablissement","description":"Reconstitue la timeline complète d'un établissement de santé (ouvertures, fermetures, changements de NAF/enseigne) en croisant FINESS DREES ↔ resolver SIRET (RP"},{"name":"reconcilier_finess_sirene","description":"Croise FINESS DREES ↔ SIRENE INSEE V3.11 et calcule un score de cohérence (Sørensen-Dice sur bigrammes) pour chaque SIRET candidat. Utile pour confirmer/infirme"},{"name":"verifier_site_actif","description":"Vérifie si un établissement de santé FINESS est encore en activité en croisant FINESS DREES ↔ RPPS (pivot SIRET) ↔ DINUM (liste complète des SIRET du SIREN, inc"},{"name":"etablissement_by_siret","description":"Récupère le détail d'un établissement par son SIRET (14 chiffres) via l'API SIRENE INSEE V3.11 : raison sociale de l'unité légale, enseigne commerciale, NAF de "},{"name":"etablissements_finess_in_radius","description":"Recherche d'établissements de santé FINESS dans un rayon géographique (PostGIS ST_DWithin). Filtrable par familles. 24 valeurs disponibles : mco, ssr, sld, had,"},{"name":"etablissements_finess_by_categorie","description":"Liste des établissements FINESS par famille, avec filtre département ou commune optionnel. Pas de rayon — pour énumération exhaustive d'une zone administrative."},{"name":"etablissement_by_finess","description":"Récupère le détail complet d'un établissement de santé par son numéro FINESS (9 chiffres) : raison sociale, catégorie + famille, adresse complète (voie + CP + v"},{"name":"etablissement_finess_by_nom","description":"Cherche un établissement de santé par son NOM (« Institut Gustave Roussy », « Hôpital Foch », « Clinique Pasteur ») et rend ses fiches FINESS avec coordonnées e"},{"name":"centres_sante_in_radius","description":"Recherche des Centres de Santé (CDS) dans un rayon géographique (PostGIS ST_DWithin). Source : Annuaire santé Ameli, Assurance Maladie (mention obligatoire L.14"},{"name":"centres_sante_by_finess","description":"Récupère le détail d'un Centre de Santé (CDS) par son numéro FINESS. Différenciateur métier vs `etablissement_by_finess` : expose **carte_vitale**, **APCV**, et"},{"name":"professionnels_in_radius","description":"Recherche de professionnels de santé libéraux conventionnés dans un rayon géographique. Précision géo HYBRIDE depuis le géocodage BAN (Chantier C) : ~77 % des P"},{"name":"professionnels_par_specialite_dept","description":"Liste des professionnels de santé libéraux conventionnés d'un département, avec filtres optionnels par spécialité ou type de PS. Pour énumération administrative"},{"name":"lister_nomenclature","description":"Découverte des nomenclatures de codes du serveur (tool unique paramétré par `referentiel`) — à appeler avant de filtrer un autre tool plutôt que deviner les cod"},{"name":"professionnels_rpps_in_radius","description":"Trouve les PS dans un rayon via RPPS (Annuaire Santé ANS — **tous statuts** : libéraux + salariés + mixtes + remplaçants ; vs `professionnels_in_radius` Ameli ="},{"name":"professionnels_rpps_par_dept","description":"Liste tous les PS d'un département via RPPS (libéraux + salariés). Pour les libéraux conventionnés uniquement, préférer `professionnels_par_specialite_dept` (Am"},{"name":"rpps_dans_etablissement","description":"Liste les PS rattachés à un établissement FINESS (`num_finess` 9 chiffres). Pivot RPPS↔FINESS — répond à \"qui travaille dans ce labo / hôpital / clinique ?\". Le"},{"name":"densite_sante","description":"Densité de santé pour 100 000 habitants — `cible: professionnels` (RPPS) OU `cible: etablissements` (FINESS). Niveau **département** (`code_dept`) OU **commune*"},{"name":"panorama_sante_territoire","description":"Panorama santé d'une commune française en 1 appel (V0.9). Agrège en parallèle : population (INSEE Melodi), densités médecins + infirmiers + pharmaciens avec com"},{"name":"inspect_site","description":"Vue 360 d'un établissement de santé en 1 appel (V0.10). Pendant naturel de `panorama_sante_territoire` côté **site** : agrège en parallèle (a) identification FI"},{"name":"rpps_search_by_name","description":"Trouve un PS par identité (matching trigram tolérant aux accents/typos). Usage : \"Dr Martin à Paris\" → `nom: \"Martin\", departement: \"75\"`. Nom obligatoire ; `pr"},{"name":"professionnel_by_rpps","description":"Récupère la fiche complète d'un PS par identifiant national (`rpps_id` / IDNPS, 11 ou 12 chiffres — IDs émis depuis 2020 ont un préfixe `\"81\"` = 12 chars ; anci"},{"name":"finess_sirene_coverage_in_radius","description":"Compare la couverture du référentiel FINESS DREES (sites physiques agréés LBM/pharmacie/etc.) au référentiel SIRENE DINUM (SIRET physiques actifs au NAF cible) "},{"name":"panorama_implantation_complet","description":"Étude d'implantation labo en 1 appel (V0.23). Géocode l'adresse cible puis agrège EN PARALLÈLE 7 sections : `territoire` (densités PS commune vs national + étab"},{"name":"enrichir_concurrents","description":"Enquête approfondie sur le top concurrents (V0.23). Pour chaque FINESS : statut actif + taille d'équipe + historique récent (inspect_site), signal M&A — rebrand"},{"name":"dynamique_immobiliere","description":"Dynamique immobilière et potentiel de croissance d'une zone (point + rayon). Combine 3 sources officielles : permis de construire (Sit@del/SDES, maille COMMUNE "},{"name":"cout_foncier","description":"Coût du foncier d'une zone (point + rayon) : prix médian au m² RÉSIDENTIEL bâti — maisons + appartements UNIQUEMENT, PAS les locaux commerciaux/professionnels ("}],"toolCount":37,"toolsHash":"66f12dd33e051dbe42f825e443ad5d5ae9218874f2011b01dbf57ed0152bd785","serverName":"france-data-mcp","capabilities":["tools","resources","prompts"],"serverVersion":"0.31.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T01:24:51.947Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":45,"error":null,"detail":{"tools":[{"name":"autocomplete_commune","description":"Recherche de communes françaises par nom, code postal ou code INSEE. Idéal pour autocomplétion. Source : geo.api.gouv.fr (DINUM/Etalab).\n\nUn (au moins) parmi `n"},{"name":"get_commune_by_code","description":"Récupère une commune par son code INSEE. Retourne un objet `LookupResult` discriminé par `found`. `found: true` → champs commune à plat (nom, codesPostaux, cent"},{"name":"geocode_adresse","description":"Géocode une adresse française en coordonnées GPS. Source : IGN Géoplateforme (data.geopf.fr). Précision au numéro de rue.\n\nLe champ `score` (0-1) qualifie la fi"},{"name":"reverse_geocode","description":"Géocodage inverse : à partir de coordonnées GPS, retrouve l'adresse la plus proche. Source : IGN Géoplateforme. Couverture France métropolitaine + DOM uniquemen"},{"name":"population","description":"Population d'une COMMUNE (code INSEE 5 car.), d'un DÉPARTEMENT (2-3 car.) OU d'un IRIS infracommunal (9 car.) — granularité auto-détectée par la longueur du `co"},{"name":"profil_iris","description":"Profil démographique au grain QUARTIER (IRIS) — la « demande » d'un territoire (âge, CSP, familles, revenu), à croiser avec l'offre de soins pour l'aide à l'imp"},{"name":"entreprises_in_radius","description":"Recherche d'entreprises françaises avec filtres NAF, code postal, département ou rayon géographique. Couvre tous secteurs (santé via NAF 8690B, 4773Z, 8710A, 86"},{"name":"entreprise_by_siren","description":"Récupère le détail d'une entreprise française par son SIREN (9 chiffres) : raison sociale, NAF, finances historiques, dirigeants, établissements. Source : DINUM"},{"name":"data_freshness","description":"Retourne la fraîcheur des dumps de données ingérés côté serveur : FINESS / ANS (flux quotidien, ingéré le 1er et le 15 du mois), Annuaire Santé Ameli (hebdomada"},{"name":"compare_raison_sociale_finess_vs_rpps","description":"Compare la raison sociale FINESS DREES vs RPPS / Annuaire Santé ANS pour un même num_finess. Primitive brute SANS interprétation métier — retourne juste les deu"},{"name":"compare_adresse_cnam_vs_finess","description":"Compare l'adresse d'un centre de santé côté CNAM (Annuaire santé Ameli) vs FINESS DREES pour un même num_finess. Primitive brute SANS interprétation métier — re"},{"name":"historique_etablissement","description":"Reconstitue la timeline complète d'un établissement de santé (ouvertures, fermetures, changements de NAF/enseigne) en croisant FINESS DREES ↔ resolver SIRET (RP"},{"name":"reconcilier_finess_sirene","description":"Croise FINESS DREES ↔ SIRENE INSEE V3.11 et calcule un score de cohérence (Sørensen-Dice sur bigrammes) pour chaque SIRET candidat. Utile pour confirmer/infirme"},{"name":"verifier_site_actif","description":"Vérifie si un établissement de santé FINESS est encore en activité en croisant FINESS DREES ↔ RPPS (pivot SIRET) ↔ DINUM (liste complète des SIRET du SIREN, inc"},{"name":"etablissement_by_siret","description":"Récupère le détail d'un établissement par son SIRET (14 chiffres) via l'API SIRENE INSEE V3.11 : raison sociale de l'unité légale, enseigne commerciale, NAF de "},{"name":"etablissements_finess_in_radius","description":"Recherche d'établissements de santé FINESS dans un rayon géographique (PostGIS ST_DWithin). Filtrable par familles. 24 valeurs disponibles : mco, ssr, sld, had,"},{"name":"etablissements_finess_by_categorie","description":"Liste des établissements FINESS par famille, avec filtre département ou commune optionnel. Pas de rayon — pour énumération exhaustive d'une zone administrative."},{"name":"etablissement_by_finess","description":"Récupère le détail complet d'un établissement de santé par son numéro FINESS (9 chiffres) : raison sociale, catégorie + famille, adresse complète (voie + CP + v"},{"name":"etablissement_finess_by_nom","description":"Cherche un établissement de santé par son NOM (« Institut Gustave Roussy », « Hôpital Foch », « Clinique Pasteur ») et rend ses fiches FINESS avec coordonnées e"},{"name":"centres_sante_in_radius","description":"Recherche des Centres de Santé (CDS) dans un rayon géographique (PostGIS ST_DWithin). Source : Annuaire santé Ameli, Assurance Maladie (mention obligatoire L.14"},{"name":"centres_sante_by_finess","description":"Récupère le détail d'un Centre de Santé (CDS) par son numéro FINESS. Différenciateur métier vs `etablissement_by_finess` : expose **carte_vitale**, **APCV**, et"},{"name":"professionnels_in_radius","description":"Recherche de professionnels de santé libéraux conventionnés dans un rayon géographique. Précision géo HYBRIDE depuis le géocodage BAN (Chantier C) : ~77 % des P"},{"name":"professionnels_par_specialite_dept","description":"Liste des professionnels de santé libéraux conventionnés d'un département, avec filtres optionnels par spécialité ou type de PS. Pour énumération administrative"},{"name":"lister_nomenclature","description":"Découverte des nomenclatures de codes du serveur (tool unique paramétré par `referentiel`) — à appeler avant de filtrer un autre tool plutôt que deviner les cod"},{"name":"professionnels_rpps_in_radius","description":"Trouve les PS dans un rayon via RPPS (Annuaire Santé ANS — **tous statuts** : libéraux + salariés + mixtes + remplaçants ; vs `professionnels_in_radius` Ameli ="},{"name":"professionnels_rpps_par_dept","description":"Liste tous les PS d'un département via RPPS (libéraux + salariés). Pour les libéraux conventionnés uniquement, préférer `professionnels_par_specialite_dept` (Am"},{"name":"rpps_dans_etablissement","description":"Liste les PS rattachés à un établissement FINESS (`num_finess` 9 chiffres). Pivot RPPS↔FINESS — répond à \"qui travaille dans ce labo / hôpital / clinique ?\". Le"},{"name":"densite_sante","description":"Densité de santé pour 100 000 habitants — `cible: professionnels` (RPPS) OU `cible: etablissements` (FINESS). Niveau **département** (`code_dept`) OU **commune*"},{"name":"panorama_sante_territoire","description":"Panorama santé d'une commune française en 1 appel (V0.9). Agrège en parallèle : population (INSEE Melodi), densités médecins + infirmiers + pharmaciens avec com"},{"name":"inspect_site","description":"Vue 360 d'un établissement de santé en 1 appel (V0.10). Pendant naturel de `panorama_sante_territoire` côté **site** : agrège en parallèle (a) identification FI"},{"name":"rpps_search_by_name","description":"Trouve un PS par identité (matching trigram tolérant aux accents/typos). Usage : \"Dr Martin à Paris\" → `nom: \"Martin\", departement: \"75\"`. Nom obligatoire ; `pr"},{"name":"professionnel_by_rpps","description":"Récupère la fiche complète d'un PS par identifiant national (`rpps_id` / IDNPS, 11 ou 12 chiffres — IDs émis depuis 2020 ont un préfixe `\"81\"` = 12 chars ; anci"},{"name":"finess_sirene_coverage_in_radius","description":"Compare la couverture du référentiel FINESS DREES (sites physiques agréés LBM/pharmacie/etc.) au référentiel SIRENE DINUM (SIRET physiques actifs au NAF cible) "},{"name":"panorama_implantation_complet","description":"Étude d'implantation labo en 1 appel (V0.23). Géocode l'adresse cible puis agrège EN PARALLÈLE 7 sections : `territoire` (densités PS commune vs national + étab"},{"name":"enrichir_concurrents","description":"Enquête approfondie sur le top concurrents (V0.23). Pour chaque FINESS : statut actif + taille d'équipe + historique récent (inspect_site), signal M&A — rebrand"},{"name":"dynamique_immobiliere","description":"Dynamique immobilière et potentiel de croissance d'une zone (point + rayon). Combine 3 sources officielles : permis de construire (Sit@del/SDES, maille COMMUNE "},{"name":"cout_foncier","description":"Coût du foncier d'une zone (point + rayon) : prix médian au m² RÉSIDENTIEL bâti — maisons + appartements UNIQUEMENT, PAS les locaux commerciaux/professionnels ("}],"toolCount":37,"toolsHash":"66f12dd33e051dbe42f825e443ad5d5ae9218874f2011b01dbf57ed0152bd785","serverName":"france-data-mcp","capabilities":["tools","resources","prompts"],"serverVersion":"0.31.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T18:27:50.554Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":84,"error":null,"detail":{"tools":[{"name":"autocomplete_commune","description":"Recherche de communes françaises par nom, code postal ou code INSEE. Idéal pour autocomplétion. Source : geo.api.gouv.fr (DINUM/Etalab).\n\nUn (au moins) parmi `n"},{"name":"get_commune_by_code","description":"Récupère une commune par son code INSEE. Retourne un objet `LookupResult` discriminé par `found`. `found: true` → champs commune à plat (nom, codesPostaux, cent"},{"name":"geocode_adresse","description":"Géocode une adresse française en coordonnées GPS. Source : IGN Géoplateforme (data.geopf.fr). Précision au numéro de rue.\n\nLe champ `score` (0-1) qualifie la fi"},{"name":"reverse_geocode","description":"Géocodage inverse : à partir de coordonnées GPS, retrouve l'adresse la plus proche. Source : IGN Géoplateforme. Couverture France métropolitaine + DOM uniquemen"},{"name":"population","description":"Population d'une COMMUNE (code INSEE 5 car.), d'un DÉPARTEMENT (2-3 car.) OU d'un IRIS infracommunal (9 car.) — granularité auto-détectée par la longueur du `co"},{"name":"profil_iris","description":"Profil démographique au grain QUARTIER (IRIS) — la « demande » d'un territoire (âge, CSP, familles, revenu), à croiser avec l'offre de soins pour l'aide à l'imp"},{"name":"entreprises_in_radius","description":"Recherche d'entreprises françaises avec filtres NAF, code postal, département ou rayon géographique. Couvre tous secteurs (santé via NAF 8690B, 4773Z, 8710A, 86"},{"name":"entreprise_by_siren","description":"Récupère le détail d'une entreprise française par son SIREN (9 chiffres) : raison sociale, NAF, finances historiques, dirigeants, établissements. Source : DINUM"},{"name":"data_freshness","description":"Retourne la fraîcheur des dumps de données ingérés côté serveur : FINESS / ANS (flux quotidien, ingéré le 1er et le 15 du mois), Annuaire Santé Ameli (hebdomada"},{"name":"compare_raison_sociale_finess_vs_rpps","description":"Compare la raison sociale FINESS DREES vs RPPS / Annuaire Santé ANS pour un même num_finess. Primitive brute SANS interprétation métier — retourne juste les deu"},{"name":"compare_adresse_cnam_vs_finess","description":"Compare l'adresse d'un centre de santé côté CNAM (Annuaire santé Ameli) vs FINESS DREES pour un même num_finess. Primitive brute SANS interprétation métier — re"},{"name":"historique_etablissement","description":"Reconstitue la timeline complète d'un établissement de santé (ouvertures, fermetures, changements de NAF/enseigne) en croisant FINESS DREES ↔ resolver SIRET (RP"},{"name":"reconcilier_finess_sirene","description":"Croise FINESS DREES ↔ SIRENE INSEE V3.11 et calcule un score de cohérence (Sørensen-Dice sur bigrammes) pour chaque SIRET candidat. Utile pour confirmer/infirme"},{"name":"verifier_site_actif","description":"Vérifie si un établissement de santé FINESS est encore en activité en croisant FINESS DREES ↔ RPPS (pivot SIRET) ↔ DINUM (liste complète des SIRET du SIREN, inc"},{"name":"etablissement_by_siret","description":"Récupère le détail d'un établissement par son SIRET (14 chiffres) via l'API SIRENE INSEE V3.11 : raison sociale de l'unité légale, enseigne commerciale, NAF de "},{"name":"etablissements_finess_in_radius","description":"Recherche d'établissements de santé FINESS dans un rayon géographique (PostGIS ST_DWithin). Filtrable par familles. 24 valeurs disponibles : mco, ssr, sld, had,"},{"name":"etablissements_finess_by_categorie","description":"Liste des établissements FINESS par famille, avec filtre département ou commune optionnel. Pas de rayon — pour énumération exhaustive d'une zone administrative."},{"name":"etablissement_by_finess","description":"Récupère le détail complet d'un établissement de santé par son numéro FINESS (9 chiffres) : raison sociale, catégorie + famille, adresse complète (voie + CP + v"},{"name":"etablissement_finess_by_nom","description":"Cherche un établissement de santé par son NOM (« Institut Gustave Roussy », « Hôpital Foch », « Clinique Pasteur ») et rend ses fiches FINESS avec coordonnées e"},{"name":"centres_sante_in_radius","description":"Recherche des Centres de Santé (CDS) dans un rayon géographique (PostGIS ST_DWithin). Source : Annuaire santé Ameli, Assurance Maladie (mention obligatoire L.14"},{"name":"centres_sante_by_finess","description":"Récupère le détail d'un Centre de Santé (CDS) par son numéro FINESS. Différenciateur métier vs `etablissement_by_finess` : expose **carte_vitale**, **APCV**, et"},{"name":"professionnels_in_radius","description":"Recherche de professionnels de santé libéraux conventionnés dans un rayon géographique. Précision géo HYBRIDE depuis le géocodage BAN (Chantier C) : ~77 % des P"},{"name":"professionnels_par_specialite_dept","description":"Liste des professionnels de santé libéraux conventionnés d'un département, avec filtres optionnels par spécialité ou type de PS. Pour énumération administrative"},{"name":"lister_nomenclature","description":"Découverte des nomenclatures de codes du serveur (tool unique paramétré par `referentiel`) — à appeler avant de filtrer un autre tool plutôt que deviner les cod"},{"name":"professionnels_rpps_in_radius","description":"Trouve les PS dans un rayon via RPPS (Annuaire Santé ANS — **tous statuts** : libéraux + salariés + mixtes + remplaçants ; vs `professionnels_in_radius` Ameli ="},{"name":"professionnels_rpps_par_dept","description":"Liste tous les PS d'un département via RPPS (libéraux + salariés). Pour les libéraux conventionnés uniquement, préférer `professionnels_par_specialite_dept` (Am"},{"name":"rpps_dans_etablissement","description":"Liste les PS rattachés à un établissement FINESS (`num_finess` 9 chiffres). Pivot RPPS↔FINESS — répond à \"qui travaille dans ce labo / hôpital / clinique ?\". Le"},{"name":"densite_sante","description":"Densité de santé pour 100 000 habitants — `cible: professionnels` (RPPS) OU `cible: etablissements` (FINESS). Niveau **département** (`code_dept`) OU **commune*"},{"name":"panorama_sante_territoire","description":"Panorama santé d'une commune française en 1 appel (V0.9). Agrège en parallèle : population (INSEE Melodi), densités médecins + infirmiers + pharmaciens avec com"},{"name":"inspect_site","description":"Vue 360 d'un établissement de santé en 1 appel (V0.10). Pendant naturel de `panorama_sante_territoire` côté **site** : agrège en parallèle (a) identification FI"},{"name":"rpps_search_by_name","description":"Trouve un PS par identité (matching trigram tolérant aux accents/typos). Usage : \"Dr Martin à Paris\" → `nom: \"Martin\", departement: \"75\"`. Nom obligatoire ; `pr"},{"name":"professionnel_by_rpps","description":"Récupère la fiche complète d'un PS par identifiant national (`rpps_id` / IDNPS, 11 ou 12 chiffres — IDs émis depuis 2020 ont un préfixe `\"81\"` = 12 chars ; anci"},{"name":"finess_sirene_coverage_in_radius","description":"Compare la couverture du référentiel FINESS DREES (sites physiques agréés LBM/pharmacie/etc.) au référentiel SIRENE DINUM (SIRET physiques actifs au NAF cible) "},{"name":"panorama_implantation_complet","description":"Étude d'implantation labo en 1 appel (V0.23). Géocode l'adresse cible puis agrège EN PARALLÈLE 7 sections : `territoire` (densités PS commune vs national + étab"},{"name":"enrichir_concurrents","description":"Enquête approfondie sur le top concurrents (V0.23). Pour chaque FINESS : statut actif + taille d'équipe + historique récent (inspect_site), signal M&A — rebrand"},{"name":"dynamique_immobiliere","description":"Dynamique immobilière et potentiel de croissance d'une zone (point + rayon). Combine 3 sources officielles : permis de construire (Sit@del/SDES, maille COMMUNE "},{"name":"cout_foncier","description":"Coût du foncier d'une zone (point + rayon) : prix médian au m² RÉSIDENTIEL bâti — maisons + appartements UNIQUEMENT, PAS les locaux commerciaux/professionnels ("}],"toolCount":37,"toolsHash":"66f12dd33e051dbe42f825e443ad5d5ae9218874f2011b01dbf57ed0152bd785","serverName":"france-data-mcp","capabilities":["tools","resources","prompts"],"serverVersion":"0.31.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T12:25:48.765Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":96,"error":null,"detail":{"tools":[{"name":"autocomplete_commune","description":"Recherche de communes françaises par nom, code postal ou code INSEE. Idéal pour autocomplétion. Source : geo.api.gouv.fr (DINUM/Etalab).\n\nUn (au moins) parmi `n"},{"name":"get_commune_by_code","description":"Récupère une commune par son code INSEE. Retourne un objet `LookupResult` discriminé par `found`. `found: true` → champs commune à plat (nom, codesPostaux, cent"},{"name":"geocode_adresse","description":"Géocode une adresse française en coordonnées GPS. Source : IGN Géoplateforme (data.geopf.fr). Précision au numéro de rue.\n\nLe champ `score` (0-1) qualifie la fi"},{"name":"reverse_geocode","description":"Géocodage inverse : à partir de coordonnées GPS, retrouve l'adresse la plus proche. Source : IGN Géoplateforme. Couverture France métropolitaine + DOM uniquemen"},{"name":"population","description":"Population d'une COMMUNE (code INSEE 5 car.), d'un DÉPARTEMENT (2-3 car.) OU d'un IRIS infracommunal (9 car.) — granularité auto-détectée par la longueur du `co"},{"name":"profil_iris","description":"Profil démographique au grain QUARTIER (IRIS) — la « demande » d'un territoire (âge, CSP, familles, revenu), à croiser avec l'offre de soins pour l'aide à l'imp"},{"name":"entreprises_in_radius","description":"Recherche d'entreprises françaises avec filtres NAF, code postal, département ou rayon géographique. Couvre tous secteurs (santé via NAF 8690B, 4773Z, 8710A, 86"},{"name":"entreprise_by_siren","description":"Récupère le détail d'une entreprise française par son SIREN (9 chiffres) : raison sociale, NAF, finances historiques, dirigeants, établissements. Source : DINUM"},{"name":"data_freshness","description":"Retourne la fraîcheur des dumps de données ingérés côté serveur : FINESS / ANS (flux quotidien, ingéré le 1er et le 15 du mois), Annuaire Santé Ameli (hebdomada"},{"name":"compare_raison_sociale_finess_vs_rpps","description":"Compare la raison sociale FINESS DREES vs RPPS / Annuaire Santé ANS pour un même num_finess. Primitive brute SANS interprétation métier — retourne juste les deu"},{"name":"compare_adresse_cnam_vs_finess","description":"Compare l'adresse d'un centre de santé côté CNAM (Annuaire santé Ameli) vs FINESS DREES pour un même num_finess. Primitive brute SANS interprétation métier — re"},{"name":"historique_etablissement","description":"Reconstitue la timeline complète d'un établissement de santé (ouvertures, fermetures, changements de NAF/enseigne) en croisant FINESS DREES ↔ resolver SIRET (RP"},{"name":"reconcilier_finess_sirene","description":"Croise FINESS DREES ↔ SIRENE INSEE V3.11 et calcule un score de cohérence (Sørensen-Dice sur bigrammes) pour chaque SIRET candidat. Utile pour confirmer/infirme"},{"name":"verifier_site_actif","description":"Vérifie si un établissement de santé FINESS est encore en activité en croisant FINESS DREES ↔ RPPS (pivot SIRET) ↔ DINUM (liste complète des SIRET du SIREN, inc"},{"name":"etablissement_by_siret","description":"Récupère le détail d'un établissement par son SIRET (14 chiffres) via l'API SIRENE INSEE V3.11 : raison sociale de l'unité légale, enseigne commerciale, NAF de "},{"name":"etablissements_finess_in_radius","description":"Recherche d'établissements de santé FINESS dans un rayon géographique (PostGIS ST_DWithin). Filtrable par familles. 24 valeurs disponibles : mco, ssr, sld, had,"},{"name":"etablissements_finess_by_categorie","description":"Liste des établissements FINESS par famille, avec filtre département ou commune optionnel. Pas de rayon — pour énumération exhaustive d'une zone administrative."},{"name":"etablissement_by_finess","description":"Récupère le détail complet d'un établissement de santé par son numéro FINESS (9 chiffres) : raison sociale, catégorie + famille, adresse complète (voie + CP + v"},{"name":"etablissement_finess_by_nom","description":"Cherche un établissement de santé par son NOM (« Institut Gustave Roussy », « Hôpital Foch », « Clinique Pasteur ») et rend ses fiches FINESS avec coordonnées e"},{"name":"centres_sante_in_radius","description":"Recherche des Centres de Santé (CDS) dans un rayon géographique (PostGIS ST_DWithin). Source : Annuaire santé Ameli, Assurance Maladie (mention obligatoire L.14"},{"name":"centres_sante_by_finess","description":"Récupère le détail d'un Centre de Santé (CDS) par son numéro FINESS. Différenciateur métier vs `etablissement_by_finess` : expose **carte_vitale**, **APCV**, et"},{"name":"professionnels_in_radius","description":"Recherche de professionnels de santé libéraux conventionnés dans un rayon géographique. Précision géo HYBRIDE depuis le géocodage BAN (Chantier C) : ~77 % des P"},{"name":"professionnels_par_specialite_dept","description":"Liste des professionnels de santé libéraux conventionnés d'un département, avec filtres optionnels par spécialité ou type de PS. Pour énumération administrative"},{"name":"lister_nomenclature","description":"Découverte des nomenclatures de codes du serveur (tool unique paramétré par `referentiel`) — à appeler avant de filtrer un autre tool plutôt que deviner les cod"},{"name":"professionnels_rpps_in_radius","description":"Trouve les PS dans un rayon via RPPS (Annuaire Santé ANS — **tous statuts** : libéraux + salariés + mixtes + remplaçants ; vs `professionnels_in_radius` Ameli ="},{"name":"professionnels_rpps_par_dept","description":"Liste tous les PS d'un département via RPPS (libéraux + salariés). Pour les libéraux conventionnés uniquement, préférer `professionnels_par_specialite_dept` (Am"},{"name":"rpps_dans_etablissement","description":"Liste les PS rattachés à un établissement FINESS (`num_finess` 9 chiffres). Pivot RPPS↔FINESS — répond à \"qui travaille dans ce labo / hôpital / clinique ?\". Le"},{"name":"densite_sante","description":"Densité de santé pour 100 000 habitants — `cible: professionnels` (RPPS) OU `cible: etablissements` (FINESS). Niveau **département** (`code_dept`) OU **commune*"},{"name":"panorama_sante_territoire","description":"Panorama santé d'une commune française en 1 appel (V0.9). Agrège en parallèle : population (INSEE Melodi), densités médecins + infirmiers + pharmaciens avec com"},{"name":"inspect_site","description":"Vue 360 d'un établissement de santé en 1 appel (V0.10). Pendant naturel de `panorama_sante_territoire` côté **site** : agrège en parallèle (a) identification FI"},{"name":"rpps_search_by_name","description":"Trouve un PS par identité (matching trigram tolérant aux accents/typos). Usage : \"Dr Martin à Paris\" → `nom: \"Martin\", departement: \"75\"`. Nom obligatoire ; `pr"},{"name":"professionnel_by_rpps","description":"Récupère la fiche complète d'un PS par identifiant national (`rpps_id` / IDNPS, 11 ou 12 chiffres — IDs émis depuis 2020 ont un préfixe `\"81\"` = 12 chars ; anci"},{"name":"finess_sirene_coverage_in_radius","description":"Compare la couverture du référentiel FINESS DREES (sites physiques agréés LBM/pharmacie/etc.) au référentiel SIRENE DINUM (SIRET physiques actifs au NAF cible) "},{"name":"panorama_implantation_complet","description":"Étude d'implantation labo en 1 appel (V0.23). Géocode l'adresse cible puis agrège EN PARALLÈLE 7 sections : `territoire` (densités PS commune vs national + étab"},{"name":"enrichir_concurrents","description":"Enquête approfondie sur le top concurrents (V0.23). Pour chaque FINESS : statut actif + taille d'équipe + historique récent (inspect_site), signal M&A — rebrand"},{"name":"dynamique_immobiliere","description":"Dynamique immobilière et potentiel de croissance d'une zone (point + rayon). Combine 3 sources officielles : permis de construire (Sit@del/SDES, maille COMMUNE "},{"name":"cout_foncier","description":"Coût du foncier d'une zone (point + rayon) : prix médian au m² RÉSIDENTIEL bâti — maisons + appartements UNIQUEMENT, PAS les locaux commerciaux/professionnels ("}],"toolCount":37,"toolsHash":"66f12dd33e051dbe42f825e443ad5d5ae9218874f2011b01dbf57ed0152bd785","serverName":"france-data-mcp","capabilities":["tools","resources","prompts"],"serverVersion":"0.31.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T05:21:55.559Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":39,"error":null,"detail":{"tools":[{"name":"autocomplete_commune","description":"Recherche de communes françaises par nom, code postal ou code INSEE. Idéal pour autocomplétion. Source : geo.api.gouv.fr (DINUM/Etalab).\n\nUn (au moins) parmi `n"},{"name":"get_commune_by_code","description":"Récupère une commune par son code INSEE. Retourne un objet `LookupResult` discriminé par `found`. `found: true` → champs commune à plat (nom, codesPostaux, cent"},{"name":"geocode_adresse","description":"Géocode une adresse française en coordonnées GPS. Source : IGN Géoplateforme (data.geopf.fr). Précision au numéro de rue.\n\nLe champ `score` (0-1) qualifie la fi"},{"name":"reverse_geocode","description":"Géocodage inverse : à partir de coordonnées GPS, retrouve l'adresse la plus proche. Source : IGN Géoplateforme. Couverture France métropolitaine + DOM uniquemen"},{"name":"population","description":"Population d'une COMMUNE (code INSEE 5 car.), d'un DÉPARTEMENT (2-3 car.) OU d'un IRIS infracommunal (9 car.) — granularité auto-détectée par la longueur du `co"},{"name":"profil_iris","description":"Profil démographique au grain QUARTIER (IRIS) — la « demande » d'un territoire (âge, CSP, familles, revenu), à croiser avec l'offre de soins pour l'aide à l'imp"},{"name":"entreprises_in_radius","description":"Recherche d'entreprises françaises avec filtres NAF, code postal, département ou rayon géographique. Couvre tous secteurs (santé via NAF 8690B, 4773Z, 8710A, 86"},{"name":"entreprise_by_siren","description":"Récupère le détail d'une entreprise française par son SIREN (9 chiffres) : raison sociale, NAF, finances historiques, dirigeants, établissements. Source : DINUM"},{"name":"data_freshness","description":"Retourne la fraîcheur des dumps de données ingérés côté serveur : FINESS / ANS (flux quotidien, ingéré le 1er et le 15 du mois), Annuaire Santé Ameli (hebdomada"},{"name":"compare_raison_sociale_finess_vs_rpps","description":"Compare la raison sociale FINESS DREES vs RPPS / Annuaire Santé ANS pour un même num_finess. Primitive brute SANS interprétation métier — retourne juste les deu"},{"name":"compare_adresse_cnam_vs_finess","description":"Compare l'adresse d'un centre de santé côté CNAM (Annuaire santé Ameli) vs FINESS DREES pour un même num_finess. Primitive brute SANS interprétation métier — re"},{"name":"historique_etablissement","description":"Reconstitue la timeline complète d'un établissement de santé (ouvertures, fermetures, changements de NAF/enseigne) en croisant FINESS DREES ↔ resolver SIRET (RP"},{"name":"reconcilier_finess_sirene","description":"Croise FINESS DREES ↔ SIRENE INSEE V3.11 et calcule un score de cohérence (Sørensen-Dice sur bigrammes) pour chaque SIRET candidat. Utile pour confirmer/infirme"},{"name":"verifier_site_actif","description":"Vérifie si un établissement de santé FINESS est encore en activité en croisant FINESS DREES ↔ RPPS (pivot SIRET) ↔ DINUM (liste complète des SIRET du SIREN, inc"},{"name":"etablissement_by_siret","description":"Récupère le détail d'un établissement par son SIRET (14 chiffres) via l'API SIRENE INSEE V3.11 : raison sociale de l'unité légale, enseigne commerciale, NAF de "},{"name":"etablissements_finess_in_radius","description":"Recherche d'établissements de santé FINESS dans un rayon géographique (PostGIS ST_DWithin). Filtrable par familles. 24 valeurs disponibles : mco, ssr, sld, had,"},{"name":"etablissements_finess_by_categorie","description":"Liste des établissements FINESS par famille, avec filtre département ou commune optionnel. Pas de rayon — pour énumération exhaustive d'une zone administrative."},{"name":"etablissement_by_finess","description":"Récupère le détail complet d'un établissement de santé par son numéro FINESS (9 chiffres) : raison sociale, catégorie + famille, adresse complète (voie + CP + v"},{"name":"etablissement_finess_by_nom","description":"Cherche un établissement de santé par son NOM (« Institut Gustave Roussy », « Hôpital Foch », « Clinique Pasteur ») et rend ses fiches FINESS avec coordonnées e"},{"name":"centres_sante_in_radius","description":"Recherche des Centres de Santé (CDS) dans un rayon géographique (PostGIS ST_DWithin). Source : Annuaire santé Ameli, Assurance Maladie (mention obligatoire L.14"},{"name":"centres_sante_by_finess","description":"Récupère le détail d'un Centre de Santé (CDS) par son numéro FINESS. Différenciateur métier vs `etablissement_by_finess` : expose **carte_vitale**, **APCV**, et"},{"name":"professionnels_in_radius","description":"Recherche de professionnels de santé libéraux conventionnés dans un rayon géographique. Précision géo HYBRIDE depuis le géocodage BAN (Chantier C) : ~77 % des P"},{"name":"professionnels_par_specialite_dept","description":"Liste des professionnels de santé libéraux conventionnés d'un département, avec filtres optionnels par spécialité ou type de PS. Pour énumération administrative"},{"name":"lister_nomenclature","description":"Découverte des nomenclatures de codes du serveur (tool unique paramétré par `referentiel`) — à appeler avant de filtrer un autre tool plutôt que deviner les cod"},{"name":"professionnels_rpps_in_radius","description":"Trouve les PS dans un rayon via RPPS (Annuaire Santé ANS — **tous statuts** : libéraux + salariés + mixtes + remplaçants ; vs `professionnels_in_radius` Ameli ="},{"name":"professionnels_rpps_par_dept","description":"Liste tous les PS d'un département via RPPS (libéraux + salariés). Pour les libéraux conventionnés uniquement, préférer `professionnels_par_specialite_dept` (Am"},{"name":"rpps_dans_etablissement","description":"Liste les PS rattachés à un établissement FINESS (`num_finess` 9 chiffres). Pivot RPPS↔FINESS — répond à \"qui travaille dans ce labo / hôpital / clinique ?\". Le"},{"name":"densite_sante","description":"Densité de santé pour 100 000 habitants — `cible: professionnels` (RPPS) OU `cible: etablissements` (FINESS). Niveau **département** (`code_dept`) OU **commune*"},{"name":"panorama_sante_territoire","description":"Panorama santé d'une commune française en 1 appel (V0.9). Agrège en parallèle : population (INSEE Melodi), densités médecins + infirmiers + pharmaciens avec com"},{"name":"inspect_site","description":"Vue 360 d'un établissement de santé en 1 appel (V0.10). Pendant naturel de `panorama_sante_territoire` côté **site** : agrège en parallèle (a) identification FI"},{"name":"rpps_search_by_name","description":"Trouve un PS par identité (matching trigram tolérant aux accents/typos). Usage : \"Dr Martin à Paris\" → `nom: \"Martin\", departement: \"75\"`. Nom obligatoire ; `pr"},{"name":"professionnel_by_rpps","description":"Récupère la fiche complète d'un PS par identifiant national (`rpps_id` / IDNPS, 11 ou 12 chiffres — IDs émis depuis 2020 ont un préfixe `\"81\"` = 12 chars ; anci"},{"name":"finess_sirene_coverage_in_radius","description":"Compare la couverture du référentiel FINESS DREES (sites physiques agréés LBM/pharmacie/etc.) au référentiel SIRENE DINUM (SIRET physiques actifs au NAF cible) "},{"name":"panorama_implantation_complet","description":"Étude d'implantation labo en 1 appel (V0.23). Géocode l'adresse cible puis agrège EN PARALLÈLE 7 sections : `territoire` (densités PS commune vs national + étab"},{"name":"enrichir_concurrents","description":"Enquête approfondie sur le top concurrents (V0.23). Pour chaque FINESS : statut actif + taille d'équipe + historique récent (inspect_site), signal M&A — rebrand"},{"name":"dynamique_immobiliere","description":"Dynamique immobilière et potentiel de croissance d'une zone (point + rayon). Combine 3 sources officielles : permis de construire (Sit@del/SDES, maille COMMUNE "},{"name":"cout_foncier","description":"Coût du foncier d'une zone (point + rayon) : prix médian au m² RÉSIDENTIEL bâti — maisons + appartements UNIQUEMENT, PAS les locaux commerciaux/professionnels ("}],"toolCount":37,"toolsHash":"66f12dd33e051dbe42f825e443ad5d5ae9218874f2011b01dbf57ed0152bd785","serverName":"france-data-mcp","capabilities":["tools","resources","prompts"],"serverVersion":"0.31.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T22:24:37.609Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":68,"error":null,"detail":{"tools":[{"name":"autocomplete_commune","description":"Recherche de communes françaises par nom, code postal ou code INSEE. Idéal pour autocomplétion. Source : geo.api.gouv.fr (DINUM/Etalab).\n\nUn (au moins) parmi `n"},{"name":"get_commune_by_code","description":"Récupère une commune par son code INSEE. Retourne un objet `LookupResult` discriminé par `found`. `found: true` → champs commune à plat (nom, codesPostaux, cent"},{"name":"geocode_adresse","description":"Géocode une adresse française en coordonnées GPS. Source : IGN Géoplateforme (data.geopf.fr). Précision au numéro de rue.\n\nLe champ `score` (0-1) qualifie la fi"},{"name":"reverse_geocode","description":"Géocodage inverse : à partir de coordonnées GPS, retrouve l'adresse la plus proche. Source : IGN Géoplateforme. Couverture France métropolitaine + DOM uniquemen"},{"name":"population","description":"Population d'une COMMUNE (code INSEE 5 car.), d'un DÉPARTEMENT (2-3 car.) OU d'un IRIS infracommunal (9 car.) — granularité auto-détectée par la longueur du `co"},{"name":"profil_iris","description":"Profil démographique au grain QUARTIER (IRIS) — la « demande » d'un territoire (âge, CSP, familles, revenu), à croiser avec l'offre de soins pour l'aide à l'imp"},{"name":"entreprises_in_radius","description":"Recherche d'entreprises françaises avec filtres NAF, code postal, département ou rayon géographique. Couvre tous secteurs (santé via NAF 8690B, 4773Z, 8710A, 86"},{"name":"entreprise_by_siren","description":"Récupère le détail d'une entreprise française par son SIREN (9 chiffres) : raison sociale, NAF, finances historiques, dirigeants, établissements. Source : DINUM"},{"name":"data_freshness","description":"Retourne la fraîcheur des dumps de données ingérés côté serveur : FINESS / ANS (flux quotidien, ingéré le 1er et le 15 du mois), Annuaire Santé Ameli (hebdomada"},{"name":"compare_raison_sociale_finess_vs_rpps","description":"Compare la raison sociale FINESS DREES vs RPPS / Annuaire Santé ANS pour un même num_finess. Primitive brute SANS interprétation métier — retourne juste les deu"},{"name":"compare_adresse_cnam_vs_finess","description":"Compare l'adresse d'un centre de santé côté CNAM (Annuaire santé Ameli) vs FINESS DREES pour un même num_finess. Primitive brute SANS interprétation métier — re"},{"name":"historique_etablissement","description":"Reconstitue la timeline complète d'un établissement de santé (ouvertures, fermetures, changements de NAF/enseigne) en croisant FINESS DREES ↔ resolver SIRET (RP"},{"name":"reconcilier_finess_sirene","description":"Croise FINESS DREES ↔ SIRENE INSEE V3.11 et calcule un score de cohérence (Sørensen-Dice sur bigrammes) pour chaque SIRET candidat. Utile pour confirmer/infirme"},{"name":"verifier_site_actif","description":"Vérifie si un établissement de santé FINESS est encore en activité en croisant FINESS DREES ↔ RPPS (pivot SIRET) ↔ DINUM (liste complète des SIRET du SIREN, inc"},{"name":"etablissement_by_siret","description":"Récupère le détail d'un établissement par son SIRET (14 chiffres) via l'API SIRENE INSEE V3.11 : raison sociale de l'unité légale, enseigne commerciale, NAF de "},{"name":"etablissements_finess_in_radius","description":"Recherche d'établissements de santé FINESS dans un rayon géographique (PostGIS ST_DWithin). Filtrable par familles. 24 valeurs disponibles : mco, ssr, sld, had,"},{"name":"etablissements_finess_by_categorie","description":"Liste des établissements FINESS par famille, avec filtre département ou commune optionnel. Pas de rayon — pour énumération exhaustive d'une zone administrative."},{"name":"etablissement_by_finess","description":"Récupère le détail complet d'un établissement de santé par son numéro FINESS (9 chiffres) : raison sociale, catégorie + famille, adresse complète (voie + CP + v"},{"name":"etablissement_finess_by_nom","description":"Cherche un établissement de santé par son NOM (« Institut Gustave Roussy », « Hôpital Foch », « Clinique Pasteur ») et rend ses fiches FINESS avec coordonnées e"},{"name":"centres_sante_in_radius","description":"Recherche des Centres de Santé (CDS) dans un rayon géographique (PostGIS ST_DWithin). Source : Annuaire santé Ameli, Assurance Maladie (mention obligatoire L.14"},{"name":"centres_sante_by_finess","description":"Récupère le détail d'un Centre de Santé (CDS) par son numéro FINESS. Différenciateur métier vs `etablissement_by_finess` : expose **carte_vitale**, **APCV**, et"},{"name":"professionnels_in_radius","description":"Recherche de professionnels de santé libéraux conventionnés dans un rayon géographique. Précision géo HYBRIDE depuis le géocodage BAN (Chantier C) : ~77 % des P"},{"name":"professionnels_par_specialite_dept","description":"Liste des professionnels de santé libéraux conventionnés d'un département, avec filtres optionnels par spécialité ou type de PS. Pour énumération administrative"},{"name":"lister_nomenclature","description":"Découverte des nomenclatures de codes du serveur (tool unique paramétré par `referentiel`) — à appeler avant de filtrer un autre tool plutôt que deviner les cod"},{"name":"professionnels_rpps_in_radius","description":"Trouve les PS dans un rayon via RPPS (Annuaire Santé ANS — **tous statuts** : libéraux + salariés + mixtes + remplaçants ; vs `professionnels_in_radius` Ameli ="},{"name":"professionnels_rpps_par_dept","description":"Liste tous les PS d'un département via RPPS (libéraux + salariés). Pour les libéraux conventionnés uniquement, préférer `professionnels_par_specialite_dept` (Am"},{"name":"rpps_dans_etablissement","description":"Liste les PS rattachés à un établissement FINESS (`num_finess` 9 chiffres). Pivot RPPS↔FINESS — répond à \"qui travaille dans ce labo / hôpital / clinique ?\". Le"},{"name":"densite_sante","description":"Densité de santé pour 100 000 habitants — `cible: professionnels` (RPPS) OU `cible: etablissements` (FINESS). Niveau **département** (`code_dept`) OU **commune*"},{"name":"panorama_sante_territoire","description":"Panorama santé d'une commune française en 1 appel (V0.9). Agrège en parallèle : population (INSEE Melodi), densités médecins + infirmiers + pharmaciens avec com"},{"name":"inspect_site","description":"Vue 360 d'un établissement de santé en 1 appel (V0.10). Pendant naturel de `panorama_sante_territoire` côté **site** : agrège en parallèle (a) identification FI"},{"name":"rpps_search_by_name","description":"Trouve un PS par identité (matching trigram tolérant aux accents/typos). Usage : \"Dr Martin à Paris\" → `nom: \"Martin\", departement: \"75\"`. Nom obligatoire ; `pr"},{"name":"professionnel_by_rpps","description":"Récupère la fiche complète d'un PS par identifiant national (`rpps_id` / IDNPS, 11 ou 12 chiffres — IDs émis depuis 2020 ont un préfixe `\"81\"` = 12 chars ; anci"},{"name":"finess_sirene_coverage_in_radius","description":"Compare la couverture du référentiel FINESS DREES (sites physiques agréés LBM/pharmacie/etc.) au référentiel SIRENE DINUM (SIRET physiques actifs au NAF cible) "},{"name":"panorama_implantation_complet","description":"Étude d'implantation labo en 1 appel (V0.23). Géocode l'adresse cible puis agrège EN PARALLÈLE 7 sections : `territoire` (densités PS commune vs national + étab"},{"name":"enrichir_concurrents","description":"Enquête approfondie sur le top concurrents (V0.23). Pour chaque FINESS : statut actif + taille d'équipe + historique récent (inspect_site), signal M&A — rebrand"},{"name":"dynamique_immobiliere","description":"Dynamique immobilière et potentiel de croissance d'une zone (point + rayon). Combine 3 sources officielles : permis de construire (Sit@del/SDES, maille COMMUNE "},{"name":"cout_foncier","description":"Coût du foncier d'une zone (point + rayon) : prix médian au m² RÉSIDENTIEL bâti — maisons + appartements UNIQUEMENT, PAS les locaux commerciaux/professionnels ("}],"toolCount":37,"toolsHash":"66f12dd33e051dbe42f825e443ad5d5ae9218874f2011b01dbf57ed0152bd785","serverName":"france-data-mcp","capabilities":["tools","resources","prompts"],"serverVersion":"0.31.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T16:28:22.915Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":70,"error":null,"detail":{"tools":[{"name":"autocomplete_commune","description":"Recherche de communes françaises par nom, code postal ou code INSEE. Idéal pour autocomplétion. Source : geo.api.gouv.fr (DINUM/Etalab).\n\nUn (au moins) parmi `n"},{"name":"get_commune_by_code","description":"Récupère une commune par son code INSEE. Retourne un objet `LookupResult` discriminé par `found`. `found: true` → champs commune à plat (nom, codesPostaux, cent"},{"name":"geocode_adresse","description":"Géocode une adresse française en coordonnées GPS. Source : IGN Géoplateforme (data.geopf.fr). Précision au numéro de rue.\n\nLe champ `score` (0-1) qualifie la fi"},{"name":"reverse_geocode","description":"Géocodage inverse : à partir de coordonnées GPS, retrouve l'adresse la plus proche. Source : IGN Géoplateforme. Couverture France métropolitaine + DOM uniquemen"},{"name":"population","description":"Population d'une COMMUNE (code INSEE 5 car.), d'un DÉPARTEMENT (2-3 car.) OU d'un IRIS infracommunal (9 car.) — granularité auto-détectée par la longueur du `co"},{"name":"profil_iris","description":"Profil démographique au grain QUARTIER (IRIS) — la « demande » d'un territoire (âge, CSP, familles, revenu), à croiser avec l'offre de soins pour l'aide à l'imp"},{"name":"entreprises_in_radius","description":"Recherche d'entreprises françaises avec filtres NAF, code postal, département ou rayon géographique. Couvre tous secteurs (santé via NAF 8690B, 4773Z, 8710A, 86"},{"name":"entreprise_by_siren","description":"Récupère le détail d'une entreprise française par son SIREN (9 chiffres) : raison sociale, NAF, finances historiques, dirigeants, établissements. Source : DINUM"},{"name":"data_freshness","description":"Retourne la fraîcheur des dumps de données ingérés côté serveur : FINESS / ANS (flux quotidien, ingéré le 1er et le 15 du mois), Annuaire Santé Ameli (hebdomada"},{"name":"compare_raison_sociale_finess_vs_rpps","description":"Compare la raison sociale FINESS DREES vs RPPS / Annuaire Santé ANS pour un même num_finess. Primitive brute SANS interprétation métier — retourne juste les deu"},{"name":"compare_adresse_cnam_vs_finess","description":"Compare l'adresse d'un centre de santé côté CNAM (Annuaire santé Ameli) vs FINESS DREES pour un même num_finess. Primitive brute SANS interprétation métier — re"},{"name":"historique_etablissement","description":"Reconstitue la timeline complète d'un établissement de santé (ouvertures, fermetures, changements de NAF/enseigne) en croisant FINESS DREES ↔ resolver SIRET (RP"},{"name":"reconcilier_finess_sirene","description":"Croise FINESS DREES ↔ SIRENE INSEE V3.11 et calcule un score de cohérence (Sørensen-Dice sur bigrammes) pour chaque SIRET candidat. Utile pour confirmer/infirme"},{"name":"verifier_site_actif","description":"Vérifie si un établissement de santé FINESS est encore en activité en croisant FINESS DREES ↔ RPPS (pivot SIRET) ↔ DINUM (liste complète des SIRET du SIREN, inc"},{"name":"etablissement_by_siret","description":"Récupère le détail d'un établissement par son SIRET (14 chiffres) via l'API SIRENE INSEE V3.11 : raison sociale de l'unité légale, enseigne commerciale, NAF de "},{"name":"etablissements_finess_in_radius","description":"Recherche d'établissements de santé FINESS dans un rayon géographique (PostGIS ST_DWithin). Filtrable par familles. 24 valeurs disponibles : mco, ssr, sld, had,"},{"name":"etablissements_finess_by_categorie","description":"Liste des établissements FINESS par famille, avec filtre département ou commune optionnel. Pas de rayon — pour énumération exhaustive d'une zone administrative."},{"name":"etablissement_by_finess","description":"Récupère le détail complet d'un établissement de santé par son numéro FINESS (9 chiffres) : raison sociale, catégorie + famille, adresse complète (voie + CP + v"},{"name":"etablissement_finess_by_nom","description":"Cherche un établissement de santé par son NOM (« Institut Gustave Roussy », « Hôpital Foch », « Clinique Pasteur ») et rend ses fiches FINESS avec coordonnées e"},{"name":"centres_sante_in_radius","description":"Recherche des Centres de Santé (CDS) dans un rayon géographique (PostGIS ST_DWithin). Source : Annuaire santé Ameli, Assurance Maladie (mention obligatoire L.14"},{"name":"centres_sante_by_finess","description":"Récupère le détail d'un Centre de Santé (CDS) par son numéro FINESS. Différenciateur métier vs `etablissement_by_finess` : expose **carte_vitale**, **APCV**, et"},{"name":"professionnels_in_radius","description":"Recherche de professionnels de santé libéraux conventionnés dans un rayon géographique. Précision géo HYBRIDE depuis le géocodage BAN (Chantier C) : ~77 % des P"},{"name":"professionnels_par_specialite_dept","description":"Liste des professionnels de santé libéraux conventionnés d'un département, avec filtres optionnels par spécialité ou type de PS. Pour énumération administrative"},{"name":"lister_nomenclature","description":"Découverte des nomenclatures de codes du serveur (tool unique paramétré par `referentiel`) — à appeler avant de filtrer un autre tool plutôt que deviner les cod"},{"name":"professionnels_rpps_in_radius","description":"Trouve les PS dans un rayon via RPPS (Annuaire Santé ANS — **tous statuts** : libéraux + salariés + mixtes + remplaçants ; vs `professionnels_in_radius` Ameli ="},{"name":"professionnels_rpps_par_dept","description":"Liste tous les PS d'un département via RPPS (libéraux + salariés). Pour les libéraux conventionnés uniquement, préférer `professionnels_par_specialite_dept` (Am"},{"name":"rpps_dans_etablissement","description":"Liste les PS rattachés à un établissement FINESS (`num_finess` 9 chiffres). Pivot RPPS↔FINESS — répond à \"qui travaille dans ce labo / hôpital / clinique ?\". Le"},{"name":"densite_sante","description":"Densité de santé pour 100 000 habitants — `cible: professionnels` (RPPS) OU `cible: etablissements` (FINESS). Niveau **département** (`code_dept`) OU **commune*"},{"name":"panorama_sante_territoire","description":"Panorama santé d'une commune française en 1 appel (V0.9). Agrège en parallèle : population (INSEE Melodi), densités médecins + infirmiers + pharmaciens avec com"},{"name":"inspect_site","description":"Vue 360 d'un établissement de santé en 1 appel (V0.10). Pendant naturel de `panorama_sante_territoire` côté **site** : agrège en parallèle (a) identification FI"},{"name":"rpps_search_by_name","description":"Trouve un PS par identité (matching trigram tolérant aux accents/typos). Usage : \"Dr Martin à Paris\" → `nom: \"Martin\", departement: \"75\"`. Nom obligatoire ; `pr"},{"name":"professionnel_by_rpps","description":"Récupère la fiche complète d'un PS par identifiant national (`rpps_id` / IDNPS, 11 ou 12 chiffres — IDs émis depuis 2020 ont un préfixe `\"81\"` = 12 chars ; anci"},{"name":"finess_sirene_coverage_in_radius","description":"Compare la couverture du référentiel FINESS DREES (sites physiques agréés LBM/pharmacie/etc.) au référentiel SIRENE DINUM (SIRET physiques actifs au NAF cible) "},{"name":"panorama_implantation_complet","description":"Étude d'implantation labo en 1 appel (V0.23). Géocode l'adresse cible puis agrège EN PARALLÈLE 7 sections : `territoire` (densités PS commune vs national + étab"},{"name":"enrichir_concurrents","description":"Enquête approfondie sur le top concurrents (V0.23). Pour chaque FINESS : statut actif + taille d'équipe + historique récent (inspect_site), signal M&A — rebrand"},{"name":"dynamique_immobiliere","description":"Dynamique immobilière et potentiel de croissance d'une zone (point + rayon). Combine 3 sources officielles : permis de construire (Sit@del/SDES, maille COMMUNE "},{"name":"cout_foncier","description":"Coût du foncier d'une zone (point + rayon) : prix médian au m² RÉSIDENTIEL bâti — maisons + appartements UNIQUEMENT, PAS les locaux commerciaux/professionnels ("}],"toolCount":37,"toolsHash":"66f12dd33e051dbe42f825e443ad5d5ae9218874f2011b01dbf57ed0152bd785","serverName":"france-data-mcp","capabilities":["tools","resources","prompts"],"serverVersion":"0.31.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T09:28:31.657Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":55,"error":null,"detail":{"tools":[{"name":"autocomplete_commune","description":"Recherche de communes françaises par nom, code postal ou code INSEE. Idéal pour autocomplétion. Source : geo.api.gouv.fr (DINUM/Etalab).\n\nUn (au moins) parmi `n"},{"name":"get_commune_by_code","description":"Récupère une commune par son code INSEE. Retourne un objet `LookupResult` discriminé par `found`. `found: true` → champs commune à plat (nom, codesPostaux, cent"},{"name":"geocode_adresse","description":"Géocode une adresse française en coordonnées GPS. Source : IGN Géoplateforme (data.geopf.fr). Précision au numéro de rue.\n\nLe champ `score` (0-1) qualifie la fi"},{"name":"reverse_geocode","description":"Géocodage inverse : à partir de coordonnées GPS, retrouve l'adresse la plus proche. Source : IGN Géoplateforme. Couverture France métropolitaine + DOM uniquemen"},{"name":"population","description":"Population d'une COMMUNE (code INSEE 5 car.), d'un DÉPARTEMENT (2-3 car.) OU d'un IRIS infracommunal (9 car.) — granularité auto-détectée par la longueur du `co"},{"name":"profil_iris","description":"Profil démographique au grain QUARTIER (IRIS) — la « demande » d'un territoire (âge, CSP, familles, revenu), à croiser avec l'offre de soins pour l'aide à l'imp"},{"name":"entreprises_in_radius","description":"Recherche d'entreprises françaises avec filtres NAF, code postal, département ou rayon géographique. Couvre tous secteurs (santé via NAF 8690B, 4773Z, 8710A, 86"},{"name":"entreprise_by_siren","description":"Récupère le détail d'une entreprise française par son SIREN (9 chiffres) : raison sociale, NAF, finances historiques, dirigeants, établissements. Source : DINUM"},{"name":"data_freshness","description":"Retourne la fraîcheur des dumps de données ingérés côté serveur : FINESS / ANS (flux quotidien, ingéré le 1er et le 15 du mois), Annuaire Santé Ameli (hebdomada"},{"name":"compare_raison_sociale_finess_vs_rpps","description":"Compare la raison sociale FINESS DREES vs RPPS / Annuaire Santé ANS pour un même num_finess. Primitive brute SANS interprétation métier — retourne juste les deu"},{"name":"compare_adresse_cnam_vs_finess","description":"Compare l'adresse d'un centre de santé côté CNAM (Annuaire santé Ameli) vs FINESS DREES pour un même num_finess. Primitive brute SANS interprétation métier — re"},{"name":"historique_etablissement","description":"Reconstitue la timeline complète d'un établissement de santé (ouvertures, fermetures, changements de NAF/enseigne) en croisant FINESS DREES ↔ resolver SIRET (RP"},{"name":"reconcilier_finess_sirene","description":"Croise FINESS DREES ↔ SIRENE INSEE V3.11 et calcule un score de cohérence (Sørensen-Dice sur bigrammes) pour chaque SIRET candidat. Utile pour confirmer/infirme"},{"name":"verifier_site_actif","description":"Vérifie si un établissement de santé FINESS est encore en activité en croisant FINESS DREES ↔ RPPS (pivot SIRET) ↔ DINUM (liste complète des SIRET du SIREN, inc"},{"name":"etablissement_by_siret","description":"Récupère le détail d'un établissement par son SIRET (14 chiffres) via l'API SIRENE INSEE V3.11 : raison sociale de l'unité légale, enseigne commerciale, NAF de "},{"name":"etablissements_finess_in_radius","description":"Recherche d'établissements de santé FINESS dans un rayon géographique (PostGIS ST_DWithin). Filtrable par familles. 24 valeurs disponibles : mco, ssr, sld, had,"},{"name":"etablissements_finess_by_categorie","description":"Liste des établissements FINESS par famille, avec filtre département ou commune optionnel. Pas de rayon — pour énumération exhaustive d'une zone administrative."},{"name":"etablissement_by_finess","description":"Récupère le détail complet d'un établissement de santé par son numéro FINESS (9 chiffres) : raison sociale, catégorie + famille, adresse complète (voie + CP + v"},{"name":"etablissement_finess_by_nom","description":"Cherche un établissement de santé par son NOM (« Institut Gustave Roussy », « Hôpital Foch », « Clinique Pasteur ») et rend ses fiches FINESS avec coordonnées e"},{"name":"centres_sante_in_radius","description":"Recherche des Centres de Santé (CDS) dans un rayon géographique (PostGIS ST_DWithin). Source : Annuaire santé Ameli, Assurance Maladie (mention obligatoire L.14"},{"name":"centres_sante_by_finess","description":"Récupère le détail d'un Centre de Santé (CDS) par son numéro FINESS. Différenciateur métier vs `etablissement_by_finess` : expose **carte_vitale**, **APCV**, et"},{"name":"professionnels_in_radius","description":"Recherche de professionnels de santé libéraux conventionnés dans un rayon géographique. Précision géo HYBRIDE depuis le géocodage BAN (Chantier C) : ~77 % des P"},{"name":"professionnels_par_specialite_dept","description":"Liste des professionnels de santé libéraux conventionnés d'un département, avec filtres optionnels par spécialité ou type de PS. Pour énumération administrative"},{"name":"lister_nomenclature","description":"Découverte des nomenclatures de codes du serveur (tool unique paramétré par `referentiel`) — à appeler avant de filtrer un autre tool plutôt que deviner les cod"},{"name":"professionnels_rpps_in_radius","description":"Trouve les PS dans un rayon via RPPS (Annuaire Santé ANS — **tous statuts** : libéraux + salariés + mixtes + remplaçants ; vs `professionnels_in_radius` Ameli ="},{"name":"professionnels_rpps_par_dept","description":"Liste tous les PS d'un département via RPPS (libéraux + salariés). Pour les libéraux conventionnés uniquement, préférer `professionnels_par_specialite_dept` (Am"},{"name":"rpps_dans_etablissement","description":"Liste les PS rattachés à un établissement FINESS (`num_finess` 9 chiffres). Pivot RPPS↔FINESS — répond à \"qui travaille dans ce labo / hôpital / clinique ?\". Le"},{"name":"densite_sante","description":"Densité de santé pour 100 000 habitants — `cible: professionnels` (RPPS) OU `cible: etablissements` (FINESS). Niveau **département** (`code_dept`) OU **commune*"},{"name":"panorama_sante_territoire","description":"Panorama santé d'une commune française en 1 appel (V0.9). Agrège en parallèle : population (INSEE Melodi), densités médecins + infirmiers + pharmaciens avec com"},{"name":"inspect_site","description":"Vue 360 d'un établissement de santé en 1 appel (V0.10). Pendant naturel de `panorama_sante_territoire` côté **site** : agrège en parallèle (a) identification FI"},{"name":"rpps_search_by_name","description":"Trouve un PS par identité (matching trigram tolérant aux accents/typos). Usage : \"Dr Martin à Paris\" → `nom: \"Martin\", departement: \"75\"`. Nom obligatoire ; `pr"},{"name":"professionnel_by_rpps","description":"Récupère la fiche complète d'un PS par identifiant national (`rpps_id` / IDNPS, 11 ou 12 chiffres — IDs émis depuis 2020 ont un préfixe `\"81\"` = 12 chars ; anci"},{"name":"finess_sirene_coverage_in_radius","description":"Compare la couverture du référentiel FINESS DREES (sites physiques agréés LBM/pharmacie/etc.) au référentiel SIRENE DINUM (SIRET physiques actifs au NAF cible) "},{"name":"panorama_implantation_complet","description":"Étude d'implantation labo en 1 appel (V0.23). Géocode l'adresse cible puis agrège EN PARALLÈLE 7 sections : `territoire` (densités PS commune vs national + étab"},{"name":"enrichir_concurrents","description":"Enquête approfondie sur le top concurrents (V0.23). Pour chaque FINESS : statut actif + taille d'équipe + historique récent (inspect_site), signal M&A — rebrand"},{"name":"dynamique_immobiliere","description":"Dynamique immobilière et potentiel de croissance d'une zone (point + rayon). Combine 3 sources officielles : permis de construire (Sit@del/SDES, maille COMMUNE "},{"name":"cout_foncier","description":"Coût du foncier d'une zone (point + rayon) : prix médian au m² RÉSIDENTIEL bâti — maisons + appartements UNIQUEMENT, PAS les locaux commerciaux/professionnels ("}],"toolCount":37,"toolsHash":"66f12dd33e051dbe42f825e443ad5d5ae9218874f2011b01dbf57ed0152bd785","serverName":"france-data-mcp","capabilities":["tools","resources","prompts"],"serverVersion":"0.31.1","protocolVersion":"2025-06-18"}}],"tools":[{"name":"autocomplete_commune","description":"Recherche de communes françaises par nom, code postal ou code INSEE. Idéal pour autocomplétion. Source : geo.api.gouv.fr (DINUM/Etalab).\n\nUn (au moins) parmi `n"},{"name":"get_commune_by_code","description":"Récupère une commune par son code INSEE. Retourne un objet `LookupResult` discriminé par `found`. `found: true` → champs commune à plat (nom, codesPostaux, cent"},{"name":"geocode_adresse","description":"Géocode une adresse française en coordonnées GPS. Source : IGN Géoplateforme (data.geopf.fr). Précision au numéro de rue.\n\nLe champ `score` (0-1) qualifie la fi"},{"name":"reverse_geocode","description":"Géocodage inverse : à partir de coordonnées GPS, retrouve l'adresse la plus proche. Source : IGN Géoplateforme. Couverture France métropolitaine + DOM uniquemen"},{"name":"population","description":"Population d'une COMMUNE (code INSEE 5 car.), d'un DÉPARTEMENT (2-3 car.) OU d'un IRIS infracommunal (9 car.) — granularité auto-détectée par la longueur du `co"},{"name":"profil_iris","description":"Profil démographique au grain QUARTIER (IRIS) — la « demande » d'un territoire (âge, CSP, familles, revenu), à croiser avec l'offre de soins pour l'aide à l'imp"},{"name":"entreprises_in_radius","description":"Recherche d'entreprises françaises avec filtres NAF, code postal, département ou rayon géographique. Couvre tous secteurs (santé via NAF 8690B, 4773Z, 8710A, 86"},{"name":"entreprise_by_siren","description":"Récupère le détail d'une entreprise française par son SIREN (9 chiffres) : raison sociale, NAF, finances historiques, dirigeants, établissements. Source : DINUM"},{"name":"data_freshness","description":"Retourne la fraîcheur des dumps de données ingérés côté serveur : FINESS / ANS (flux quotidien, ingéré le 1er et le 15 du mois), Annuaire Santé Ameli (hebdomada"},{"name":"compare_raison_sociale_finess_vs_rpps","description":"Compare la raison sociale FINESS DREES vs RPPS / Annuaire Santé ANS pour un même num_finess. Primitive brute SANS interprétation métier — retourne juste les deu"},{"name":"compare_adresse_cnam_vs_finess","description":"Compare l'adresse d'un centre de santé côté CNAM (Annuaire santé Ameli) vs FINESS DREES pour un même num_finess. Primitive brute SANS interprétation métier — re"},{"name":"historique_etablissement","description":"Reconstitue la timeline complète d'un établissement de santé (ouvertures, fermetures, changements de NAF/enseigne) en croisant FINESS DREES ↔ resolver SIRET (RP"},{"name":"reconcilier_finess_sirene","description":"Croise FINESS DREES ↔ SIRENE INSEE V3.11 et calcule un score de cohérence (Sørensen-Dice sur bigrammes) pour chaque SIRET candidat. Utile pour confirmer/infirme"},{"name":"verifier_site_actif","description":"Vérifie si un établissement de santé FINESS est encore en activité en croisant FINESS DREES ↔ RPPS (pivot SIRET) ↔ DINUM (liste complète des SIRET du SIREN, inc"},{"name":"etablissement_by_siret","description":"Récupère le détail d'un établissement par son SIRET (14 chiffres) via l'API SIRENE INSEE V3.11 : raison sociale de l'unité légale, enseigne commerciale, NAF de "},{"name":"etablissements_finess_in_radius","description":"Recherche d'établissements de santé FINESS dans un rayon géographique (PostGIS ST_DWithin). Filtrable par familles. 24 valeurs disponibles : mco, ssr, sld, had,"},{"name":"etablissements_finess_by_categorie","description":"Liste des établissements FINESS par famille, avec filtre département ou commune optionnel. Pas de rayon — pour énumération exhaustive d'une zone administrative."},{"name":"etablissement_by_finess","description":"Récupère le détail complet d'un établissement de santé par son numéro FINESS (9 chiffres) : raison sociale, catégorie + famille, adresse complète (voie + CP + v"},{"name":"etablissement_finess_by_nom","description":"Cherche un établissement de santé par son NOM (« Institut Gustave Roussy », « Hôpital Foch », « Clinique Pasteur ») et rend ses fiches FINESS avec coordonnées e"},{"name":"centres_sante_in_radius","description":"Recherche des Centres de Santé (CDS) dans un rayon géographique (PostGIS ST_DWithin). Source : Annuaire santé Ameli, Assurance Maladie (mention obligatoire L.14"},{"name":"centres_sante_by_finess","description":"Récupère le détail d'un Centre de Santé (CDS) par son numéro FINESS. Différenciateur métier vs `etablissement_by_finess` : expose **carte_vitale**, **APCV**, et"},{"name":"professionnels_in_radius","description":"Recherche de professionnels de santé libéraux conventionnés dans un rayon géographique. Précision géo HYBRIDE depuis le géocodage BAN (Chantier C) : ~77 % des P"},{"name":"professionnels_par_specialite_dept","description":"Liste des professionnels de santé libéraux conventionnés d'un département, avec filtres optionnels par spécialité ou type de PS. Pour énumération administrative"},{"name":"lister_nomenclature","description":"Découverte des nomenclatures de codes du serveur (tool unique paramétré par `referentiel`) — à appeler avant de filtrer un autre tool plutôt que deviner les cod"},{"name":"professionnels_rpps_in_radius","description":"Trouve les PS dans un rayon via RPPS (Annuaire Santé ANS — **tous statuts** : libéraux + salariés + mixtes + remplaçants ; vs `professionnels_in_radius` Ameli ="},{"name":"professionnels_rpps_par_dept","description":"Liste tous les PS d'un département via RPPS (libéraux + salariés). Pour les libéraux conventionnés uniquement, préférer `professionnels_par_specialite_dept` (Am"},{"name":"rpps_dans_etablissement","description":"Liste les PS rattachés à un établissement FINESS (`num_finess` 9 chiffres). Pivot RPPS↔FINESS — répond à \"qui travaille dans ce labo / hôpital / clinique ?\". Le"},{"name":"densite_sante","description":"Densité de santé pour 100 000 habitants — `cible: professionnels` (RPPS) OU `cible: etablissements` (FINESS). Niveau **département** (`code_dept`) OU **commune*"},{"name":"panorama_sante_territoire","description":"Panorama santé d'une commune française en 1 appel (V0.9). Agrège en parallèle : population (INSEE Melodi), densités médecins + infirmiers + pharmaciens avec com"},{"name":"inspect_site","description":"Vue 360 d'un établissement de santé en 1 appel (V0.10). Pendant naturel de `panorama_sante_territoire` côté **site** : agrège en parallèle (a) identification FI"},{"name":"rpps_search_by_name","description":"Trouve un PS par identité (matching trigram tolérant aux accents/typos). Usage : \"Dr Martin à Paris\" → `nom: \"Martin\", departement: \"75\"`. Nom obligatoire ; `pr"},{"name":"professionnel_by_rpps","description":"Récupère la fiche complète d'un PS par identifiant national (`rpps_id` / IDNPS, 11 ou 12 chiffres — IDs émis depuis 2020 ont un préfixe `\"81\"` = 12 chars ; anci"},{"name":"finess_sirene_coverage_in_radius","description":"Compare la couverture du référentiel FINESS DREES (sites physiques agréés LBM/pharmacie/etc.) au référentiel SIRENE DINUM (SIRET physiques actifs au NAF cible) "},{"name":"panorama_implantation_complet","description":"Étude d'implantation labo en 1 appel (V0.23). Géocode l'adresse cible puis agrège EN PARALLÈLE 7 sections : `territoire` (densités PS commune vs national + étab"},{"name":"enrichir_concurrents","description":"Enquête approfondie sur le top concurrents (V0.23). Pour chaque FINESS : statut actif + taille d'équipe + historique récent (inspect_site), signal M&A — rebrand"},{"name":"dynamique_immobiliere","description":"Dynamique immobilière et potentiel de croissance d'une zone (point + rayon). Combine 3 sources officielles : permis de construire (Sit@del/SDES, maille COMMUNE "},{"name":"cout_foncier","description":"Coût du foncier d'une zone (point + rayon) : prix médian au m² RÉSIDENTIEL bâti — maisons + appartements UNIQUEMENT, PAS les locaux commerciaux/professionnels ("}],"package":{"name":"france-data-mcp","registry":"npm","observedAt":"2026-10-09T21:28:51.422Z","publishedAt":"2026-10-05T21:56:55.072Z","latestVersion":"0.31.1","weeklyDownloads":124},"toolSurface":{"id":"ts_s35sxzz4cmg8","endpointId":"ep_46v48wdgbx57","hash":"66f12dd33e051dbe42f825e443ad5d5ae9218874f2011b01dbf57ed0152bd785","toolCount":37,"serverName":"france-data-mcp","serverVersion":"0.31.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-22T14:29:34.863Z","lastSeenAt":"2026-10-09T21:26:37.800Z","observations":65,"toolNames":["autocomplete_commune","get_commune_by_code","geocode_adresse","reverse_geocode","population","profil_iris","entreprises_in_radius","entreprise_by_siren","data_freshness","compare_raison_sociale_finess_vs_rpps","compare_adresse_cnam_vs_finess","historique_etablissement","reconcilier_finess_sirene","verifier_site_actif","etablissement_by_siret","etablissements_finess_in_radius","etablissements_finess_by_categorie","etablissement_by_finess","etablissement_finess_by_nom","centres_sante_in_radius","centres_sante_by_finess","professionnels_in_radius","professionnels_par_specialite_dept","lister_nomenclature","professionnels_rpps_in_radius","professionnels_rpps_par_dept","rpps_dans_etablissement","densite_sante","panorama_sante_territoire","inspect_site","rpps_search_by_name","professionnel_by_rpps","finess_sirene_coverage_in_radius","panorama_implantation_complet","enrichir_concurrents","dynamique_immobiliere","cout_foncier"],"distinctSurfaces":3},"endpointFacts":[{"id":"ep_46v48wdgbx57","url":"https://france-data-mcp.vercel.app/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T01:24:51.947Z","auth":{"observedAt":"2026-10-09T01:24:51.981Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-09T01:24:52.004Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"*.vercel.app","issuer":{"commonName":"WR1","organization":"Google Trust Services"},"validFrom":"2026-08-29T19:48:09.000Z","validTo":"2026-11-27T19:48:08.000Z","daysToExpiry":48,"sanCount":1,"fingerprint256":"8F:46:C4:A0:A2:89:BF:DE:40:60:D0:69:86:F2:AF:76:1E:E6:2D:66:8D:DE:97:2E:6B:EF:46:87:EE:4F:60:93"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"npm","key":"france-data-mcp","url":"https://www.npmjs.com/package/france-data-mcp","firstSeenAt":"2026-09-06T00:19:52.084Z","fetchedAt":"2026-10-09T13:20:51.026Z","normalizedAt":"2026-10-09T13:20:51.026Z"},{"source":"mcp_registry","key":"io.github.cturkieh/france-data-mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.cturkieh%2Ffrance-data-mcp","firstSeenAt":"2026-09-06T12:19:15.039Z","fetchedAt":"2026-10-07T08:21:49.294Z","normalizedAt":"2026-10-07T08:21:49.294Z"}]},"firstSeenAt":"2026-09-06T00:19:52.084Z","updatedAt":"2026-10-09T21:28:51.423Z"}