跳转到内容

通过 MCP 驱动 Restorm

Restorm 暴露了一个 MCP 服务器(Model Context Protocol)。因此, AI 智能体 —— Claude Code、Cursor,或任何 MCP 客户端 —— 都可以读取您的项目、 创建并运行请求,还能驱动界面。

正是这一点让您可以直接说“导入这份 Swagger,创建一个测试下单流程的场景并运行它”, 并在一个始终摆在您眼前的应用里得到可核查的结果。

服务器默认已启用。有两道管控:

  • 设置 ▸ MCP ▸ 启用 MCP 服务器这项设置;
  • 一条绝对规则:在没有显示设备的机器上,MCP 服务器永远不会启动, 无论设置是什么。这样 CI 服务器就不会意外暴露出一个入口。

状态栏中的 MCP 指示器会在每一次收到调用时闪烁。它的弹出面板可以为当前会话 暂停或恢复服务器,也可以打开 MCP 日志。

状态栏中的 MCP 指示器及其弹出面板:服务器的监听端口、已连接会话的名称,以及“停止 MCP 服务器”和“查看日志”两个操作

启动时,Restorm 会挑选一个空闲端口,生成一个与该进程绑定的访问令牌, 并在系统临时目录中写入一个发现文件。JSON-RPC 服务器监听在 127.0.0.1:<port>/mcp 上 —— 仅限本地回环:任何来自外部的调用都会收到 403。

您无需自己复制这个端口或令牌。一个小小的启动器在您的 MCP 客户端的标准输入/输出 与 Restorm 的 HTTP 服务器之间架桥:它找到正在运行的实例、注入令牌,并转发您的调用。 它会从内置清单立即回应 initialize 和 tools/list,因此您的客户端无需等待 Restorm 启动即可快速就绪 —— 一旦有调用通过,便提供真实的工具列表。它绝不会静默地启动 Restorm:如果您在某个实例里关掉了 MCP 服务器,它就保持关闭,并给出一条清晰的错误信息。

最快的路径无需任何手动配置。打开(状态栏的)MCP 指示器弹出面板,点击 “将 Restorm 添加到您的 AI 助手”。一个对话框会逐个客户端地列出要复制的那一行:

  • Claude Code —— claude mcp add … 命令,并配有一个 “添加到 Claude Code” 按钮;当在您的 PATH 上检测到 claude CLI 时,该按钮会替您运行它;
  • Claude Desktop 和 Cursor —— 供粘贴的 mcpServers 代码块,以及配置文件的位置。

“将 Restorm 添加到您的 AI 助手”对话框:纵向堆叠的三个部分 —— Claude Code、Claude Desktop 和 Cursor —— 每个都带有要复制的那一行;Claude Code 部分还提供一个一键运行按钮

Restorm 绝不会写入另一个应用的配置文件:运行按钮只驱动您自己的 claude CLI。对于其他客户端,请您自行粘贴代码片段。

Claude Code 还可以从我们自托管的市场把 Restorm 安装为一个插件:

/plugin marketplace add Monsieur-Dev/restorm
/plugin install restorm@restorm-marketplace

该插件会注册 restorm MCP 服务器(它依赖 npx -y restorm-mcp)—— 无需其他任何设置。

更愿意自己编写配置 —— 或者您使用的是另一个客户端?下面的选项覆盖了所有情况。

  • MCP 服务器已启用 —— 它默认开启(设置 ▸ MCP)。在没有显示器的机器上,无论设置如何, 它都绝不会启动。
  • 有一个 Restorm 实例正在运行 —— 启动器连接到您正在运行的应用,它不会自行启动一个。
  • 下面的 npx 方法需要 Node.js ≥ 18。

方案 A —— npx restorm-mcp(推荐)

Section titled “方案 A —— npx restorm-mcp(推荐)”

无需安装、无需管理路径,可用于任何客户端和任何操作系统。把您的客户端指向它:

{
"mcpServers": {
"restorm": {
"command": "npx",
"args": ["-y", "restorm-mcp"]
}
}
}

这段代码放在哪里取决于您的客户端:

  • Claude Desktop —— 设置 ▸ 开发者 ▸ 编辑配置,或 claude_desktop_config.json 文件(macOS: ~/Library/Application Support/Claude/,Windows:%APPDATA%\Claude\)。
  • Cursor —— 设置 ▸ MCP ▸ 添加,或 ~/.cursor/mcp.json。
  • Claude Code —— claude mcp add restorm -- npx -y restorm-mcp,或项目中的 .mcp.json。

方案 B —— 应用内附带的启动器(无需 npm)

Section titled “方案 B —— 应用内附带的启动器(无需 npm)”

每个 Restorm 安装都附带同一个启动器作为随附资源,因此您可以让 node 直接指向它,无需 npm:

{
"mcpServers": {
"restorm": {
"command": "node",
"args": ["<path-to>/restorm-resources/mcp-launcher.mjs"]
}
}
}

<path-to> 是应用的资源目录:

  • macOS —— /Applications/Restorm.app/Contents/Resources/restorm-resources/mcp-launcher.mjs
  • Windows —— %LOCALAPPDATA%\Programs\restorm\resources\restorm-resources\mcp-launcher.mjs
  • Linux —— /opt/Restorm/resources/restorm-resources/mcp-launcher.mjs(.deb/.rpm); 对于 AppImage,在挂载的镜像内部;对于 Snap,$SNAP/resources/restorm-resources/mcp-launcher.mjs。

从发现文件中读出端口和令牌,然后带上 Authorization: Bearer <token> 请求头发送您的 JSON-RPC 请求。

启动器与应用必须就发现目录达成一致。二者默认都使用系统临时目录下的 restorm-mcp; 如果您设置了环境变量 RESTORM_MCP_DIR,请在两侧都设为相同的值(仅当 Restorm 在具有 不同临时目录的服务管理器下运行时才需要)。

多个 Restorm 可以并行运行。每次调用都可以携带一个保留键 __session 来指定目标实例。list-instances、create_instance 和 terminate_instance 这三个工具把这套机制补全。

读取 · 导航 · 项目 · 写入 · 环境与密钥 · 导入 · 运行 · 场景 · 实例 · 界面自动化(截图、DOM 查询、输入、快捷键、主题、布局)。

同时还暴露了四个资源:restorm://project、restorm://tree、 restorm://active-tab 和 restorm://request/{id}。

完整清单:MCP 工具。

MCP 服务器本身从不受限。每个工具都会在被调用的那一刻校验它自己的权益。

  • Community 版 —— 全部请求层面的驱动能力:运行、取消、读取响应与历史、 读取流、发送消息、从 URL 导入、打开和关闭标签页、管理项目、写入树结构、 管理环境与变量、快速设置、收藏,以及六个防火墙工具。
  • Pro 版 —— 场景领域(包括读取)、截图、全部界面自动化、 主题、迷你浏览器、workbench 布局、多实例, 以及各个 git 工具。

受限的工具仍然会被列出 —— 它的名称带有 (Restorm Pro) 后缀 —— 并会返回一条明确且机器可读的错误信息,而不是直接消失。

  • 本地回环加令牌:服务器只监听 127.0.0.1,而且令牌是以恒定时间比对的。
  • 密钥:智能体拿到的是密钥已解析的值,与应用的其余部分一样 —— 它是代表您、用您自己的密钥在驱动 Restorm。密钥 类型所保证的一切依然成立:该值不会流入项目文件、不会进入导出文件, 也不会流向未经授权的第三方服务。
  • 真实的网络效果:run_request 会真的去调用目标。 真正起到护栏作用的是您的 MCP 客户端的审批流程 —— 请务必让它保持启用。
  • 防火墙同样生效:智能体发起的、指向未知来源的调用, 会触发与您自己发起时完全一样的授权提示。
  • 日志记录:每一次调用都会连同其请求与响应出现在 MCP 日志中。