用途:把 Sketch 中的界面设计按 1:1 视觉保真度实现为项目代码,设计数据来自实时打开的 Sketch 文档,而非静态截图。
前提条件:保持 Sketch 打开目标文档;在 Sketch 设置 General 中允许 AI 工具与打开的文档交互;将 MCP 客户端指向 Sketch 设置中显示的本地服务器地址,默认通常为 http://localhost:31126/mcp;调用 get_selection_as_image 前先在 Sketch 中选中要实现的图层或画板。
主要能力:run_code 用于查询与导出设计数据,get_selection_as_image 作为视觉基准。可采集层级(ID、名称、类型、可见性、锁定)、布局(frame、resizing、pins、stack、clipping)、排版、样式(填充、边框、阴影、模糊、圆角、透明度)、共享样式与变量、Symbol 与覆盖字段、导出设置等。
使用方式:按顺序执行——确认 MCP 连通性;确定实现目标(优先解析分享链接中的 /f/<canvas-frame-uuid>,其次按标识或名称查找并确认,或使用当前选中项);用 run_code 获取结构化上下文,脚本以 const sketch = require('sketch') 开头,输出过大时先取浅层树再按子树细化;调用 get_selection_as_image 获取视觉参考;用 run_code 导出图标与位图等资源,使用绝对路径并同时传 output 与 filename;将设计意图映射到项目组件与 token;实现后对照截图与上下文清单校验布局、排版、颜色、状态、资源、响应式与可访问性,不匹配则重新查询迭代。
限制与注意:选择为空、无打开文档、输出截断、资源导出错误、视觉不一致等问题需按对应原因排查;不要假设设计数据未过期,存疑时重新查询;优先增量修改,保留组件边界,记录有意偏离。