前言与扩展架构

什么是 iServer MCP Server

iServer MCP Server 是连接 SuperMap iServer GIS 能力与大型语言模型(LLM)的桥梁。它通过模型上下文协议(MCP),把地理空间分析、数据查询等 GIS 功能,变成能通过对话交互的智能服务。

然而,面对千变万化的业务场景,标准化的 GIS 服务有时难以满足个性化的深度需求。为了弥补这一差距,对 iServer MCP Server 进行扩展就显得至关重要。本章将详细介绍如何对 iServer MCP Server 进行功能扩展。

需要注意的是,iServer MCP Server 作为服务节点,运行在 SuperMap AgentX Server 的统一管理框架下。因此,所有扩展开发、打包和部署操作,都要遵循 SuperMap AgentX Server 的目录结构和管理规则。

扩展 MCP Server 应用场景

iServer MCP Server 支持两类扩展诉求,本章后续内容按这两类场景分别展开:

注意:

GPA 服务不适用本章介绍的三层扩展架构,其扩展方式完全不同,请参考GPA MCP 工具扩展概述。

基础认知:扩展架构的三层逻辑

为了让开发更灵活、少改动原有系统,iServer MCP Server 采用三层扩展架构,每层职责清晰,按“底层执行-中层组织-上层适配”的逻辑协作。后续的所有扩展开发步骤都将严格遵循此架构进行。

架构层级 核心职责 开发关键要求
提供者层(Provider) 直接对接底层数据或外部服务,比如连数据库、读本地文件、调第三方 API,是业务逻辑的“执行者” 创建 Java 类,实现com.supermap.services.components.spi.ProviderContextAware接口,能从 XML 配置中获取文件路径、API 密钥等参数
组件层(Component) 封装和编排业务逻辑,调用 1 个或多个 Provider 完成功能,向上层提供稳定服务接口,是业务逻辑的“组织者” 创建 Java 类,实现com.supermap.services.components.spi.ProviderContextAware接口,能从 XML 配置中获取文件路径、API 密钥等参数
MCP 工具层(MCP Tool) 作为业务组件与 AI 模型的“适配器”,用@Tool注解把组件的业务方法,封装成 AI 能理解和调用的工具 需创建 Java 类,实现com.supermap.services.mcp.material.McpToolMaterial接口,完成业务组件到 MCP 工具的适配

场景一只涉及扩展现有 MCP 工具,因此只需实现 MCP 工具层;场景二涉及新增 MCP 服务,因此需要完整实现提供者层、组件层、MCP 工具层三层。

了解扩展架构后,请先完成开发准备,再根据实际需求进入场景一:扩展现有 MCP 服务的工具或场景二:开发全新的领域 MCP 服务。