关于 capsulate
capsulate 是供 Claude Code、Claude Desktop、Cursor、Windsurf、Antigravity 等 MCP 客户端使用的服务,可启动并操作隔离的云端 Linux 和 Windows 计算机。它结合命令与文件操作、桌面及浏览器控制、人工接管和可复用技能。
主要功能
- 01启动、检查和销毁云端计算机
- 02运行命令、代码并读写文件
- 03控制桌面并检查界面元素
- 04通过浏览器工具操作 Chrome
- 05共享实时屏幕并交接控制权
- 06记录、保存和运行技能
适用场景
- 01在隔离环境中运行测试套件
- 02通过图形界面操作 Windows 或 Linux 应用
- 03需要登录时将屏幕交给人工处理
- 04将重复的桌面任务保存为技能
MCP 相关
作为 MCP 服务,capsulate 向客户端提供云端计算机的启动、执行、文件、桌面、浏览器、实时协作及技能管理工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @capsulate/mcpCAPSULATE_API_KEY密钥A cap_live_ API key from the dashboard (Settings → API & Keys).CAPSULATE_BASE_URLAPI base URL. Defaults to https://api.capsulate.dev.CAPSULATE_TEAM_IDTeam to bill. Defaults to the API key's team.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
49收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| env | object | 否 | 要注入的环境变量 |
| size | string | 否 | 资源规格,例如 '2c4g'(默认值) |
| wait | boolean | 否 | 等待至 ACTIVE(默认值为 true) |
| bundle | string | 否 | 用于启动的软件包(Bucket B)ID |
| region | string | 否 | 区域提示;省略则自动分配 |
| snapshot | string | 否 | 用于还原的快照/模板 ID |
| template | string | 是 | 模板/操作系统/软件包 ID,例如 'ubuntu-22.04-headless' |
详细介绍
@capsulate/mcp
Capsulate 的 Model Context Protocol 服务。 让 Claude Code、Claude Desktop、Cursor、Windsurf、Antigravity 及任何 MCP 客户端都能启动和操控隔离的云端计算机(“capsule”),包括可供用户实时观看并接管操作的真实 Linux 和 Windows 桌面。
设置
- 在 Capsulate 控制面板中创建 API 密钥:Settings → API & Keys。
- 将服务添加到 MCP 客户端配置中。
Claude Code
claude mcp add capsulate -e CAPSULATE_API_KEY=cap_live_... -- npx -y @capsulate/mcp
Claude Desktop / Cursor
{
"mcpServers": {
"capsulate": {
"command": "npx",
"args": ["-y", "@capsulate/mcp"],
"env": {
"CAPSULATE_API_KEY": "cap_live_…"
}
}
}
}
要避免将密钥放在配置文件中,可将密钥存入文件,并通过
CAPSULATE_API_KEY_FILE 指向该文件。文件中可以只有密钥,也可以包含
CAPSULATE_API_KEY=cap_live_... 这一行。
若使用可自托管或非默认部署,还需设置
"CAPSULATE_BASE_URL": "https://api.your-domain"。
工具
| 工具 | 功能 |
|---|---|
capsulate_launch | 启动一个 capsule,并等待其就绪 |
capsulate_list / capsulate_get | 查看 capsule |
capsulate_destroy | 销毁一个 capsule |
capsulate_exec | 运行命令(argv 数组) |
capsulate_run_code | 运行 python/node/bash 代码片段 |
capsulate_write_file / capsulate_read_file | 文件读写 |
capsulate_set_env | 设置环境变量 |
capsulate_snapshot | 为 capsule 创建快照 |
capsulate_catalog | 查找可启动的模板和套件 |
桌面计算机操作
| 工具 | 功能 |
|---|---|
capsulate_screenshot | 查看屏幕(返回图像;设置 format: "jpeg"、scale 或区域参数可缩小图像) |
capsulate_screen_info | 获取屏幕大小、指针位置和活动窗口 |
capsulate_click / capsulate_move / capsulate_drag / capsulate_scroll | 操作指针 |
capsulate_type / capsulate_key | 操作键盘 |
capsulate_ui_tree | 读取无障碍树(Linux 上使用 AT-SPI,Windows 上使用 UI Automation),并获取可点击元素的中心位置 |
capsulate_find_element / capsulate_wait_element | 按角色、名称或文本查找或等待元素 |
capsulate_click_element | 查找并点击元素:可靠地按下指定名称的按钮 |
capsulate_clipboard | 读取或设置剪贴板(粘贴长文本,而不是输入文本) |
capsulate_element | 无需坐标即可操作元素:设置其值、清空、切换、展开或折叠、调用、按名称选择选项、聚焦,或滚动至可见位置 |
capsulate_windows | 列出窗口或将窗口置于前台 |
capsulate_window | 最小化、最大化、还原、关闭、移动或调整窗口大小 |
capsulate_open | 按名称打开 URL、文件或应用,并等待其窗口出现 |
capsulate_wait_for | 等待元素出现、消失、启用或显示文本,等待窗口出现,或等待屏幕稳定 |
capsulate_ocr | 在 UI 树没有标签时读取屏幕上的文字 |
capsulate_run_actions | 在一次调用中连续执行多个步骤;在首个失败步骤处停止,并在结束时查看结果 |
输入操作支持设置 screenshot: true(以及 screenshotDelayMs),以在操作后返回画面。
所有工具在 Linux 和 Windows 桌面上的用法相同;多行编辑器在 Windows 上是 document,
在 Linux 上是 text。
浏览器快捷方式
使用 capsule 自带的 Chrome,以页面结构和页面速度驱动浏览器,同时显示在用户正在观看的同一屏幕上:capsulate_browser_open、_navigate、_tabs、_snapshot(包含 refs 的大纲)、_click、_fill(不会回显输入的值)、_select、_press、_scroll、_wait、_text、
_eval 和 _screenshot。
实时操作:人员观看、接管并交还控制权
桌面 Capsule 共用一个屏幕。AI 通过上述工具操作屏幕,而人员在浏览器中观看同一屏幕,看到 AI 的指针、点击和按键叠加显示在屏幕上,阅读 AI 的旁白,并可随时接管屏幕。
| 工具 | 功能 |
|---|---|
capsulate_console_link | 生成一个签名且会过期的 URL,可在任何浏览器中打开实时屏幕,无需登录(control 或 view) |
capsulate_say | 在实时控制台上显示一行旁白 |
capsulate_control | 指定由谁操作:free、agent(AI)或 human;take 或 release 屏幕;设置人员观看时的 pace(natural 或 presentation) |
capsulate_handoff | 将屏幕交给人员并附上备注(“请登录”),等待对方交还屏幕,并获取对方的备注 |
capsulate_wait_for_handback | 持续等待人员交还屏幕 |
人员控制屏幕时,AI 的输入动词会返回 human_in_control,不会有任何操作发送到 Capsule;工具结果会提示使用 capsulate_wait_for_handback 等待。读取屏幕(截图、UI 树、OCR)仍可继续。每次 AI 输入都会让 AI 控制屏幕 45 秒;在此期间,其他人只能查看控制台。当 AI 停止操作或释放屏幕后,控制台会重新允许交互。
技能:学习一次,几分钟内重放
| 工具 | 功能 |
|---|---|
capsulate_lesson | 在 Capsule 上学习一项任务:人员可在共享屏幕上进行教学(点击、按键和输入,并记录其操作的元素;密码会被遮蔽;还可选择视频和语音),也可由 AI 朝着目标自学;get 用于读取摘要 |
capsulate_skills | 团队的技能:从课程摘要保存技能、管理版本、审批、保存环境、排练和安排每周排练 |
capsulate_skill_run | 在后台运行技能的步骤;如果技能中有未作出决定的环节,会询问你如何处理 |
capsulate_inbox | 查看等待处理的运行、待审批的版本、失败的排练,以及软件发生变化的技能 |
服务端的说明包含学习流程:带着目标进行探索,记录学到的内容,完成学习,阅读摘要并保存技能;下次使用时,启动对应环境并运行步骤。
试试看
“启动一个
ubuntu-22.04-headlessCapsule,运行我的测试套件,并展示输出。”
模型会调用 capsulate_launch,然后调用 capsulate_exec,并向你报告结果。
“启动一个
ubuntu-22.04-desktopCapsule,给我一个实时链接,并查找最新的 Firefox 发行说明。如果需要登录,就交给我处理。”
模型会启动桌面环境,调用 capsulate_console_link 并提供 URL,在操作过程中通过 capsulate_say 播报进度;需要你协助时则调用 capsulate_handoff。你完成后,在实时控制台中点击 Done, hand back,模型便会继续操作。
开发
npm run build # from the repo root: sdk, ai-tools, cli, mcp
node apps/mcp/scripts/smoke-live.mjs # live tools end to end against a fake API
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。