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 • 中文说明

MCP Glama Approved Python License Services Verified Layers


🌐 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

CategoriaProtocolos SuportadosFontes de Dados Notáveis
Portais de Dados Abertos (1.190)CKAN, Socrata, DKAN, ArcGIS Hub, REST APIData.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.0PDOK (Países Baixos), geo.admin.ch (Suíça), MML (Finlândia)
Trânsito e Rotas (151)GTFS, GTFS-RT, OSRM, REST APIOpenRouteService, Transitland, agências de trânsito municipais
Tiles de Mapa Base (65)XYZ Slippy Maps, WMTS, Vector TilesOpenStreetMap, Carto, Stadia, OpenTopoMap, MapTiler
Plataformas ArcGIS (100)ArcGIS Server REST, FeatureServer, MapServerEsri Living Atlas, endpoints REST ArcGIS federais e municipais
Sensoriamento Remoto / STAC (67)STAC API 1.0, OGC API Records, COGEarth Search, Microsoft Planetary Computer, USGS Landsat
Geoespacial 3D (31)3D Tiles, CityGML, I3SAtivos abertos Cesium ion, modelos 3D de edifícios municipais

Ferramentas MCP Disponíveis

FerramentaParâmetrosFinalidade
search_gis_serviceskeyword, country, protocol, category, is_free, need_no_key, limitPesquisa serviços com base em múltiplos critérios com correspondência sem distinção de maiúsculas/minúsculas.
get_service_detailservice_idRecupera 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_sqlqueryExecuta consultas SELECT seguras e somente leitura no banco de dados SQLite (limitado a 100 linhas).
update_service_statusservice_id, new_url, status, notesAtualiza 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 编写准确的地图调用代码。
  • 按需低开销检索:每次仅检索返回匹配的 35 条记录(约 200500 Tokens),避免将数兆字节的原始表格强行填入上下文窗口。
  • 透明的可用性状态:
    • 已验证(1,495 条,占比 68.0%):经自动化连通性探测或官方文档确认为可用。
    • 未验证(649 条,占比 29.5%):已整理归类,待进一步探测或受跨国网络连通性限制。
    • 已停止(54 条,占比 2.5%):已下线或历史归档服务,保留供查阅追溯。
  • 双向维护支持:支持与 Excel 表格双向数据同步,并提供更新接口供 AI 助手汇报失效链接与新地址。

数据分类与协议支持

分类协议类型典型代表
开放数据门户 (1,190 条)CKAN, Socrata, DKAN, ArcGIS Hub, REST APIData.gov、欧盟数据门户、开放广东、各级城市开放数据中心
OGC 标准服务 (147 条)OGC WMS (1.1.1/1.3.0), WFS, WMTS荷兰 PDOK、瑞士联邦地图、芬兰测绘局等国家级测绘局
交通与路网 (151 条)GTFS, GTFS-RT, OSRM, REST APIOpenRouteService、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, COGEarth Search、行星计算机、USGS Landsat 卫星时空目录
三维空间数据 (31 条)3D Tiles, CityGML, I3SCesium ion 开放资产、城市级白模与倾斜摄影服务

MCP 工具一览

工具名称输入参数功能说明
search_gis_serviceskeyword, country, protocol, category, is_free, need_no_key, limit多条件筛选查询空间服务(支持大小写无关模糊匹配)。
get_service_detailservice_id获取该服务的 50 余项详细元数据与关联子图层列表。
list_categories_and_stats无获取数据库总体量、各大类、协议分布及验证状态统计。
query_gis_sqlquery对 SQLite 数据库执行只读 SELECT SQL 查询(内置上限 100 行保护)。
update_service_statusservice_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