GPA MCP工具

SuperMap GPA MCP 工具是 SuperMap AgentX Server 基于 SuperMap GPA 核心能力打造的工具体系,整合了 SuperMap GPA 空间数据处理、分析、管理与格式交换能力,可满足地理信息领域多场景的空间数据加工、分析、管理及跨平台交互需求。同时面向智能体调用场景完成能力封装,为各类智能体提供专业、高效的 GIS 工具调用支撑。

版本说明

GPA MCP 工具集已升级至 V2.2 版本。V2.2 版本规范了参数定义标准,补齐了返回结果定义、错误提示规范和任务状态统一三项标准,规范工具调用参数,整体降低智能体的误调用率,提升多步任务的成功率。同时,V2.2版本支持 Streamable HTTP 传输协议,并兼容 SSE 协议。

2.2版本工具集当前已覆盖首页、自主规划式智能体、低代码搭建工作流智能体;MCP服务管理模块中内置了2.2、2.1与2.0版本的GPA MCP 服务,支持切换查看。

工具介绍

GPA MCP 工具目前已拆分出 14 个功能独立且互补的工具集,覆盖空间数据处理、格式转换、栅格分析、数据管理、类型转换、矢量分析、镶嵌数据集管理等空间数据处理能力,同时支持连接 PostgreSQL 等外部数据库空间数据,能够高效串联业务需求

各工具集的功能概述、工具详情如下表所示,所有工具集可单独调用,也可根据业务需求组合使用。

序号 工具集名称 功能概述 工具详情
1 通用工具集 是GPA MCP 工具体系的基础支撑类工具集,聚焦 GIS 数据操作与任务管理基础需求,提供数据集检索、获取及异步任务状态查询等核心基础服务能力,适用于数据目录浏览、数据集快速定位、异步任务监控等场景,为各类 GIS 数据处理业务提供前置的数据检索与任务管控支撑,提升数据操作与任务管理效率。 共 9 个工具:关键字搜索数据集、智能搜索数据集(自动选择最佳策略)、按名称获取数据集信息、列出所有数据集(支持分页)、查询异步任务执行状态和结果、语义搜索数据集(智能理解自然语言查询)、按标签搜索数据集、按分类搜索数据集、列出数据分类
2 数据迁移工具集 包含导入类、导出类和数据迁移类工具,提供强大的多格式数据互操作与交换能力,支持主流GIS、CAD、三维模型及表格数据的输入与输出。 共 17 个工具,导入类包括导入Excel、CSV、DWG、FileGDBVector、ModelOBJ、ModelDAE、Model3DS、ModelGLTF、ModelX、ModelDXF、ModelFBX、Geo3DML、geojsonToDataset;导出类包括导出为GeoJSON、FileGDBVector、SHP;数据迁移类包括将倾斜摄影数据导出为ECW。
3 栅格分析工具集 包含坡向分析、提取三维数据等工具,提供了栅格数据分析与处理等能力,适用于地形分析、资源调查、环境监测等场景,能够处理地形特征提取、数据插值、栅格与矢量数据转换等需求。 共 20 个工具:坡向分析、提取三维数据、提取指定面、提取指定线、提取等值面、点数据提取线、坡度分析、提取等值线、曲率计算、栅格矢量化、矢量栅格化、生成距离栅格(直线)、邻域统计、栅格数据基本统计、区域统计、区域几何统计、区域几何统计至属性表、普通克吕金、障碍样条、距离反比权重。
4 数据管理工具集 包含重建空间索引、创建矢量数据集等工具,提供了核心的空间数据组织、维护与优化能力,保障数据的完整性和可用性,适用于数据库管理、数据维护等场景。 共 7 个工具:重建空间索引、创建矢量数据集、删除数据集、数据集投影转换、矢量数据集坐标系转换、创建栅格数据金字塔、创建影像数据金字塔。
5 类型转换工具集 包含二三维数据集转换等工具,提供了丰富的空间数据类型与维度间相互转换的功能,实现点、线、面、体及网络数据结构的灵活变换,适用于三维建模与可视化、二维制图与打印等业务场景。 共 15 个工具: 三维线->二维线、二维点->三维点、二维线->三维线、二维面->三维面、三维点->二维点、三维面->二维面、二维线->二维面、二维点->二维线、二维面->二维点、三维点->三维线、二维线->二维点、二维面->二维线、三维面->三维线、简单数据->CAD、网络->点。
 
6 矢量分析工具集 包含SQL查询、空间拓扑关系查询等工具,提供了基于矢量数据的空间关系判断、叠加运算与缓冲区分析的能力,适用于土地利用分析、选址分析、影响范围评估等业务场景。 共 12 个工具: 创建地理缓冲区、SQL查询、空间拓扑关系查询、标识叠加分析、裁剪、多图层求交、多图层联合、擦除、交集取反(对称差)、更新、求交分析、联合分析
7 镶嵌数据集工具集 包含创建影像金字塔、构建概视图等工具,提供了针对海量多源影像数据的专业化管理、处理与优化能力,适用于遥感影像管理、正射影像库建设等场景。 共 9 个工具: 构建概视图(多进程)、创建影像金字塔、构建概视图、重建影像金字塔、重新指定路径、计算统计数据、添加影像数据、添加影像数据 (多进程)、创建镶嵌数据集。
8 矢量查询工具集 矢量查询工具集提供了直连数据库执行 SELECT 查询的能力,快速返回 JSON 格式结果。适用于快速明细数据读取、统计查询等即时返回场景,不生成结果数据集,不写入 GPA 结果库。 共 1 个工具:直连数据库模式
9 栅格处理工具集 栅格处理工具集提供专业的栅格数据加工与分析能力,用于遥感影像处理、地形数据优化、空间分析模型构建、土地利用监测、生态环境评估等场景。 共 14 个工具:栅格数据重采样、栅格数据重分级、多图层加权叠加分析、影像合成、栅格数据更新、栅格镶嵌、等分重采样、栅格裁剪、轮廓提取、构建重分级区间、分割(自然间断法重分级)、归一化植被指数、聚合、归一化水体指数
10 矢量处理工具集 矢量处理工具集提供全面的矢量数据加工与优化能力,适用于地理数据整理、空间数据质量优化、属性信息加工、空间统计分析等场景,广泛应用于城市地理数据管理、自然资源调查、国土空间规划等领域。 共23个工具:矢量数据集合并、包含对象个数统计、几何属性计算、图幅接边、边界提取
 、矢量数据裁剪、矢量数据融合、碎多边形合并、指定ID碎多边形合并、查询提取对象ID、属性追加(连接)、矢量数据追加、字段值批量更新、矢量数据集拆分、移除冗余节点(简化)、添加字段、删除字段、空间属性更新、按条件删除对象、多部分拆解、面要素邻近聚合、计算总面积、计算几何对象个数
11 聚类分布工具集 聚类分布工具集提供专业的空间聚类分析与热点识别能力。适用于城市空间分布研究、商业选址分析、灾害热点识别、人口分布分析等场景。 共5个工具:优化的热点分析、k均值聚类、均值偏移聚类、空间密度聚类、聚类和异常值分析、热点分析
12 制图与发布工具集 制图工具集提供了专业的地图制图与地图服务发布的能力。适用于按模板创建地图、发布地图服务并生成瓦片服务的场景。 共 5个工具:图层模板查询、图层模板创建、基于模板制图、地图瓦片生成和地图资源查询
13 分布式矢量分析工具集 分布式矢量分析工具集提供了在大量数据情况下,基于矢量数据的空间关系判断、叠加运算的能力,是进行地理空间查询与逻辑运算的关键工具包。适用于土地利用分析、选址分析、影响范围评估、数据叠加融合、空间数据更新、数据按区域提取以及复杂的空间查询与筛选任务。 共 7个工具:空间标识叠加分析、裁剪、求交、联合、擦除、交集取反(对称差)、更新
14 高级工具集 高级工具集存放能力较强、需谨慎调用的工具。 共1个工具:完整 SELECT 查询并落库为结果数据集

如果需要在工具调用过程中插入自定义的参数校验、结果加工或审计逻辑,或者完全自定义某个工具的业务处理过程,可以对 GPA MCP 工具进行代码级扩展,详见GPA MCP 工具扩展概述。

工具部署

  • Docker安装包

编辑环境变量配置文件.env ,添加 iServer 服务接口地址和访问 iServer 服务所需的查询参数认证的 token值。token 可前往 iServer 服务,点击用户名,在下拉菜单的"令牌”处申请。

...
# ENV for gpa mcp server
GPA_ISERVER_ROOT_URL=http://{ip地址}:{端口}/iserver
GPA_ISERVER_TOKEN=<生成的令牌>

...

  • Kubernetes安装包

编辑环境变量配置文件values.yaml ,添加 iServer 服务接口地址和访问 iServer 服务所需的查询参数认证的 token值。token 可前往 iServer 服务,点击用户名,在下拉菜单的"令牌”处申请。

# GIS 服务配置

iserver:
  provider: "Built-in"       #可选值: Built-in | External | None
  username: "agentx_admin"
  password: "agentx@2025"
  rootUrl: "http://agentx-iserver:8090/iserver"
  token: "<生成的令牌>"

...

 

工具配置

分布式矢量分析工具集基于 Spark 执行分布式矢量叠加分析,其 Spark 运行环境通过配置文件 spark_env.yaml 统一管理。该配置由运维在部署侧设置,对调用方( 大模型或 MCP 调用方)不可见,调用方无需感知 Spark 部署模式。配置仅对"分布式矢量分析"工具集下的 7 个工具生效,其余工具集不受影响。

产品包默认内置 spark_env.yaml,初始状态为未启用(enabled: false),此时 GPA 按内置默认值以 Spark Local 模式运行 。Docker 安装包中该文件位于 cfg/gpa_mcp/v2_cfg/spark_env.yaml,部署时通过 docker-compose 挂载至容器内 /app/gpa_mcp/mcptools /v2/config/spark_env.yaml。配置文件默认内容如下:

enabled: false
mode: local
master: "local[*]"
appName: "BDTSpark"
settings:
spark.network.timeout: "3600s"
spark.kryoserializer.buffer.max: "2000m"

各字段说明如下:

字段 说明
enabled 是否启用本配置。设为 false 时以下字段全部忽略,不向 GPA 传递 Spark 环境参数,GPA 按内置默认值以 Local 模式运行;设为 true 时,配置内容会被自动转换为 GPA 所需的 environments 参数并随工具调用请求一并提交。
mode 运行模式标注,取值为 local,仅用于标识与校验,不直接传递给 GPA。GPA 侧实际依据 master 字段的值确定运行模式。
master Spark Master 地址。取 local[*](使用所有可用核心)或 local[N](固定 N 个线程)。
appName Spark 应用名称,可由不同工具共用同一个名称。
settings Spark 配置项,以"键: 值"形式编写,会被转换为 GPA 要求的 ["key=value", ...] 字符串数组。

Local 模式

将 master 设为 local[*] 或 local[N] 即以 Local 模式运行。该模式下 Spark 在本 机以多线程方式执行,无需独立集群,适用于数据量适中的场景。

注意:

spark.kryoserializer.buffer.max 取值必须小于 2048 MiB,否则 Spark 初始化 SparkContext 时会直接抛出异常导致任务失败。

master 默认取 local[*],会占用本机所有可用 CPU 核心运行。当计算量较大时,该模式可能一次性占满全部空闲核心,导致并发的其他 GPA 任务或共享同一机器的服务因无法获取资源而阻塞;此类场景下建议将 master 显式设为 local[N](如 local[4])以限制单次任务占用的核数,为其他任务预留资源。

master 设为 local[N] 时,N 不能超过运行 GPA/iServer 的机器(或容器)实际可用的 CPU 核数,否则任务执行失败。