mcpField
A
Asynthetic

Asynthetic

远程服务
github.com开发工具016 周前更新

关于 Asynthetic

Asynthetic 是面向编码 Agent 的 MCP 服务,提供库版本间已核实的重大变更信息。其整理的迁移图包含引用来源和修复方法,并提供兼容性检查,而非生成答案。

主要功能

  1. 01整理好的版本迁移图
  2. 02附来源的重大变更与修复
  3. 03验证等级与实测记录
  4. 04SemVer 范围解析
  5. 05同伴版本兼容性检查
  6. 06明确报告未知结果

适用场景

  1. 01规划框架或库的升级
  2. 02查找已移除 API 的替代方案
  3. 03检查同伴版本兼容性

MCP 相关

Asynthetic 向 MCP 客户端提供迁移、重大变更、同伴兼容性和可用迁移图查询工具,支持托管 HTTP 与本地 stdio。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://asynthetic.up.railway.app/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://asynthetic.up.railway.app/mcp
SSEhttps://asynthetic.up.railway.app/sse
安装包
npmasynthetic0.1.3

工具

详细介绍

Asynthetic

为 AI 编码 Agent 提供事实依据。

你的 Agent 知识停留在某个日期。Asynthetic 会准确告知它发生了哪些变化——列出并测试库版本之间的每一项破坏性变更。

claude mcp add --transport http asynthetic https://asynthetic.up.railway.app/mcp
// agent asks: get_migration("ai", "^4.0.0", "^5.0.0")
{
  "found": true,
  "verification_level": "medium",
  "migration": {
    "breaking_changes": [
      {
        "title": "maxTokens renamed to maxOutputTokens",
        "before_code": "generateText({ model, maxTokens: 1024, prompt })",
        "after_code":  "generateText({ model, maxOutputTokens: 1024, prompt })",
        "source_url": "https://ai-sdk.dev/docs/migration-guides/migration-guide-5-0"
      }
      // …22 more, every one cited
    ]
  }
}

模型每个月都在进步,但它们的知识仍停留在某个日期。

每个编码 Agent 发布时都有一个知识截止日期,而它编写代码所针对的库却不会停下脚步。

于是,Agent 会照着训练数据学到的内容行事:在 AI SDK 5 中写入 maxTokens(已移除),在 Next.js 15 中使用同步的 params(现在是 Promise),从不再导出这些内容的包中导入 LangChainAdapter。代码看起来没问题,Agent 也很有把握。结果构建失败——或者更糟,构建成功了,Bug 却随之发布。

能获取最新文档的工具会告诉 Agent API 如今是什么样子。这只解决了一半问题。升级需要的是差异:改了什么、用什么替代,以及哪些行为在不知不觉中发生了变化。再多的“最新文档”也无法涵盖这些内容。

Asynthetic 补上了缺失的那一半。询问它某项升级,它会返回一份人工整理的迁移图:按顺序列出破坏性变更,附上变更前后的代码、弃用时间线、对等版本要求,以及每项说明的出处。只检索,不生成——同一个问题每次都会得到相同且经过验证的答案。

使用前 / 后

不使用 Asynthetic——Agent 凭记忆“升级”你的 AI SDK 应用:保留 result.usage 用于计费(现在会静默地只统计最后一个步骤),不设置 temperature(v5 移除了隐式的 0,导致输出变得不确定),也不重命名任何内容,因为模型训练时 v4 语法确实正确。

使用 Asynthetic——一次工具调用就会返回该确切版本区间内的全部 23 项破坏性变更,包括上述三项,每项都附有修复方法和官方来源。Agent 据实操作,你审查的是差异,而不是调试回归问题。

这就是产品的价值:让 Agent 不只是记得,还真正了解。

迁移图能为你的 Agent 提供什么

迁移图按版本区间人工整理的升级信息:2 张已上线迁移图(next 14→15、ai 4→5)共涵盖 40 项破坏性变更
引用每张迁移图都引用官方来源,并附有 last_verified 日期。迁移图绝不由 LLM 生成。
验证级别每条响应都会自行报告置信度:high(已在真实构建中经过实测)、medium、low——根据证据推导,绝不自行声明
实测说明当实际情况与文档不一致时,迁移图会特别说明——例如,Turbopack 并不像 Webpack 那样真正强制执行移除 @next/font;Next 15 对 React 19 的“要求”并不会由构建强制执行。这些结论来自实际运行升级,而非阅读相关说明。
SemVer 解析可使用版本范围提问(^14.2.0 → ^15.0.0);始终会披露解析方法
对等依赖检查静态兼容性答复(next@15 + [email protected] → false,并附有引用来源说明)
坦诚告知未命中没有数据时会返回 found: false,并明确指示不要猜测——绝不编造看似合理的答案

next 14→15 迁移图是 Asynthetic 首张 verification_level: high 的迁移图:每项内容都在 14.2.35 和 15.5.20 的真实构建中经过测试,覆盖 Turbopack 和 Webpack,以及开发和生产环境。

安装

托管版(无需安装):

claude mcp add --transport http asynthetic https://asynthetic.up.railway.app/mcp

本地版(离线使用,包含捆绑数据):

claude mcp add asynthetic -- npx -y asynthetic

任何 MCP 客户端均可使用——Cursor、Claude Code、Windsurf,或你自己的 Agent:

{ "mcpServers": { "asynthetic": { "url": "https://asynthetic.up.railway.app/mcp" } } }

然后升级某项依赖。Agent 会在修改前调用 get_migration。

工具

工具可解答的问题
get_migration(package, from, to)“这些版本之间有哪些不兼容之处?每一处该如何修复?”
get_breaking_changes(package, version)“这个版本会造成哪些不兼容?”
check_peer_compatibility(a, va, b, vb)“这两个版本能否一起使用?”——true / false / unknown,并附有引用
list_available_maps()“Asynthetic 了解什么?”

完整响应格式、传输方式(Streamable HTTP + stdio + legacy SSE)和自托管说明:请参阅下方文档。

为什么值得信赖

Asynthetic 的创立原则:错误的映射胜过没有映射。 一切都由此出发。

  • 仅根据官方变更日志、迁移指南和发行说明整理,每条记录都附有 URL。
  • verified 状态靠实测获得,而非编辑审核:使用固定版本,在真实项目中测试两种打包工具,并覆盖开发和生产环境。这个过程经常能发现文档中的错误,而这些发现会纳入映射。
  • 置信度信息以机器可读的形式提供(verification_level、source_count、预发布警告),因此 Agent 可以权衡答案,而不是盲目信任。
  • “未知”也是正式答案。服务会告知 Agent 自己不知道,并明确要求它们不要编造。

范围刻意保持精简而深入:首先覆盖快速演进的 AI 和 JavaScript 框架,始终将正确性置于覆盖面之上。

自托管

git clone https://github.com/asyntheticai/asynthetic.git
cd asynthetic && npm install && npm run build && npm start

零配置即可通过 stdio 提供捆绑的映射。设置 PORT 可启用 HTTP 模式(/mcp、legacy /sse,健康检查位于 /)。设置 SUPABASE_URL + SUPABASE_ANON_KEY 可通过 Postgres 提供服务(先运行 schema/schema.sql,然后运行 npm run seed)。配置缺失不会导致崩溃——服务会回退,并在 stderr 中说明原因。

data/maps/          the maps (source of truth, JSON, Zod-validated)
src/server.ts       MCP tools
src/store/          Postgres + local backends, SemVer resolver
scripts/smoke.ts    23-check end-to-end suite across every transport

贡献映射

  1. 仅使用官方来源。 变更日志、发行说明、迁移指南。记录每个 URL。博客文章可以作为查找的起点,但不能作为最终依据。
  2. 遵循 src/types/migration-map.ts 中的架构——在任何内容被提供之前,验证都会拒绝格式错误的数据。
  3. 新映射以 draft 状态加入。verified 状态须通过在固定版本的真实构建中测试代码片段来获得。退役的映射会变为 stale——不再提供,但会保留记录。
  4. npm run smoke 必须通过。不要猜测版本或 API 名称:如果官方来源中没有相关信息,请在 PR 中标注。

状态

免费公开测试版——托管端点和 npm 包向所有人开放。接下来:添加更多映射(Tailwind 3→4、React 18→19、Zod 3→4、AI SDK 5→6)、让更多映射的验证等级提升至 high,以及进行项目感知的兼容性分析。详情将另行公布。

安全

从设计上只读:每个工具都是对精选数据的查询。不执行代码、不在请求时获取数据,也不访问你的项目或文件系统。托管端点只会看到工具参数(包名称、版本字符串);会话是临时的、驻留内存且相互隔离。请通过 GitHub 安全公告报告问题。

许可证

源代码可用,采用 BSL 1.1:可始终自托管供自己使用,包括个人、团队和公司内部使用;但不得将其转售为具有竞争关系的托管服务。将于 2030 年 7 月 4 日自动转换为 Apache 2.0。


使用 TypeScript、官方 MCP SDK、Zod 和 Supabase 构建。现已在线提供服务:asynthetic.up.railway.app/mcp。

评论

支持 Markdown

第一次接触 MCP?

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

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