GeoSource-MCP
接口 MCP de recuperação de dados para serviços GIS globais e catálogo de camadas, com 2.198+ endpoints espaciais (WMS, WMTS, XYZ, ArcGIS REST, STAC), suportando busca inteligente e carregamento em mapa com um clique.
Documentação
GeoSource MCP 🌍
Um servidor MCP (Model Context Protocol) para Serviços GIS Globais e Camadas Espaciais
Interface de recuperação de dados padrão MCP para serviços espaciais GIS globais e catálogo de camadas
🌐 English
Visão Geral
GeoSource MCP é um servidor de código aberto Model Context Protocol (MCP) que fornece acesso estruturado a um catálogo indexado de 2.198 serviços espaciais GIS globais e 1.561 subcamadas.
Quando desenvolvedores criam mapas, pipelines de análise espacial ou rastreadores GIS usando assistentes de IA (Claude Desktop, Cursor, Windsurf, etc.), os modelos de linguagem frequentemente têm dificuldade em localizar endpoints reais ou gerar URLs não funcionais. O GeoSource MCP conecta ambientes de IA diretamente a um banco de dados SQLite local indexado (gis_services.db), permitindo descoberta de baixa latência e multicritério de serviços espaciais verificados em OGC WMS, WFS, WMTS, XYZ Tiles, ArcGIS REST, STAC e APIs de Dados Abertos.
Principais Características de Engenharia
- Descoberta Estruturada: Ajuda modelos de IA a localizar endpoints existentes e funcionais em vez de adivinhar URLs.
- Recuperação de Baixo Custo: Busca apenas registros correspondentes (tipicamente 200 ~ 500 tokens por pesquisa) sob demanda, evitando o custo e a latência de carregar megabytes de arquivos brutos nos prompts.
- Verificação Transparente: Rastreia status de disponibilidade explícitos:
- 1.495 Verificados Ativos (68,0%): Confirmados acessíveis por meio de verificações automatizadas de conectividade ou documentação oficial autoritativa.
- 649 Pendentes / Não Verificados (29,5%): Entradas catalogadas aguardando verificação adicional ou restritas por limites de rede.
- 54 Obsoletos / Inativos (2,5%): Serviços legados documentados mantidos para referência.
- Manutenção Bidirecional: Suporta sincronização com Excel e fornece ferramentas para agentes de IA relatarem atualizações de status e novos endpoints.
Conteúdo do Catálogo e Protocolos
| Categoria | Protocolos Suportados | Fontes de Dados Notáveis |
|---|---|---|
| Portais de Dados Abertos (1.190) | CKAN, Socrata, DKAN, ArcGIS Hub, REST API | Data.gov, Eurostat, Open Data DC, hubs regionais de dados abertos |
| Serviços Padrão OGC (147) | WMS 1.1.1/1.3.0, WFS 1.0/2.0, WMTS 1.0.0 | PDOK (Países Baixos), geo.admin.ch (Suíça), MML (Finlândia) |
| Trânsito e Rotas (151) | GTFS, GTFS-RT, OSRM, REST API | OpenRouteService, Transitland, agências de trânsito municipais |
| Tiles de Mapa Base (65) | XYZ Slippy Maps, WMTS, Vector Tiles | OpenStreetMap, Carto, Stadia, OpenTopoMap, MapTiler |
| Plataformas ArcGIS (100) | ArcGIS Server REST, FeatureServer, MapServer | Esri Living Atlas, endpoints REST ArcGIS federais e municipais |
| Sensoriamento Remoto / STAC (67) | STAC API 1.0, OGC API Records, COG | Earth Search, Microsoft Planetary Computer, USGS Landsat |
| Geoespacial 3D (31) | 3D Tiles, CityGML, I3S | Ativos abertos Cesium ion, modelos 3D de edifícios municipais |
Ferramentas MCP Disponíveis
| Ferramenta | Parâmetros | Finalidade |
|---|---|---|
search_gis_services | keyword, country, protocol, category, is_free, need_no_key, limit | Pesquisa serviços com base em múltiplos critérios com correspondência sem distinção de maiúsculas/minúsculas. |
get_service_detail | service_id | Recupera metadados completos (mais de 50 campos) e camadas filhas para um ID de serviço específico (sem distinção de maiúsculas/minúsculas). |
list_categories_and_stats | (Nenhum) | Retorna estatísticas resumidas de categorias, protocolos, países e status de verificação. |
query_gis_sql | query | Executa consultas SELECT seguras e somente leitura no banco de dados SQLite (limitado a 100 linhas). |
update_service_status | service_id, new_url, status, notes | Atualiza disponibilidade de serviço, URLs ou notas com enums de status validados. |
Primeiros Passos
1. Requisitos e Instalação
Requer Python 3.10+:
git clone https://github.com/Wukeeeeee/GeoSource-MCP.git
cd GeoSource-MCP
pip install -r requirements.txt
2. Executar Autoteste
Verifique se o banco de dados e todas as ferramentas MCP funcionam conforme o esperado:
python server.py --test
Você deve ver: [TEST] All tests passed! Ready for MCP clients.
3. Configuração do Cliente
Claude Desktop
Adicione ao seu claude_desktop_config.json:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"geosource": {
"command": "python",
"args": ["<FULL_PATH_TO_GEOSOURCE>/server.py"]
}
}
}
Cursor / IDEs
Nas configurações de MCP do seu IDE, adicione um novo servidor stdio:
- Comando:
python - Argumentos:
<FULL_PATH_TO_GEOSOURCE>/server.py
🇨🇳 中文说明
项目简介
GeoSource MCP 是一个基于 Model Context Protocol (MCP) 标准的开源数据服务程序。它为各类 AI 编程与分析助手(Claude Desktop、Cursor、Windsurf 等)提供对本地结构化索引的 2,198 个全球真实 GIS 空间服务 与 1,561 个地图图层 的检索工具。
在开发地图应用或编写空间数据处理脚本时,大模型通常无法准确掌握全球各机构公开的实时服务接口,容易推断出不可用的链接。GeoSource MCP 直接连接本地 SQLite 数据库(gis_services.db),帮助 AI 快速检索真实的可用服务与图层参数。
工程特性与设计原则
- 结构化发现,降低幻觉:提供经过结构化收录的真实服务端点,辅助 AI 编写准确的地图调用代码。
- 按需低开销检索:每次仅检索返回匹配的 3
5 条记录(约 200500 Tokens),避免将数兆字节的原始表格强行填入上下文窗口。 - 透明的可用性状态:
- 已验证(1,495 条,占比 68.0%):经自动化连通性探测或官方文档确认为可用。
- 未验证(649 条,占比 29.5%):已整理归类,待进一步探测或受跨国网络连通性限制。
- 已停止(54 条,占比 2.5%):已下线或历史归档服务,保留供查阅追溯。
- 双向维护支持:支持与 Excel 表格双向数据同步,并提供更新接口供 AI 助手汇报失效链接与新地址。
数据分类与协议支持
| 分类 | 协议类型 | 典型代表 |
|---|---|---|
| 开放数据门户 (1,190 条) | CKAN, Socrata, DKAN, ArcGIS Hub, REST API | Data.gov、欧盟数据门户、开放广东、各级城市开放数据中心 |
| OGC 标准服务 (147 条) | OGC WMS (1.1.1/1.3.0), WFS, WMTS | 荷兰 PDOK、瑞士联邦地图、芬兰测绘局等国家级测绘局 |
| 交通与路网 (151 条) | GTFS, GTFS-RT, OSRM, REST API | OpenRouteService、Transitland、各地铁公交调度 API |
| 底图瓦片 (65 条) | XYZ 栅格瓦片, WMTS, 矢量瓦片 | OpenStreetMap, Carto, Stadia Maps, OpenTopoMap |
| ArcGIS 平台 (100 条) | ArcGIS REST (MapServer, FeatureServer) | Esri Living Atlas、各国政府与水务气象机构 REST 服务 |
| 遥感时空资产 (67 条) | STAC API 1.0, OGC API Records, COG | Earth Search、行星计算机、USGS Landsat 卫星时空目录 |
| 三维空间数据 (31 条) | 3D Tiles, CityGML, I3S | Cesium ion 开放资产、城市级白模与倾斜摄影服务 |
MCP 工具一览
| 工具名称 | 输入参数 | 功能说明 |
|---|---|---|
search_gis_services | keyword, country, protocol, category, is_free, need_no_key, limit | 多条件筛选查询空间服务(支持大小写无关模糊匹配)。 |
get_service_detail | service_id | 获取该服务的 50 余项详细元数据与关联子图层列表。 |
list_categories_and_stats | 无 | 获取数据库总体量、各大类、协议分布及验证状态统计。 |
query_gis_sql | query | 对 SQLite 数据库执行只读 SELECT SQL 查询(内置上限 100 行保护)。 |
update_service_status | service_id, new_url, status, notes | 经枚举校验后更新服务的可用状态、新 URL 或备注信息。 |
快速开始
1. 安装依赖
git clone https://github.com/Wukeeeeee/GeoSource-MCP.git
cd GeoSource-MCP
pip install -r requirements.txt
2. 本地快速自测
python server.py --test
3. 配置客户端连接
Claude Desktop
编辑配置文件(Windows: %APPDATA%\Claude\claude_desktop_config.json,macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"geosource": {
"command": "python",
"args": ["E:/my_repo/GeoSource/server.py"]
}
}
}
Cursor / 其他 IDE
在 MCP 配置页面添加 stdio 服务:
- Command:
python - Args:
E:/my_repo/GeoSource/server.py
📁 数据库表结构 (Database Schema)
master:主服务表(主键service_id,包含服务名、提供方、国家、协议、服务地址、格式、认证方式、验证状态等 54 个字段,建有 9 个核心索引)。layers:子图层表(联合主键(service_id, layer_idx),记录服务所属图层名称)。ecosystem:开源 GIS 软件库、SDK 与数据库工具链表。
📄 Licença
Licença MIT © 2026 Autores GeoSource