🔌 OpenClaw MCP无状态化迁移指南

MCP 2026-07-28规范锁定 | 剩余倒计时

--
天到截止日期

🎯 什么是MCP无状态化?

MCP(Model Context Protocol)无状态化是2026年最重要的协议升级。目标是让MCP Server不再依赖会话状态,从而实现:

📋 关键变更

1. 移除initialize握手

旧规范:客户端必须先发送initialize请求,Server返回initialized通知。

新规范:直接发送工具调用请求,无需握手。

# 旧方式(已废弃)
Client → Server: {"method": "initialize", "params": {...}}
Server → Client: {"method": "initialized"}

# 新方式(2026-07-28起)
Client → Server: {"method": "tools/call", "params": {...}}
# 无需initialize!

2. 移除Session ID

旧规范:每个会话有一个唯一的Session ID,包含在请求头中。

新规范:不再需要Session ID,每个请求都是独立的。

# 旧方式
Headers:
  X-MCP-Session-ID: abc123

# 新方式
Headers:
  Mcp-Method: tools/call
  Mcp-Name: search

3. 新增Mcp-Method和Mcp-Name Header

为了在无状态模式下路由请求,新增两个Header:

  • Mcp-Method:MCP方法名(如tools/call
  • Mcp-Name:工具名(如searchfetch
POST /mcp HTTP/1.1
Host: example.com
Mcp-Method: tools/call
Mcp-Name: search
Content-Type: application/json

{
  "arguments": {"query": "OpenClaw tutorial"}
}

🚀 迁移步骤

步骤1:检查当前MCP Server版本

# 查看OpenClaw使用的MCP版本
openclaw mcp --version

# 输出示例:
# MCP Version: 2026.6 (Stateful)
# ⚠️ 需要升级到 2026.7+ (Stateless)

步骤2:更新OpenClaw配置

# ~/.openclaw/config.yaml
mcp:
  version: "2026-07"  # 启用无状态模式
  stateless: true
  
  # 迁移选项
  migration:
    skipInitialize: true
    removeSessionId: true
    addMethodHeader: true

步骤3:测试无状态模式

# 启动OpenClaw(无状态模式)
openclaw --mcp-stateless

# 测试MCP调用
curl -X POST https://your-server.com/mcp \
  -H "Mcp-Method: tools/call" \
  -H "Mcp-Name: search" \
  -H "Content-Type: application/json" \
  -d '{"arguments": {"query": "test"}}'

⚠️ 兼容性警告

如果你的客户端(如ClawHub Skills)仍在使用旧版MCP,需要在2026年7月28日前完成迁移,否则将无法连接。

  • 检查所有已安装的Skills的MCP版本
  • 联系Skill作者获取更新
  • 或者使用兼容层(不推荐)

✅ 迁移检查清单

📚 推荐阅读

这些文章可能对你有帮助

🛠️ MCP集成教程 📖 MCP术语详解 📖 MCP协议深入 🛠️ MCP无状态迁移 🛠️ 工具库 📖 术语百科