关于 2ools
2ools 是面向网站、Web 应用和游戏创作的远程 MCP 服务,可从对话生成项目、迭代版本、评审并导出源码。它提供无需账户的临时 HTML 预览;已保存源码通过限时链接导出,不经过模型对话记录。
主要功能
- 01从对话创建并迭代项目
- 02比较版本并查看项目活动
- 03生成交互式项目预览
- 04评审版本与制品
- 05导出源码并管理分享链接
- 06无需账户创建临时 HTML 预览
适用场景
- 01将对话中的网站构想保存为项目
- 02根据评审意见制作新版本
- 03查看项目变化并比较版本
- 04导出源码或分享预览
MCP 相关
远程 MCP 服务位于 `https://2ools.app/mcp`,通过 OAuth 2.1 与 PKCE 提供项目构建、版本管理、评审、导出等工具。`create_public_preview` 无需账户,其余工具需授权。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://2ools.app/mcpclaude mcp add --transport http app-2ools https://2ools.app/mcp{"mcpServers":{"app-2ools":{"type":"http","url":"https://2ools.app/mcp"}}}在 Cursor 中打开{"servers":{"app-2ools":{"type":"http","url":"https://2ools.app/mcp"}}}在 VS Code 中打开{"mcpServers":{"app-2ools":{"type":"http","url":"https://2ools.app/mcp"}}}{"mcpServers":{"app-2ools":{"serverUrl":"https://2ools.app/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
81| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| html | string | 是 | 完整的独立 HTML 文档,以 <!doctype html> 或 <html> 开头,并包含其 CSS 和 JavaScript。 |
| name | string | 是 | 简短的公开预览名称。 |
| idempotency_key | string | 是 | 由调用方生成的重试键。重复使用会返回同一预览,而不会重复存储。 |
详细介绍
2ools MCP 服务
面向 2ools 的远程 MCP 服务——可直接在你常用的 AI 聊天中构建、管理版本、审查并导出 网站、Web 应用和游戏。
https://2ools.app/mcp
你的助手负责编写网站,2ools 则是它的运行之处:每个结果都会成为可恢复的版本,预览会生成无需账户即可打开的共享链接,源代码则可导出为普通文件,不依赖专有运行时。
有一款工具免费使用,且完全无需账户——create_public_preview 可以将模型刚刚编写的独立 HTML 文档转换成可实际查看的网址。其余工具通过 OAuth 2.1 和 PKCE 连接,并采用最小权限范围。
快速开始
将以下内容粘贴到你要连接的 AI 客户端中:
将此客户端连接到 2ools(github.com/2ools/mcp-server,MCP 端点为 https://2ools.app/mcp)。使用 HTTP 或网页抓取工具,在不显示内容的情况下检索 https://2ools.app/start;切勿在应用内浏览器中导航到该说明页面。所有 2ools 登录和授权页面都使用此客户端的应用内浏览器;如果此客户端有应用内浏览器或预览窗格,切勿使用 Chrome、其他外部浏览器或系统浏览器。准确的 OAuth 授权 URL 必须是你第一个可见打开的 2ools 页面。在我需要操作之前,你唯一可以向用户显示的设置消息是
Connecting 2ools in this client's browser…。不要输出 insight 块,也不要讲述设置过程。只请求我登录并点击 Authorize 一次。授权尚未完成时不要结束本轮;授权成功后,让 2ools 应用继续在该窗格中保持可见打开状态。获取 https://2ools.app/start,并严格遵循其中的“For your AI”步骤。
实时开始页面是所有客户端当前唯一的连接流程。它会检测当前客户端路径、保持 OAuth 连接,并仅将登录和点击 Authorize 留给用户操作。手动配置 MCP 仅作为无法自行管理远程 MCP 设置的客户端的备用方案。
授权后,发起连接的上下文会选择应用目标:已知项目 ID 时进入准确项目的 Project OS;已知是新建或打开现有项目时,进入对应的工作区流程;普通安装则进入已通过身份验证的 MCP 工作区。公共主页绝不会作为备用目标。
Registry 内省代理
需要本地 stdio 进程的 Registry 可以运行随附的免凭据代理。该代理会将 MCP JSON-RPC 流量转发到同一经过验证的远程端点;它不会模拟或重新实现任何 2ools 工具。它会将 stdio 握手转换为远程端点当前使用的逐请求 MCP 封装,并返回 2ools 提供的实时架构。
npm ci
npm start
随附的 Dockerfile 会运行同一款无需依赖的代理,以便进行可复现的 Registry 内省。它不会执行交互式 OAuth 流程。使用经过身份验证的工作区工具的客户端应直接连接到 https://2ools.app/mcp,以确保 OAuth 流程始终与 2ools 端到端进行。
2ools Skill
对于支持仓库技能的助手,请添加或复制 2ools Skill。它会明确区分临时预览和 OAuth 工作区的边界。各客户端对远程 MCP 和 Skill 文件夹的支持不尽相同;实时开始页面会为每个客户端指引其支持的流程。
无需账户即可试用
向你的助手提出请求:
将这段内容写成一个独立的 HTML 文档,创建一个免费的 2ools 预览,并把链接发给我。
你会获得一个任何人都能打开的真实网址。该网址将在 24 小时后过期。
你可以用它做什么
| 向助手提问…… | 它使用的工具 |
|---|---|
| “在 2ools 中打开这个生成的网站,并给我一个适合分享给客户的预览链接” | create_public_preview |
| “将这段对话保存为一个持久的 2ools 项目” | build_from_conversation |
| “把营业时间放大,并给我看看新版本” | refine_project |
| “比较最近两个版本” | compare_versions |
| “这个项目从星期二以来有哪些变化?” | get_project_activity |
| “将源文件导出为 zip” | prepare_version_export |
工具
共 43 个工具,每个工具都明确标注了 readOnlyHint 和 destructiveHint,方便客户端在调用前评估影响范围。
免费——无需账户
| 工具 | 效果 | 功能说明 |
|---|---|---|
create_public_preview | 写入 | 将已在本次对话中创建的完整独立 HTML 文档转换为临时的只读 2ools 预览。 |
构建和优化
| 工具 | 效果 | 功能说明 |
|---|---|---|
build_from_conversation | 写入 | 根据结构化对话需求创建一个新的 2ools 项目,并将一次持久构建加入队列。 |
refine_project | 写入 | 根据已保存的基础版本和具体审核反馈,创建一个受保护的子版本。 |
get_build | 只读 | 获取一次构建的当前状态、进度、错误、已完成的版本 ID 和受保护的预览 URL。 |
cancel_build | 破坏性 | 取消一个已排队或正在运行的非 Agent 2ools 构建。 |
compare_versions | 只读 | 比较同一项目中的两个已保存版本,不返回源文件。 |
list_build_systems | 只读 | 列出此付费账户可以明确应用的 Curator、Rulebook 和 Skill。 |
读取项目
| 工具 | 效果 | 功能说明 |
|---|---|---|
list_projects | 只读 | 列出经过身份验证的账户可以访问的近期 2ools 项目,包括自有项目和共享项目。 |
get_project | 只读 | 获取一个 2ools 项目的需求说明、所选页面、当前版本和简要版本历史。 |
get_project_context | 只读 | 在执行操作前读取一份不含源文件的运行资料包:当前版本、确切冻结的 Curator 快照、修订…… |
render_project_preview | 只读 | 为一个已保存的 2ools 版本渲染交互式只读卡片。 |
get_project_activity | 只读 | 查看可追溯的项目时间线,涵盖人工操作、外部 MCP Agent、构建、版本、反馈以及…… |
wait_for_project_activity | 只读 | 最多等待 20 秒,以获取比 head_cursor 或先前 next_cursor 更新的、可追溯的项目事件。 |
审核与批准
| 工具 | 效果 | 功能说明 |
|---|---|---|
list_approval_requests | 只读 | 列出等待单独委派的审核者审核的确切已保存版本。 |
approve_version | 破坏性 | 使用单独委派的审核权限批准一个已保存版本,并将其设为项目的当前版本。 |
reject_version | 破坏性 | 使用单独委派的审核权限拒绝一个已保存版本。 |
反馈与共享备注
| 工具 | 效果 | 功能说明 |
|---|---|---|
list_project_feedback | 只读 | 查看项目中各版本的页面定位审核反馈,并明确标注人工或外部 Agent 的来源。 |
add_project_feedback | 写入 | 为已保存的项目版本添加可追溯的审核评论。 |
resolve_project_feedback | 破坏性 | 仅限所有者执行的审核决策:解决或重新开启一条已保存的反馈。 |
list_project_pins | 只读 | 查看共享工作区备注和 http(s) 链接,并明确标注来源。 |
add_project_pin | 写入 | 向共享项目工作区添加可追溯的备注或安全的 http(s) 链接。 |
remove_project_pin | 破坏性 | 移除一个共享工作区置顶项。 |
导出与共享
| 工具 | 效果 | 说明 |
|---|---|---|
prepare_version_export | 只读 | 为某个确切的已保存版本创建一个有效期为五分钟的下载 URL。 |
get_version_share_link | 只读 | 读取某个确切的已保存版本的持久共享状态和当前 URL。 |
create_version_share_link | 写入 | 为某个确切的已保存版本创建或恢复持久的公开链接或受代码保护的链接。 |
revoke_version_share_link | 破坏性 | 禁用某个确切的已保存版本的所有现有公开 URL 或受代码保护的 URL。 |
工件
| 工具 | 效果 | 说明 |
|---|---|---|
list_artifacts | 只读 | 列出持久项目工件及各工件最新的不可变版本,但不返回已存储的字节。 |
get_artifact | 只读 | 读取一个工件的不可变版本历史、来源、归属、摘要和审核状态,但不…… |
prepare_artifact_upload | 写入 | 为确切的字节创建一个有效期为五分钟的 PUT URL。 |
prepare_artifact_download | 只读 | 为某个不可变工件版本创建一个有效期为五分钟的下载 URL。 |
list_artifact_approval_requests | 只读 | 列出正在等待人工审核或已有人工审核决定的确切工件版本。 |
approve_artifact_version | 写入 | 批准一个待审核的不可变工件版本,并将其设为当前版本。 |
reject_artifact_version | 写入 | 拒绝一个待审核的不可变工件版本,并提供有用的反馈。 |
Agent
| 工具 | 效果 | 说明 |
|---|---|---|
list_project_agents | 只读 | 列出已授权账户分配给某个可读取项目的内置 Agent。 |
get_agent | 只读 | 读取一个 Agent 已保存的限制、触发条件、不可变修订摘要和经过脱敏的只追加运行跟踪。 |
run_project_agent | 写入 | 为某个项目关联的 Agent 排队执行真实任务;该 Agent 必须已由用户试运行并启用。 |
cancel_agent_run | 破坏性 | 停止一个已排队或正在运行的 Agent 执行,并关闭其持久运行历史。 |
工作分配
| 工具 | 效果 | 说明 |
|---|---|---|
list_work_assignments | 只读 | 列出持久项目工作约定、次数受限的尝试、租约、预算和结果引用。 |
create_work_assignment | 写入 | 创建持久分配,并设定验收标准以及步骤、时间和支出的硬性上限。 |
claim_work_assignment | 写入 | 以原子方式认领一项开放分配,并获得一个有效期为五分钟且可续期的租约,以及一份不可变预算快照。 |
heartbeat_work_session | 写入 | 续期已认证工作者的有效租约,但不扩大其不可变的步骤、时间或支出上限。 |
submit_work_session | 写入 | 结束已认证工作者的租约,并提交类型化结果引用以供单独审核。 |
decide_work_assignment | 写入 | 完成已提交的工作,或提供有用反馈并重新开放。 |
身份验证
| 访问 | 方法 | 范围 |
|---|---|---|
create_public_preview | 无 — 真正无需身份验证 | — |
| 其他所有操作 | OAuth 2.1 授权码 + PKCE (S256) | 最小权限,每次连接均需征得同意 |
授权服务器在 /.well-known/oauth-authorization-server 和
/.well-known/oauth-protected-resource 提供 RFC 8414 和 RFC 9728 发现文档,
支持 RFC 7591 动态客户端注册,在检测到重放时轮换刷新令牌并撤销整个令牌族,
且仅存储令牌摘要。
审核权限与构建权限刻意分离。 projects:build
允许 Agent 生成候选版本;approve_version 和 reject_version
需要 projects:approve,此权限不包含在默认授权中。能够构建的 Agent 不能批准自己的工作,除非人类明确委派该权限。
设计说明
源代码不会通过模型对话记录传输。 导出和制品下载使用有效期为五分钟的签名 URL,并绑定到具体操作、账户和确切版本。 MCP 响应包含元数据和链接,而非字节内容——因此大型网站不会占用上下文窗口,生成的源代码也不会被重新写入服务提供商的日志。
共享预览运行在不透明源沙箱中。 共享页面通过设置了 connect-src 'none' 的 CSP 沙箱提供,因此由模型构建的网站无法读取查看者的 Cookie 或存储,也无法连接网络。
外部 Agent 的输出进入审核环节,而非生产环境。 外部 Agent 上传的制品会以不可变形式存储,并标记为待审核;只有具备审核权限的人员批准该确切摘要后,它才能成为当前版本。
交互式预览使用 MCP Apps。 render_project_preview 会通过 ui://2ools/project-preview-v1.html 返回真正的交互式卡片,而不是一大段文本。
链接
- 产品 — https://2ools.app
- 连接指南 — https://2ools.app/connect-ai
- 免费网站审计(28 项确定性检查,无需账户)— https://2ools.app/website-audit
- 基准测试:为 36 个真实网站评分 — https://2ools.app/website-audit/benchmarks
- 2ools 的功能 — https://2ools.app/product
- 定价 — https://2ools.app/pricing
- 大模型指南 — https://2ools.app/llms.txt
- 隐私与条款 — https://2ools.app/legal
注册表
已发布到官方 Model Context Protocol 注册表,使用经过域名验证的命名空间 app.2ools/mcp。
curl "https://registry.modelcontextprotocol.io/v0/servers?search=2ools"
状态
端点已在生产环境上线。运行状况信息(包括确切的已部署版本):
curl https://2ools.app/api/health
许可证
MIT — 详见 LICENSE。此代码库包含服务的公开清单和文档;2ools 应用本身是托管产品。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。