关于 draw2agent
draw2agent 是一个 MCP 服务,让编码 Agent 在本地开发页面上接收绘图标注、截图和 DOM 信息,以便据此修改代码。它既支持在页面上标注,也能打开独立白板进行草图设计。
主要功能
- 01在开发页面上绘制标注
- 02提交截图、DOM 和标注
- 03通过局域网在移动设备绘图
- 04打开独立 Excalidraw 白板
- 05读取最近一次绘图状态
适用场景
- 01标记页面中需要修改的界面元素
- 02用手机或平板提供触控反馈
- 03绘制草图并交由 Agent 实现
MCP 相关
MCP 服务提供启动页面画布、局域网移动画布、独立白板和读取绘图状态的工具。绘图状态包含截图、DOM 节点和标注,供 Agent 获取视觉上下文。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| port | number | 否 | draw2agent 代理服务器的端口(默认值:9742) |
| targetUrl | string | 是 | 要叠加显示的本地开发服务器 URL(例如 http://localhost:3000) |
详细介绍
draw2agent ✏️
在你的网站上绘图。你的 AI Agent 可以看到。
draw2agent 是一个 MCP 服务,可让你直接在本地开发页面上绘制注释。提交后,你的 IDE Agent 会收到截图、结构化 DOM 数据和注释上下文,从而精准修改代码。
👉 立即体验: draw2agent.vercel.app
演示
快速开始
1. 添加到 IDE(一次性操作)
Cursor(~/.cursor/mcp.json):
{
"mcpServers": {
"draw2agent": {
"command": "npx",
"args": ["-y", "draw2agent@latest"]
}
}
}
2. 开始使用
告诉你的 Agent:
“使用 draw2agent 修复导航栏”
- 🌐 Agent 会打开浏览器,并在你的页面上显示绘图工具
- ✏️ 直接在你的网站上绘制圆圈、箭头和文字
- 📸 点击 提交
- 🤖 Agent 会读取视觉上下文并应用代码修改
工作原理
Your Dev Page (proxied)
├── Your original page content
└── Excalidraw overlay (transparent, on top)
├── Draw mode: annotate directly on the page
├── Select mode: interact with the page normally (Esc)
└── Submit: screenshot + DOM + annotations → agent
工具
MCP 服务提供以下工具:
| 工具 | 描述 |
|---|---|
launch_canvas | 打开带绘图覆盖层的开发页面 |
launch_ipad_canvas | 在你的局域网中提供页面,并返回二维码,方便用 iPad/手机绘图 |
launch_scratch | 打开独立的 Excalidraw 白板,供自由绘图 |
get_drawing_state | 返回当前状态的截图、DOM 节点和注释 |
launch_canvas
核心工具——代理你的 localhost 开发服务器并注入 Excalidraw 覆盖层。直接在运行中的应用上绘制注释,然后提交,将视觉上下文发送给你的 Agent。该工具会一直等待,直到你提交。
launch_ipad_canvas
与 launch_canvas 相同,但会通过你电脑的局域网(LAN)地址提供代理服务,并在电脑上自动打开一个带二维码的新浏览器标签页。使用连接到同一 Wi-Fi 网络的 iPad 或手机扫描二维码,即可通过触控绘制注释。非常适合白板式反馈讨论。无需互联网隧道,因此速度快且稳定。
launch_scratch
打开空白的 Excalidraw 白板——无需目标 URL。可从头开始绘制 UI 模型、线框图或示意图。你的 Agent 会收到绘图并实现设计。
get_drawing_state
返回上次捕获的绘图状态(截图、DOM 节点和注释),而不会启动新会话。可用于重新获取上下文。
发布
通过 GitHub Actions 自动发布到 npm(.github/workflows/publish.yml)。
要发布新版本,只需更新版本号并推送到 main:
npm version patch # or minor / major — updates package.json
git push origin main
当 package.json 中的 version 在 main 上发生变化时,工作流会构建服务和覆盖层,并将新版本发布到 npm。你也可以在 Actions 标签页中手动触发(例如发布当前版本)。
一次性设置:npm 可信发布
工作流通过 OIDC 向 npm 进行身份验证——无需设置 NPM_TOKEN 密钥。
只需配置一次可信发布者:
- 前往 npmjs.com/package/draw2agent → Settings → Trusted Publisher。
- 选择 GitHub Actions 并填写:
- 组织或用户:
zero-abd - 仓库:
draw2agent - 工作流文件名:
publish.yml
- 组织或用户:
- 保存。
这也满足 npm 的 2FA 要求,因此即使账户启用了 2FA,也能正常发布。(替代方案:创建具有发布权限的 npm Granular Access Token,将其添加为仓库密钥 NPM_TOKEN,并在发布步骤中设置 NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}。)
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
