README
🚀 法国开放数据与国家地理信息研究所(IGN)MCP 服务器
这是一个完整的 MCP 服务器,可让 Claude 访问法国公共数据和国家地理信息服务。
🚀 快速开始
本 MCP 服务器可助力 Claude 访问法国公共数据和国家地理信息服务。若要使用,需完成以下安装步骤。
📦 安装指南
1. 安装依赖项
pip install -r requirements.txt
⚠️ 重要提示
GeoPandas 依赖项涉及 GDAL、PROJ 和 GEOS。 macOS:在安装 Python 之前,先执行
brew install gdal。 Linux:安装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 切片 URLlist_wms_layers- 列出 WMS 图层search_wms_layers- 搜索 WMS 图层get_wms_map_url- 获取 WMS 地图 URLlist_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 # 版本历史记录
🔧 故障排除
服务器无法启动
- 检查 Python 版本是否为 3.8 及以上:
python --version - 检查依赖项:
pip list | grep -E "mcp|httpx" - 检查配置文件中的绝对路径
工具未在 Claude 中显示
- 完全重启 Claude Desktop
- 检查日志:菜单 → 设置 → 开发者
连接错误
- 检查你的网络连接
- 公共 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。请查阅每个服务的使用条款。
🆘 支持
如有任何问题:
- 查阅 API 文档
- 检查 Claude Desktop 日志
- 确保使用的是 MCP SDK 的最新版本
本项目旨在方便访问法国开放数据 🇫🇷
Scan to join WeChat group