地理工具接入 MCP 后,最容易被忽略的风险不是工具数量,而是协议升级改变了连接、会话和认证的假设。GitHub 2026 年 7 月宣布其 MCP Server 提前支持下一版规范:核心转为无状态,sessions 与 initialize 被移除,客户端可并行握手,并引入正式一致性测试。对维护 GIS MCP 服务的团队,这意味着应把兼容性验证从“连得上”提升到请求独立性、认证往返和工具结果一致性。

可核查事实

  • GitHub 于 2026 年 7 月 23 日发布 GitHub MCP Server 支持下一版 MCP 规范的公告,并称协议将在 7 月 28 日转为无状态核心。

  • 公告称无状态核心让 MCP 部署更易扩展;sessions 和 initialize 都被移除,客户端可并行完成握手。

  • 新规范的 extensions 支持创新能力;公告举例 MCP apps 和 Enterprise Managed Auth,并称 VS Code 已支持二者。

  • 多轮请求使更多远程服务可支持 elicitation 等功能。

  • GitHub 表示 tier 1 SDK 已保留向后兼容性并发布 beta 支持;GitHub MCP Server 使用官方 Go SDK。

  • GitHub MCP Server 删除 Redis sessions,因此 initialize 时的数据库写入和每次调用的数据库读取被移除。

  • GitHub 将原先的深度报文检查改为读取规范保证存在的 HTTP headers,用于日志和 secret scanning。

  • 其 stdio MCP server 的 URL elicitation 登录在新协议中每一步成为独立 HTTP request,Go SDK wrapper 同时兼容新旧客户端。

  • MCP 新增官方 conformance tests;公告建议将 conformance suite、draft spec 和 tier 1 SDK 供 AI 编码助手使用以验证实现。

核心机制:每个请求都要携带足够上下文

有状态会话允许服务端记住“这个客户端刚初始化过”。无状态核心要求每次请求都能独立处理,扩展性更好,但工具服务不能偷偷依赖内存里的用户、AOI、数据版本或权限。GIS MCP 常携带空间范围、坐标参考、时间窗和图层选择;这些应成为显式请求参数或由可验证的授权上下文解析,而不是遗留会话变量。

认证流程也要单独验收。登录、授权回调和用户确认变成多次独立请求后,需要验证每一步的关联标识、过期、重放保护和失败回收。URL elicitation 只是交互方式,不应让回调 URL 越权访问数据或跳过空间范围限制。

GIS 场景:让空间工具在重试和横向扩展下保持同一结果

以“查询 AOI 内洪水风险图层”为例,客户端应在每次调用中明确 AOI、图层版本、时间、精度和用户权限。服务端应返回所用数据集、版本、空间过滤和截断情况。这样请求被重试、换到另一实例或并行执行时,仍可得到同样可解释的结果。

对写操作更要保守。编辑要素、发布瓦片或启动分析任务必须使用幂等键、明确目标版本和人工批准闸门;服务端不能因为连接重建而重复执行。Conformance tests 只能验证协议行为,不能替代空间结果、权限和数据血缘测试,因此应把二者纳入同一发布门禁。

技术路径

  1. 清点服务端依赖的 session 状态,将身份、权限、AOI、图层版本和参数改为显式或可验证上下文。

  2. 为每个工具定义请求和响应合同:输入坐标参考、范围、时间、数据版本、分页/截断和错误码。

  3. 对认证与 elicitation 做独立的成功、取消、过期和重放测试;日志不得泄露令牌或敏感空间范围。

  4. 为只读查询测试重试、并发和跨实例一致性;为写操作加入幂等键、预览和批准。

  5. 运行官方 conformance suite,同时使用空间样例验证几何、CRS、权限和数据血缘。

  6. 灰度升级新旧客户端,记录 SDK、协议版本和失败原因;不把“向后兼容”当作无需回归的理由。

检查清单

  • 每次工具调用是否自带或可验证 AOI、CRS、时间、数据版本和权限?

  • 服务是否在重试、并发和换实例后保持相同的查询语义?

  • 登录与 URL elicitation 的每一步是否可过期、取消、审计和防重放?

  • 写操作是否有幂等键、预览和人工批准?

  • 是否同时通过协议一致性和空间结果/权限测试?

风险边界

公告描述的是 GitHub MCP Server 对特定规范版本的实现经验,不能证明任意 GIS MCP 服务自动兼容。无状态并不消除认证、授权、速率限制、缓存或数据一致性问题;conformance tests 也不验证空间算法正确性。涉及敏感位置、基础设施或编辑生产数据的工具,仍需独立进行安全和业务验收。

结论

MCP 协议无状态化给 GIS 工具带来的关键要求是:每次请求都有完整、可审计的空间与授权上下文。把协议一致性、认证往返、幂等写入和空间结果验证一起上线,才能让扩展能力不以可追溯性为代价。

资料来源