关于 France Territorial Intelligence Mcp — Health · Business · Geo
france-data-mcp 是一个 TypeScript MCP 服务,整合并核对法国 13 个公共数据源,涵盖医疗、企业、人口、地理和房地产。它面向区域分析、医疗资源制图、市场研究和 civic-tech,提供可组合查询,并显示数据源的新鲜度。
主要功能
- 01交叉核对 13 个公共数据源
- 02查询医疗机构和从业人员
- 03结合医疗供给与人口数据
- 04分析房价、建筑许可和规划区
- 05提供 37 种工具及综合研究
适用场景
- 01绘制社区医疗资源分布
- 02评估医疗选址的本地市场和竞争者
- 03比对公共记录以核实机构状态
- 04评估潜在选址的房地产情况
MCP 相关
向 MCP 客户端提供 37 种工具,用于查询和核对法国医疗、企业、人口、地理及房地产公共数据。客户端可连接远程端点,或使用转发至该端点的 npm stdio 封装。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://france-data-mcp.vercel.app/mcpclaude mcp add --transport http france-data https://france-data-mcp.vercel.app/mcp{"mcpServers":{"france-data":{"type":"http","url":"https://france-data-mcp.vercel.app/mcp"}}}在 Cursor 中打开{"servers":{"france-data":{"type":"http","url":"https://france-data-mcp.vercel.app/mcp"}}}在 VS Code 中打开{"mcpServers":{"france-data":{"type":"http","url":"https://france-data-mcp.vercel.app/mcp"}}}{"mcpServers":{"france-data":{"serverUrl":"https://france-data-mcp.vercel.app/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
36| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| nom | string | 否 | 按名称搜索(自动补全)。例如:“Villeneuve d'Ascq”、“Lyon”。 |
| codePostal | string | 否 | 精确邮政编码(5 位数字)。例如:“59650”。 |
| code | string | 否 | 精确 INSEE 代码(5 个字符)。例如:“59009”。 |
| limit | number | 否 | 最大结果数(1-30,默认 10)。 |
| boostPopulation | boolean | 否 | 按人口降序排序。建议用于名称含糊的情况(例如:'Charleville')。 |
详细介绍
france-data-mcp
一个 MCP TypeScript 项目,交叉比对并协调 13 个法国公共数据源(INSEE SIRENE、IRIS 与 Melodi、FINESS DREES、RPPS / Annuaire Santé ANS、Annuaire Santé Ameli、Centres de Santé CNAM、DVF / DGFiP、Sit@del / SDES、通过 apicarto 获取的 PLU、IGN Géoplateforme、geo.api.gouv.fr 与 Recherche Entreprises DINUM)。可检测 DREES 数据中不可见的已关闭 SIRET,区分站点与集团,将医疗服务供给与社区人口数据交叉比对,评估站点的房地产潜力(DVF €/m² 价格、建筑许可、PLU 的 AU 区域),并展示每个数据源的更新情况。
🇫🇷 主要文档为法语。英文版本 →
安装
选项 1 — 远程 URL(claude.ai、Claude Code、Cursor)
https://france-data-mcp.vercel.app/mcp
| 客户端 | 配置 |
|---|---|
| claude.ai | Settings → Connectors → Add custom connector → 上方 URL |
| Claude Code | ~/.claude.json → mcpServers → { "type": "http", "url": "..." } |
| Cursor | ~/.cursor/mcp.json → 相同配置 |
选项 2 — npm stdio 封装程序(Claude Desktop 原生客户端及其他客户端)
{
"mcpServers": {
"france-data": {
"command": "npx",
"args": ["-y", "france-data-mcp"]
}
}
}
封装程序会将 stdio 转发到远程 HTTPS 端点。无需配置本地数据库。可通过以下方式覆盖:FRANCE_DATA_MCP_URL=https://mon-miroir.example/mcp。
按客户端查看详情及自托管说明:docs/installation-claude.md。
Agent Skill — 帮助 Agent 了解何时以及如何使用 MCP
skills/france-data-mcp/ 目录是公开的 Agent Skill:包含 37 个工具的概览、注意事项(perimetre、activite_hebergee、geo_precision、Ameli 与 ANS 的分类体系不同)、常见工作流和引用规则。兼容 Claude Code、Cursor、Codex,以及其他可读取 SKILL.md 格式的 Agent。
npx skills add cturkieh/france-data-mcp --skill france-data-mcp
如果没有 skills CLI:将 skills/france-data-mcp/ 目录复制到 ~/.claude/skills/(或 Agent 的 skills 目录)。该 skill 不会安装服务:请先配置选项 1 或 2。
为什么要做这个项目
官方 API(INSEE、FINESS DREES、RPPS ANS、Annuaire Ameli、Centres de Santé CNAM、IGN、DINUM)虽然存在,但分散、文档不足且有诸多陷阱:速率限制、专有 CSV 格式、DREES 数据延迟 1—2 个月、INSEE 数据不完整,以及 Ameli 与 RPPS 之间的映射不一致。
france-data-mcp 是首个对这些数据源进行事实交叉比对的 MCP,可用于回答具体问题——医疗服务供给制图、区域市场研究、本地新闻报道、公民科技。
覆盖范围 — 交叉整合 13 个公共数据源
- 🗺️ 地域(2):geo.api.gouv.fr(DINUM,市镇)、IGN Géoplateforme(地理编码)
- 🏥 医疗健康(3):FINESS / ANS(约 105 K 家在营机构,包括海外省 — 每日 JSON 数据流,取代于 2026 年 7 月停止更新的 DREES CSV)、Annuaire Santé Ameli(约 466 K 名自由执业人员)、RPPS / ANS(约 2.28 M 名在职医疗专业人员)
- 🩺 医疗中心(1):Annuaire santé CNAM(约 3 K 家机构,L.6323-1 CSP,每周同步)
- 📊 市镇内人口统计(2):INSEE IRIS(约 48.6 K 个街区 — RP 2022、FILOSOFI 2021 收入、IGN 边界)+ INSEE Melodi(参考人口)
- 🏢 企业(2):DINUM Recherche Entreprises + INSEE SIRENE V3.11
- 🏗️ 房地产(3):DVF 土地交易 / DGFiP(€/m²,PostGIS 惰性缓存)、Sit@del / SDES 建筑许可(已导入的表,每月 cron)、通过 apicarto / IGN 获取 PLU 中的 AU 区域(实时)
跨数据源:对 FINESS ↔ RPPS ↔ SIRENE 进行数据核对,以发现已关闭的 SIRET、品牌重塑和过时的法定名称。
MCP 工具(37 个工具)
🗺️ 地域(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” → 档案、精确坐标、已验证的市镇)
覆盖约 92% 数据量的 24 个类别。ANS 每日发布数据,每月 1 日和 15 日导入。
👨⚕️ Ameli 自由执业医疗专业人员(2)
professionnels_in_radius · professionnels_par_specialite_dept
仅限签约的自由执业人员(约 462 K)。发现专科 / 类型代码:
lister_nomenclature(见下文)。
🩺 全部医疗专业人员 — 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)
约 2.2 M 名在职医疗专业人员(自由执业人员 + 私营部门雇员 + 医院合同制员工 + 公职人员)。默认仅包括民事人员。
🩺 医疗中心 — Annuaire CNAM(2)
centres_sante_in_radius · centres_sante_by_finess
非营利性门诊医疗机构(L.6323-1 CSP,约 3 K 家)。与 FINESS 的 124 类别相比,独特之处在于提供Carte Vitale、APCV 和现场开展的专科(CNAM 附录 A,约 70 个代码)。坐标 = 市镇质心。每周同步。
📊 人口统计与密度 — INSEE Melodi + IRIS(3)
将 INSEE 参考人口与 RPPS / FINESS 交叉分析 — DREES 方法(每 10 万居民的比率)。采用 IRIS 粒度(街区,约 48.6K 个区域)表示需求,可与医疗服务供给交叉分析。
population(IRIS 9 位、市镇 5 位或省 2–3 位 — 根据代码长度自动检测粒度)· densite_sante(cible: professionnels 对应 RPPS 或 etablissements 对应 FINESS — 检验室、药房、EHPAD、医院;+ 全国对比物化视图 <50 ms)· profil_iris(point 或 code_iris,rayon_km?)— 获取某个区域或集水区的人口统计概况(年龄、社会职业类别、家庭、收入),数据基于 RP 2022 + FILOSOFI 2021
🔎 术语表发现(1)
lister_nomenclature(referentiel: ameli_specialites | ameli_types_ps | rpps_savoir_faire)— 在一个工具中提供 Ameli 专科 / 类型代码以及RPPS savoir_faire(取代原有的 3 个 lister_*)。
🧭 聚合器与综合研究(4)
panorama_sante_territoire(V0.9) — 1 次调用:人口 + 医生/护士/药剂师密度与全国数据对比 + 按类别统计 FINESS 数量(实验室、药房、EHPAD、MCO、MSP/CPTS)+ IRIS 需求模块(市镇人口概况:年龄、CSP、家庭、收入)。明确标注粒度(niveau: commune、niveauEtablissements: departement | indisponible)。inspect_site(V0.10) — 1 次调用查看机构全貌:FINESS 识别 + SIRENE 行政状态(SIRET 解析器)+ 关联的医疗专业人员(PS)+ INSEE 历史记录。panorama_implantation_complet(V0.23) — 1 次调用完成实验室选址研究:7 个部分(区域、服务区 IRIS 需求、竞争对手、MCO/EHPAD/SSR 转诊来源、RPPS+IDEL 处方者、健康中心、参考数据质量)。提供摘要,不提供原始列表;各部分可分别降级。enrichir_concurrents(V0.23) — 调查排名靠前的竞争对手(活跃状态 + 团队 + M&A 信号 + 母集团),max=3为硬上限。
🏗️ 房地产 — 选址潜力(2)
dynamique_immobiliere (V0.26) — 1 次调用完成综合分析:建筑许可证(Sit@del / SDES,按月导入的表)+ PLU 的 AU 区域(apicarto / IGN,实时)+ DVF 土地交易。输出分为 2 类:note(数量 → 评分)/ info(AU 社区 + 价格 → 背景信息);geojson = AU 区域多边形。· cout_foncier (V0.26) — DVF 中位 €/m² 价格(P25/P75、n_ventes、期间),仅提供信息。
DVF / DGFiP 来源(PostGIS 惰性缓存,匿名用户可读 / 服务可写)。AU 区域 = 实时;Sit@del 许可证 = 已导入的表(每月 10 日运行 cron)。专为选址报告设计。
🔀 多源交叉比对(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
公共防护措施
- 速率限制:
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)。 - GDPR:Axiom 中保留 30 天、IP 加盐哈希、访问权 / 删除权。完整政策见 PRIVACY.md。
高强度使用时:在客户端进行限流,或自行托管。
项目状态
✅ V0.31.0 — 正式运行中。 已加入 官方 MCP 注册表。详情:CHANGELOG。
最新版本(V0.31.0):
etablissement_finess_by_nom— 按名称查找医疗机构(「Institut Gustave Roussy」→ 机构档案、精确坐标、经验证的市镇,绝不会只返回第一条结果);Sit@del 建筑许可证改为从数据库读取(10.9 秒,而非 45 秒),当前年份单独于完整的 5 年数据提供,并修正了巴黎/里昂/马赛的「0 套住房」问题。13 个参考数据源 / 37 个工具。
参与贡献
提交 PR 前,请先创建 issue 进行讨论。
许可
MIT — 参见 LICENSE。数据仍遵循各自的许可:
| 来源 | 许可 | 必须注明 |
|---|---|---|
| FINESS | Licence Ouverte(Etalab) | « Source : FINESS, ANS/DREES » |
| Annuaire Santé Ameli | CSP 第 L.1461-2 条 | « Source : Annuaire santé Ameli, Assurance Maladie » |
| DINUM Recherche Entreprises | Licence Ouverte | « Source : Annuaire des Entreprises, DINUM » |
| INSEE | Licence Ouverte | « Source : Insee » |
| IGN Géoplateforme / apicarto | Licence Ouverte | « © IGN/Géoplateforme », « GPU — apicarto IGN » |
| geo.api.gouv.fr | Licence Ouverte | « Source : geo.api.gouv.fr (Etalab) » |
| DVF(土地价值申请) | Licence Ouverte | « Source : DVF, DGFiP / Etalab » |
| Sit@del(建筑许可证) | Licence Ouverte | « Source : Sit@del, SDES (API DiDo) » |
致谢
感谢 DINUM、Etalab、Atlasanté、ANS、INSEE、IGN 提供优质的 API。感谢 data.gouv.fr 推动 civic-tech。感谢 Anthropic 提供 MCP 协议。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。