mcpField
S
Stateless Migrator

Stateless Migrator

本地服务
matthiasmeyer.tech开发工具01 周前更新

关于 Stateless Migrator

Stateless Migrator 是面向 TypeScript 和 JavaScript MCP 服务维护者的命令行工具,用于检查代码与 MCP-Spec 2026-07-28 RC 的兼容性。它可扫描违规项、预览并执行有限的安全 AST 改写,还能验证代码。

主要功能

  1. 01扫描代码中的规范违规项
  2. 02以差异形式预览计划更改
  3. 03执行支持的 AST 改写
  4. 04按规范验证代码
  5. 05生成覆盖率报告

适用场景

  1. 01在升级规范前审查 MCP 服务
  2. 02应用更改前检查计划内容
  3. 03更新匹配的错误代码属性
  4. 04检查迁移问题是否已解决

MCP 相关

此命令行工具扫描并迁移 MCP 服务代码库,以适配 MCP-Spec 2026-07-28 RC。README 未说明它自身提供 MCP 服务端点。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"stateless-migrator": {
"command": "npx",
"args": [
"-y",
"mcp-stateless-migrator"
]
}
}
}
启动命令npx -y mcp-stateless-migrator

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-stateless-migrator

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

StudioMeyer MCP Stack 的一部分 — 在马略卡岛打造 🌴 · 如果你在使用,请点 ⭐

mcp-stateless-migrator

npm version CI OpenSSF Scorecard License: MIT

命令行工具,用于扫描 MCP 服务代码库,查找与 MCP-Spec 2026-07-28 RC 不兼容的内容(无状态核心、强制标头、已弃用功能、错误代码变更、OAuth 加固、端点结构变更),并在可以通过机械方式处理时安全地应用 AST 重写。

目标用户:TypeScript/JavaScript MCP 服务的维护者(拥有最多 SDK 用户的群体,@modelcontextprotocol/sdk)。

状态:v0.1.2 — 最终 RC 前版本。检测规则带有 specRevision: 2026-07-28-rc-2026-05-21 标签,并引用规范的 SEP 文件。v0.2.0 将根据 Tier-1 SDK 正式版重新验证。

安装

npm install -g mcp-stateless-migrator
# or one-shot:
npx mcp-stateless-migrator scan ./src

需要 Node >= 20。

命令行界面

#命令参数输出只读有破坏性
1scan<path> [--format json|text|md|html]违规项 + 严重性是否
2diff<path> [--output <file>]计划补丁的统一差异是否
3patch<path> [--dry-run] [--no-backup] [--only <id...>]重写文件 + 写入备份文件夹否是
4verify<path> [--spec <rev>]退出码 0 = 无问题是否
5report<path> [--format json|md|html]覆盖率报告是否
6rules[--verbose]列出所有检测规则是否

检测规则

规则严重性自动修补来源
r01-stateless-core警告否SEP-2567
r02-mandatory-headers提示否SEP-2243
r03-tasks-extension警告否SEP-2663
r04-apps-extension提示否SEP-1865
r05-deprecations警告否SEP-2577
r06-error-code-shift错误是SEP-2164
r07-oauth-hardening警告否SEP-2468
r08-endpoint-shape警告否SEP-2596

只有 r06 会自动重写代码——它会将任何名为 code 的属性中的 -32002 -> -32602(标识符键、"code"/'code' 字符串键或类字段),并保持计算属性键以及名称不同但值相同的属性不变。截至 RC 阶段,SEP-2164 的状态为 Draft,因此请在最终规范发布前重新验证;默认情况下,每个补丁都会备份。其他规则都需要人工审核计划中的变更——服务器架构差异太大,不适合盲目自动修补。

使用方法

# 1. See what the migrator finds
mcp-stateless-migrator scan ./src --format text

# 2. Preview the auto-patch as a unified diff
mcp-stateless-migrator diff ./src

# 3. Apply only the safe error-code shift, with backup
mcp-stateless-migrator patch ./src --only r06-error-code-shift

# 4. Confirm the codebase is clean
mcp-stateless-migrator verify ./src

# 5. Generate a Markdown report for the team
mcp-stateless-migrator report ./src --format md > migration-report.md

退出代码:

  • 0 — 无问题(不存在违规项,或补丁已成功应用)
  • 1 — 仍有违规项/差异非空
  • 2 — CLI 参数无效

备份文件夹

patch 会创建 <path>/.bak.<ISO-timestamp>/,其中包含它修改过的所有文件的原始文件树。传入 --no-backup 可禁用备份(不推荐)。使用 cp -r .bak.<timestamp>/. . 还原。

编程接口

import { scanPath, patchPath, formatScan } from "mcp-stateless-migrator";

const report = await scanPath("./src");
console.log(formatScan(report, "json"));

await patchPath("./src", { dryRun: false, backup: true, only: ["r06-error-code-shift"] });

自定义 patterns 最多接受 128 个字符串。每个字符串最多包含 1024 个 UTF-16 代码单元,以及 16 个未转义的左分组字符((、{、[)。超出这些限制的输入会在匹配前触发受控错误。使用相对于扫描根目录的模式。忽略规则仅在该根目录内生效;祖先路径中的忽略名称不会排除显式选定的根目录。

生态系统

此工具可与以下工具互补:

完整的定位矩阵请参阅 ECOSYSTEM.md。

许可证

MIT — 版权所有 © 2026 Matthias Meyer (StudioMeyer)。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。