mcpField
F
France Territorial Intelligence Mcp — Health · Business · Geo

France Territorial Intelligence Mcp — Health · Business · Geo

远程服务
github.com/cturkieh数据与分析42 周前更新
代码仓库

关于 France Territorial Intelligence Mcp — Health · Business · Geo

france-data-mcp 是一个 TypeScript MCP 服务,整合并核对法国 13 个公共数据源,涵盖医疗、企业、人口、地理和房地产。它面向区域分析、医疗资源制图、市场研究和 civic-tech,提供可组合查询,并显示数据源的新鲜度。

主要功能

  1. 01交叉核对 13 个公共数据源
  2. 02查询医疗机构和从业人员
  3. 03结合医疗供给与人口数据
  4. 04分析房价、建筑许可和规划区
  5. 05提供 37 种工具及综合研究

适用场景

  1. 01绘制社区医疗资源分布
  2. 02评估医疗选址的本地市场和竞争者
  3. 03比对公共记录以核实机构状态
  4. 04评估潜在选址的房地产情况

MCP 相关

向 MCP 客户端提供 37 种工具,用于查询和核对法国医疗、企业、人口、地理及房地产公共数据。客户端可连接远程端点,或使用转发至该端点的 npm stdio 封装。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://france-data-mcp.vercel.app/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npmfrance-data-mcp0.31.1

工具

36
参数类型必填说明
nomstring否按名称搜索(自动补全)。例如:“Villeneuve d'Ascq”、“Lyon”。
codePostalstring否精确邮政编码(5 位数字)。例如:“59650”。
codestring否精确 INSEE 代码(5 个字符)。例如:“59009”。
limitnumber否最大结果数(1-30,默认 10)。
boostPopulationboolean否按人口降序排序。建议用于名称含糊的情况(例如:'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 区域),并展示每个数据源的更新情况。

License: MIT CI MCP npm smithery badge

🇫🇷 主要文档为法语。英文版本 →


安装

选项 1 — 远程 URL(claude.ai、Claude Code、Cursor)

https://france-data-mcp.vercel.app/mcp

客户端配置
claude.aiSettings → 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。数据仍遵循各自的许可:

来源许可必须注明
FINESSLicence Ouverte(Etalab)« Source : FINESS, ANS/DREES »
Annuaire Santé AmeliCSP 第 L.1461-2 条« Source : Annuaire santé Ameli, Assurance Maladie »
DINUM Recherche EntreprisesLicence Ouverte« Source : Annuaire des Entreprises, DINUM »
INSEELicence Ouverte« Source : Insee »
IGN Géoplateforme / apicartoLicence Ouverte« © IGN/Géoplateforme », « GPU — apicarto IGN »
geo.api.gouv.frLicence 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 协议。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。