用途
france-data-mcp 是一个 TypeScript 编写的 MCP(Model Context Protocol)服务器,旨在交叉比对并协调 13 个法国公共数据源,将分散、文档不足且存在各种陷阱的官方 API 整合起来,回答医疗供给地图、区域市场研究、地方新闻、公民科技等具体问题。官方 API(INSEE、FINESS DREES、RPPS ANS、Ameli 目录、CNAM 健康中心、IGN、DINUM)虽然存在,但彼此割裂,存在速率限制、专有 CSV 格式、DREES 一至两个月延迟、INSEE 部分发布、Ameli 与 RPPS 映射不一致等问题。该项目声称是首个基于事实交叉这些数据源的 MCP。
主要能力
覆盖 13 个公共数据源:
- 领土(2):geo.api.gouv.fr(DINUM,市镇)、IGN Géoplateforme(地理编码)
- 健康(3):FINESS / ANS(约 10.5 万家在营机构,含海外省——每日 JSON 流,取代 2026 年 7 月停止的 DREES CSV)、Annuaire Santé Ameli(约 46.6 万自由执业者)、RPPS / ANS(约 228 万在职医疗专业人员)
- 健康中心(1):CNAM 健康目录(约 3000 家 L.6323-1 CSP 结构,每周同步)
- 社区级人口统计(2):INSEE IRIS(约 4.86 万个街区——RP 2022、FILOSOFI 2021 收入、IGN 边界)+ INSEE Melodi(参考人口)
- 企业(2):DINUM Recherche Entreprises + INSEE SIRENE V3.11
- 房地产(3):DVF / DGFiP 土地交易(欧元/平方米,PostGIS 懒缓存)、Sit@del / SDES 建筑许可(已摄取表,月度 cron)、通过 apicarto / IGN 的 PLU 待开发区域(实时)
跨源能力:FINESS ↔ RPPS ↔ SIRENE 协调,以检测已关闭 SIRET、更名、过时商号。
工具清单
项目提供 37 个 MCP 工具,分为多个类别:
- 领土(4):autocomplete_commune、get_commune_by_code、geocode_adresse、reverse_geocode
- 企业(3):entreprises_in_radius、entreprise_by_siren(含 INSEE SIRENE V3.11 回退)、etablissement_by_siret
- FINESS 健康机构(4):etablissements_finess_in_radius、etablissements_finess_by_categorie、etablissement_by_finess、etablissement_finess_by_nom(可按名称搜索,如「Institut Gustave Roussy」,返回卡片、精确点位、已验证市镇,涵盖 24 个族,约 92% 数据量;ANS 源每日发布,每月 1 日和 15 日摄取)
- Ameli 自由执业者(2):professionnels_in_radius、professionnels_par_specialite_dept(仅限签约自由执业者,约 46.2 万;专科/type_ps 代码可通过 lister_nomenclature 发现)
- 全部 PS——RPPS / Annuaire Santé ANS(5):professionnels_rpps_in_radius、professionnels_rpps_par_dept、rpps_dans_etablissement、rpps_search_by_name(模糊)、professionnel_by_rpps(含 FHIR ANS 回退)(约 220 万在职 PS,默认仅民事)
- CNAM 健康中心(2):centres_sante_in_radius、centres_sante_by_finess(非营利门诊护理结构 L.6323-1 CSP,约 3000 家;与 FINESS famille=124 的区别在于披露 carte Vitale、APCV 及现场开展的专科(CNAM 附件 A,约 70 个代码);坐标 = 市镇质心;每周同步)
- 人口与密度——INSEE Melodi + IRIS(3):population(IRIS 9 位、市镇 5 位或省 2-3 位,按代码长度自动检测粒度)、densite_sante(目标:RPPS 专业人员或 FINESS 机构——实验室、药房、EHPAD、医院;含全国比较 matview <50 ms)、profil_iris(点或 code_iris、rayon_km?)——街区或流域人口画像(年龄、CSP、家庭、收入),基于 RP 2022 + FILOSOFI 2021
- 分类体系发现(1):lister_nomenclature(referentiel: ameli_specialites | ameli_types_ps | rpps_savoir_faire)——一次调用获取 Ameli 专科/type_ps 代码和 RPPS savoir_faire(取代原 3 个 lister_*)
- 聚合器与综合研究(4):panorama_sante_territoire(V0.9,一次调用获取人口 + 医生/护士/药剂师密度对比全国 + 按族统计 FINESS(实验室、药房、EHPAD、MCO、MSP/CPTS)+ IRIS 需求块(市镇人口画像:年龄、CSP、家庭、收入),粒度明确)、inspect_site(V0.10,一次调用获取机构 360 视图:FINESS 识别 + SIRENE 行政状态(SIRET 解析)+ 关联 PS + INSEE 历史)、panorama_implantation_complet(V0.23,一次调用完成实验室选址研究:7 个板块(领土、流域 IRIS 需求、竞争对手、MCO/EHPAD/SSR 供给方、处方者 RPPS+IDEL、健康中心、参考数据质量),仅摘要、从不在原始列表,按板块降级)、enrichir_concurrents(V0.23,对头部竞争对手进行调查:活跃状态 + 团队 + M&A 信号 + 母集团,硬上限 max=3)
- 房地产——地块潜力(2):dynamique_immobiliere(V0.26,一次调用综合:建筑许可(Sit@del / SDES,月度摄取表)+ PLU 待开发区域(apicarto / IGN,实时)+ DVF 土地交易;输出 2 类:note(数量 → 评分)/ info(待开发街区 + 价格 → 背景);geojson = 待开发区域多边形)、cout_foncier(V0.26,DVF 中位价 欧元/平方米(P25/P75、n_ventes、时期),仅信息)
- 多源交叉(7):FINESS ↔ RPPS ↔ SIRENE ↔ CNAM 协调——无业务解释的原始事实;data_freshness、verifier_site_actif、compare_raison_sociale_finess_vs_rpps、compare_adresse_cnam_vs_finess、historique_etablissement、reconcilier_finess_sirene、finess_sirene_coverage_in_radius
使用方式
提供两种接入方式:
选项 1——远程 URL(claude.ai、Claude Code、Cursor):https://france-data-mcp.vercel.app/mcp
选项 2——npm stdio 包装器(Claude Desktop 原生、其他客户端):包装器将 stdio 转发到远程 HTTPS 端点,无需本地数据库。可通过 FRANCE_DATA_MCP_URL=https://mon-miroir.example/mcp 覆盖。各客户端的详细说明及自托管见 docs/installation-claude.md。
适用场景
医疗供给地图、区域市场研究、地方新闻、公民科技、实验室选址研究、地块房地产潜力评估等。面向 Claude、Cursor 及任何 TypeScript 应用。
限制与防护
- 速率限制:tools/call 每 IP 每分钟 60 次请求(meta 方法不受限),超出返回错误 -32000 并附带 data.retryAfterSeconds。
- 日志:每次请求结构化 JSON 日志(ts、method、tool、ip_hash(SHA-256 加盐)、duration_ms、outcome),不存储明文 IP,不持久化任何工具参数。
- Sentry 错误监控覆盖内部 500 错误(标签 mcp.method、mcp.tool、mcp.outcome)。
- RGPD:Axiom 上保留 30 天,IP 加盐哈希,访问/删除权利。完整政策见 PRIVACY.md。
- 高强度使用:建议在客户端限流或自托管。
版本与许可
V0.31.0 已投入生产,在官方 MCP registry 上。最新版本(V0.31.0)新增 etablissement_finess_by_nom——按名称查找健康机构(「Institut Gustave Roussy」→ 卡片、精确点位、已验证市镇,绝不只返回首个结果);Sit@del 建筑许可改从数据库读取(10.9 秒而非 45 秒),当年数据与 5 个完整年份分开返回,并修正巴黎/里昂/马赛的「0 住房」问题。13 个参考源 / 37 个工具。
采用 MIT 许可,见 LICENSE。数据仍归各自许可:DINUM、Etalab、Atlasanté、ANS、INSEE、IGN 的 API 质量;data.gouv.fr 的公民科技活动;Anthropic 的 MCP 协议。
发送 PR 前请先开 issue 讨论。