Back to MCP directory
publicPublicdnsLocal runtime

mcp-datagouv-ign

一个完整的MCP服务器,提供法国公共数据和地理信息服务,包括数据搜索、地图服务、路径规划、高程计算和地理编码等功能

article

README

🚀 法国开放数据与国家地理信息研究所(IGN)MCP 服务器

这是一个完整的 MCP 服务器,可让 Claude 访问法国公共数据和国家地理信息服务。

🚀 快速开始

本 MCP 服务器可助力 Claude 访问法国公共数据和国家地理信息服务。若要使用,需完成以下安装步骤。

📦 安装指南

1. 安装依赖项

pip install -r requirements.txt

⚠️ 重要提示

GeoPandas 依赖项涉及 GDAL、PROJ 和 GEOS。 macOS:在安装 Python 之前,先执行 brew install gdalLinux:安装 gdal-bin libgdal-dev proj-bin 软件包。 Windows:建议使用包含 GeoPandas 轮子的 Python 发行版(如 conda/mini - forge),或者从 https://www.gisinternals.com/ 安装 GDAL。

2. 配置 Claude Desktop

macOS:配置文件路径为 ~/Library/Application Support/Claude/claude_desktop_config.json
Windows:配置文件路径为 %APPDATA%\Claude\claude_desktop_config.json
Linux:配置文件路径为 ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "french-opendata": {
      "command": "python",
      "args": [
        "/CHEMIN/ABSOLU/VERS/french_opendata_complete_mcp.py"
      ]
    }
  }
}

⚠️ 重要提示

请将 /CHEMIN/ABSOLU/VERS/ 替换为你实际存放文件的路径。

3. 重启 Claude Desktop

完全关闭 Claude Desktop 后重新启动。

✨ 主要特性

📦 数据来源

1. data.gouv.fr - 公共数据开放平台

  • 搜索数据集
  • 获取组织信息
  • 查看数据再利用情况

2. IGN 地理平台 - 地图服务、导航和高程测量

  • WMTS:预生成的地图切片(速度快)
  • WMS:按需生成的地图(可定制)
  • WFS:矢量数据(用于分析)
  • 路线规划:计算优化路线
  • 等时线:时间/距离可达性区域
  • 高程测量:计算海拔和高程剖面

3. 地址 API - 国家地理编码

  • 地址 → GPS 坐标转换
  • GPS 坐标 → 地址转换
  • 地址自动补全

4. 地理 API - 行政区划

  • 35000 多个法国市镇
  • 省和地区信息
  • 人口统计数据

🛠️ 可用工具(共 38 个)

Data.gouv.fr(6 个工具)

  • search_datasets - 搜索数据集
  • get_dataset - 获取数据集详情
  • search_organizations - 搜索组织
  • get_organization - 获取组织详情
  • search_reuses - 搜索数据再利用情况
  • get_dataset_resources - 列出数据集文件

IGN 地理平台 - 地图服务(9 个工具)

  • list_wmts_layers - 列出 WMTS 图层
  • search_wmts_layers - 搜索 WMTS 图层
  • get_wmts_tile_url - 获取 WMTS 切片 URL
  • list_wms_layers - 列出 WMS 图层
  • search_wms_layers - 搜索 WMS 图层
  • get_wms_map_url - 获取 WMS 地图 URL
  • list_wfs_features - 列出 WFS 要素
  • search_wfs_features - 搜索 WFS 要素
  • get_wfs_features - 获取矢量数据

IGN 地理平台 - 导航(3 个工具)

  • get_route_capabilities - 获取路线规划能力(资源、配置文件)
  • calculate_route - 计算两点间的最佳路线
  • calculate_isochrone - 计算等时线/等距线

IGN 地理平台 - 高程测量(3 个工具)

  • get_altimetry_resources - 列出高程资源(数字地形模型、数字表面模型)
  • get_elevation - 获取一个或多个点的海拔
  • get_elevation_line - 计算高程剖面(高差)

地址 API(3 个工具)

  • geocode_address - 地址转 GPS 坐标
  • reverse_geocode - GPS 坐标转地址
  • search_addresses - 地址自动补全

地理 API(6 个工具)

  • search_communes - 搜索市镇
  • get_commune_info - 获取市镇完整信息
  • get_departement_communes - 获取省份的市镇信息
  • search_departements - 搜索省份
  • search_regions - 搜索地区
  • get_region_info - 获取地区信息

空间处理(8 个工具)

  • reproject_geodata - 将数据集重新投影到目标坐标系
  • buffer_geodata - 计算具有指定样式的缓冲区
  • intersect_geodata - 计算两个矢量图层的交集
  • clip_geodata - 按几何图形裁剪图层
  • convert_geodata_format - 转换 GeoJSON ↔ KML ↔ GeoPackage ↔ Shapefile(Base64 编码)
  • get_geodata_bbox - 返回边界框(最小 x/最小 y/最大 x/最大 y)
  • dissolve_geodata - 合并几何图形并进行属性聚合
  • explode_geodata - 拆分多部分几何图形

💻 使用示例

地理编码 + 地图展示

"对地址 '1 Avenue des Champs - Élysées, Paris' 进行地理编码,然后在 IGN 地图上显示该地址"

区域搜索

"里昂的人口是多少?展示其正射影像并查找开放数据"

地理分析

"以 GeoJSON 格式获取布列塔尼的行政边界"

路线计算

"计算巴黎到里昂的最快驾车路线"

等时线分析

"展示从马赛市中心驾车 30 分钟可达的区域"

高程测量

"勃朗峰的海拔是多少?"

"计算格勒诺布尔到阿尔普迪埃的高程剖面和高差"

📚 详细文档

📁 文件结构

mcp-datagouv-ign/
├── french_opendata_complete_mcp.py    # 主服务器文件
├── ign_geo_services.py                # IGN 模块(地图 + 导航 + 高程测量)
├── test_navigation.py                 # 导航测试文件
├── test_altimetrie.py                 # 高程测量测试文件
├── requirements.txt                   # 依赖项文件
├── README.md                          # 主要文档
├── EXEMPLES_NAVIGATION.md             # 详细导航示例
├── EXEMPLES_ALTIMETRIE.md             # 详细高程测量示例
└── CHANGELOG.md                       # 版本历史记录

🔧 故障排除

服务器无法启动

  1. 检查 Python 版本是否为 3.8 及以上:python --version
  2. 检查依赖项:pip list | grep -E "mcp|httpx"
  3. 检查配置文件中的绝对路径

工具未在 Claude 中显示

  1. 完全重启 Claude Desktop
  2. 检查日志:菜单 → 设置 → 开发者

连接错误

  • 检查你的网络连接
  • 公共 API 可能有流量限制

📚 API 文档

  • data.gouv.fr:https://doc.data.gouv.fr/api/
  • IGN 地理平台:https://geoservices.ign.fr/
  • IGN 导航:https://geoservices.ign.fr/documentation/services/services - geoplateforme/itineraire
  • IGN 高程测量:https://geoservices.ign.fr/documentation/services/services - geoplateforme/altimetrie
  • 地址 API:https://adresse.data.gouv.fr/api - doc/adresse
  • 地理 API:https://geo.api.gouv.fr/

如需详细的导航工具使用示例,请参考 EXEMPLES_NAVIGATION.md

🎨 热门 IGN 图层

WMTS/WMS

  • ORTHOIMAGERY.ORTHOPHOTOS - 航空照片
  • GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2 - IGN 地图
  • CADASTRALPARCELS.PARCELLAIRE_EXPRESS - 地籍图
  • TRANSPORTNETWORKS.ROADS - 公路网
  • ADMINISTRATIVEUNITS.BOUNDARIES - 行政边界

WFS(矢量数据)

  • ADMINEXPRESS - COG - CARTO.LATEST:commune - 市镇
  • ADMINEXPRESS - COG - CARTO.LATEST:departement - 省份
  • BDTOPO_V3:batiment - 建筑物

📄 许可证

本 MCP 服务器使用法国公共 API。请查阅每个服务的使用条款。

🆘 支持

如有任何问题:

  1. 查阅 API 文档
  2. 检查 Claude Desktop 日志
  3. 确保使用的是 MCP SDK 的最新版本

本项目旨在方便访问法国开放数据 🇫🇷

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client