用MCP将Cursor接入蓝湖:AI读设计稿自动生成代码的完整实践
开场先说个场景你在工位上正写着业务代码设计师的头像在 IM 上闪动你点开一看消息只有三个字——“还原了吗”。你下意识点开蓝湖对着设计稿左量右量这边差 2px那边字号不对改完之后再截图发回去等对方回一个“OK”。这事儿一天发生三五次不致命但特别磨人。后来我做了个决定把 Cursor 接到了蓝湖上。不是简单装个插件看设计稿而是让 AI 编程助手能直接读取蓝湖上的设计数据理解标注、取色、量尺寸甚至根据设计稿生成初始代码。大概折腾了两三天把 MCP 链路跑通之后设计师很少再追着问“还原了吗”更多的是问我“这个交互效果怎么实现的”。整个协作状态完全变了。这篇文章就把我完整的接入思路、技术方案、实操步骤和踩坑记录写下来。不涉及某个特定企业内网环境所有流程都是基于蓝湖开放能力和 Cursor 的 MCP 支持做的通用实践想复现的可以直接参考。1. 为什么要把 Cursor 接进蓝湖项目背景与协作痛点先说清楚我为什么要折腾这件事。如果你没有经历过“设计与开发对线”的日常可能觉得“还原了吗”只是一句普通询问但这句话背后其实藏着一整套低效流程。1.1 设计师与开发之间的“还原拉锯战”一个页面上线之前设计稿是唯一共识。设计师在蓝湖上传了完整的设计图标注了间距、颜色、字号、圆角甚至连交互状态都出了两三版。开发这边呢按照惯例切图、量尺寸、看着标注写 CSS写完自己觉得差不多就交付了。但“差不多”三个字在设计师眼里就是“差很多”。你觉得 14px 和 15px 能有多大区别她截图放大 800%那个 1px 偏差像一条裂缝。于是对话就变成她问“还原了吗”你说“还原了”她打开手机看了眼说“这里没对齐”你再回去调……这种回合制沟通消耗的是双方的耐心。问题的根子不是谁不认真而是信息传递的方式太原始。设计数据躺在蓝湖里开发全靠肉眼去读。肉眼识别本身就有误差再加上不同屏幕、不同缩放比例下的误判偏差几乎是必然的。1.2 传统的“打开蓝湖手动对照”流程有多低效我复盘过自己一天的工作时间发现大量碎片时间花在了三件事上打开蓝湖找对应的页面和切图盯着设计稿的标注面板手动读取颜色值、间距、字号在编辑器和蓝湖之间来回切换靠人脑把这些数据“搬”进代码这几件事单看每次只需要一两分钟但一天累计下来可能超过一小时。而且这种“人肉搬运”还有一个隐藏成本容易搬错。颜色值多复制一位间距记反了都是真实发生过的案例。更要命的是设计稿不是一成不变的。设计师根据反馈改了某个弹窗的布局她在蓝湖上更新了版本但开发这边可能还在对着旧稿改代码。你说“还原了吗”她说“还原了呀”最后发现两个人看的根本不是同一个版本。这种错位造成的返工比手动量尺寸更浪费时间。1.3 选型思路为什么选择 Cursor 而非其他 AI 编程工具市面上的 AI 编程助手不少VSCode 里的 Copilot、Trae、Windsurf 我都试过一段时间。单纯比 AI 补全能力各家差距没有想象中那么大真正拉开距离的是场景打通能力。Cursor 最吸引我的一点是它对 MCPModel Context Protocol模型上下文协议的支持。简单说MCP 就像给 AI 插了一根数据管道让 AI 能直接读取外部工具里的数据而不是靠用户在对话里手贴截图和 JSON。Copilot 在 GitHub 场景很强但对接蓝湖这类设计协作平台要绕一些路而 Cursor 的 MCP 配置相对开放社区里也已经有了蓝湖相关的 MCP 服务实现。另外我个人的体感是Cursor 在读取“外部数据 项目代码”结合上下文的理解上更自然。比如你让它在某个组件文件里按设计稿调整样式它能同时参考当前代码结构和你塞进上下文里的设计数据而不是干巴巴地生成一段孤立代码。这一点对“照着设计稿写代码”的工作流来说至关重要。2. 核心原理拆解MCP、Cursor 与蓝湖的三角关系如果你只是想抄作业直接跑通可以跳过这节往后看。但如果你希望接入之后出了问题自己能排查这一节还是建议读一下。我不讲太深的协议细节就把它降维成日常能理解的逻辑。2.1 Cursor 的定位与中文配置Cursor 本质上是一个基于 VSCode 内核的 AI 原生编辑器它把 AI 对话、代码补全、Agent 自动改代码这些能力直接做进了编辑器主流程。我用下来的感受是它更像一个“会动手的结对程序员”而不是一个“只会答题的聊天框”。很多国内开发者刚拿到 Cursor 的第一个问题是怎么设置中文。这本身和接蓝湖没有直接关系但界面不顺手会严重影响操作效率。设置入口在左侧栏的“Extensions”里搜索 Chinese安装简体中文语言包然后按CtrlShiftPmacOS 上是CmdShiftP打开命令面板输入Configure Display Language选择zh-cn并重启编辑器即可。这里有个小坑重启后如果发现部分界面还是英文多半是语言包没有完全加载或者你打开的是某些插件自带的界面。把编辑器完全退出再重新打开基本能解决。2.2 蓝湖对设计的承载与标注蓝湖是设计协作平台设计师把 Sketch、Figma、Photoshop 里的设计稿上传之后它会在线生成标注信息。任何一个元素被选中都能看到坐标、尺寸、颜色、字体、圆角、边距等参数。开发也能按平台iOS、Android、Web切图下载。这些数据其实就是结构化的 JSON 格式。蓝湖有开放 API也提供了 MCP 服务能力。也就是说设计稿里的标注、图层结构、切图资源理论上都能通过接口被外部程序读取。只是以前这些接口主要给程序员写脚本用现在通过 MCP 协议可以让 AI 编程助手直接调用。2.3 MCP 协议AI 工具与设计数据的“翻译官”MCP 的全称是 Model Context Protocol你可以把它理解成一个“USB 接口标准”。没有它AI 要对接蓝湖、数据库、浏览器工具每个都得单独写一套私有接入方式有了它只要蓝湖这边实现一个 MCP ServerCursor 这边支持 MCP Client两边一握手数据就能流通。具体到我的场景里蓝湖 MCP 服务做的事情包括验证用户身份、根据项目或页面 ID 拉取设计稿信息、返回图层树和元素的标注参数。Cursor 作为客户端在对话里看到用户提到“蓝湖”或“设计稿”就会调用对应的工具函数拉取数据然后把数据作为上下文进行代码生成。MCP 还有个好处是权限可控。你可以设置只读权限允许 AI 读取设计数据但不能修改任何蓝湖上的内容。这对于企业项目来说尤其重要AI 再聪明也不能乱动设计稿原稿。2.4 为什么是“接上”而不是“复制粘贴”有人可能会问我把蓝湖标注截图发给 AI让它照着写代码这不是一样吗还真不一样。截图是静态的像素信息AI 只能“猜”你的设计意图颜色值可能偏、间距可能读不准而且一旦设计稿更新你又要重新截图。通过 MCP 接上蓝湖之后AI 拉取的是实时的结构化数据颜色是一个精确的#FFFFFF间距是明确的16px元素层级是清晰的树状结构。这就像是把“让 AI 看照片画画”升级成了“让 AI 拿到一份带尺寸标注的施工图”。拿一个真实例子说我让 Cursor 照着蓝湖上的“会员充值弹窗”设计稿生成 React 组件它先通过 MCP 拿到弹窗的图层树识别出标题、金额、按钮三个分组再从标注数据里读到按钮的主色是#FF6A00、圆角是12px最后结合我项目里的现有组件库写法生成了一段基本能直接投入改的代码。整个过程不用我手动截一张图。3. 完整接入实操从准备到跑通下面进入正题。我把自己的接入过程拆成四个阶段每个阶段都会列出具体操作和我当时的心得。整个流程如果我顺手做大概需要半天你要是第一次碰 MCP预留一整天比较踏实。3.1 准备阶段账号、权限与运行环境开始配置之前先确认三件事蓝湖账号你需要一个能访问目标设计项目的蓝湖账号。如果你在公司团队空间里让管理员给你的账号开通对应的项目权限。我当时接的是公司测试项目的设计稿权限是查看和标注没有开编辑权限这也符合最小化授权原则。Node.js 环境当前蓝湖 MCP 服务多以 Node.js 实现建议装 Node 18 以上版本。用node -v查一下版本太老的话去官网更新一下。Cursor 版本MCP 配置在较新版本中已经集成在主设置页建议把 Cursor 升级到最新稳定版。另外提醒一句如果你所在的项目有安全合规要求建议先在测试项目里跑通再考虑对接正式设计稿。毕竟 AI 读取设计数据这件事新增了一条数据流通通道走一遍合规确认总没错。3.2 MCP 服务部署的两种路径蓝湖 MCP 服务怎么部署我当时查到两条路径各有利弊。路径一使用蓝湖官方提供的 MCP 服务或社区实现如果蓝湖团队已经发布了 MCP 服务那直接用官方版本最省心。配置方式通常是在 MCP 配置文件里指定服务地址和认证方式。我在做技术验证时用的就是社区里现成的蓝湖 MCP 服务实现它内部封装了蓝湖的 Open API对外暴露的工具包括get_project_detail获取项目基础信息get_page_list获取指定项目下的页面列表get_element_info获取某个元素的坐标、尺寸、颜色、字体等标注get_assets获取切图资源路径二自己写一个轻量 MCP Server如果你用的是私有化部署的蓝湖或者对数据安全要求很高可以自己写一个 MCP Server。思路很简单MCP Server 本质上是一个本地或远程服务它接收 Cursor 发来的工具调用请求内部去调蓝湖 API把返回的 JSON 整理成 AI 能理解的文本和结构再传回去。我当时先用路径一验证了效果等团队确认要用到正式项目之后才让后端同事帮忙封装了一个内部 MCP 服务接的是公司私有化的蓝湖实例认证走内部 SSO。两条路并不冲突按你的实际环境选就好。3.3 在 Cursor 中配置 MCP ServerCursor 添加 MCP Server 的操作路径不同版本UI会变但整体逻辑一致。打开 Cursor 的设置面板CtrlShiftJ或CmdShiftJ找到 MCP 相关栏目。点击“Add New MCP Server”根据你的服务类型选择标准模式或本地模式如果你用的是远程 MCP 服务在URL一栏填入服务地址比如https://mcp.lanhuapp.com/mcp再按提示配置认证或用 token如果你用的是本地启动的 MCP 服务在Command一栏填入启动命令比如npx mcp/lanhu-mcp-serverCursor 会自动拉起这个进程。配置完成后在对话界面里可以看到已加载的 MCP 工具列表。通常还会有一个开关你可以选择哪些工具允许 AI 自动调用。我建议默认只开读取类工具像get_element_info这种避免 AI 误操作。这里有个很重要的细节配置 MCP 之后AI 不会每一次都自动去拉蓝湖数据。它需要感知到上下文里有“设计稿”相关需求或者你明确在提示词里要求“读取蓝湖上某页面的数据”它才会调用 MCP 工具。所以和 Cursor 交互的时候建议把话说明白。3.4 实际验证让 AI 读取设计稿生成代码配置完成后的第一个实战验证我建议选一个简单的卡片组件来试。我的做法是先在蓝湖上定位到一个“用户信息卡片”设计稿记下页面 ID。然后在 Cursor 对话里输入一段提示词大意是请读取蓝湖项目内“用户信息卡片”页面的设计数据包括背景色、头像尺寸、昵称字号、关注按钮颜色和圆角然后参考我 src/components 下的现有组件写法生成一个 React 组件。之后观察 Cursor 的行为它会先在内部调用 MCP 工具把设计稿结构化数据拉回来再结合项目代码生成组件。整个过程你会在对话记录里看到“调用了工具 get_element_info”这类痕迹不是直接在网络搜索结果里拼凑代码。我第一版生成的组件和设计稿不能说 100% 一致但整体结构已经非常完整。间距、字号、主色这些硬指标基本准之后微调只花了几分钟。这放在以前光是对着设计稿读参数再手搓组件就得花大半小时。4. 接入后的真实工作流变化技术方案跑通之后最大的变化不是“代码生成变快了”而是“设计师和开发沟通的内容升级了”。4.1 日常开发时如何调用蓝湖数据以前的流程是先打开蓝湖看稿再回编辑器写码。现在我把这个流程压缩成两步。第一步在 Cursor 对话里说明我要开发哪个模块。比如“按蓝湖‘订单详情页’设计稿完成订单卡片组件”。第二步Cursor 拉取设计数据后我先让它输出一份关键样式参数清单包括主色、间距、字号、圆角列表。我过目确认无误后再让它生成完整代码。这样避免了 AI 一次性生成的代码里藏着理解偏差等写完了才发现方向上就不对。还有一个高频操作是局部微调。设计师改了一个按钮的位置以前我要重新量坐标现在直接在 Cursor 里说“蓝湖上‘结算按钮’Y 坐标是 480帮我把按钮下移并同步调整相邻元素间距”AI 会结合上下文代码自动完成。这种“按设计数据改代码”的体验确实像有一个懂设计的工程师在帮你干活。4.2 设计师的“还原了吗”变成了什么接入之后设计师和我的沟通内容发生了明显变化。她不再反复问“还原了吗”因为基本不需要二次确认。有一次设计师改完一版设计稿在蓝湖上更新了“个人主页”页面的背景色和标题字号我这边通过 MCP 读取到最新数据后直接在 Cursor 里说“按蓝湖最新版本更新个人主页头部区域的背景色和标题样式”AI 自动对比当前代码并完成了修改。我截了个图发给设计师她说“这次连圆角都对了”。倒不是说 AI 能神奇到替我们把所有细节做到位但至少在设计稿和代码之间少掉了一大段“人肉翻译”带来的失真。设计师和开发之间终于可以聊交互逻辑、聊状态流转而不是花大量时间对像素。4.3 团队协作与权限边界接入 MCP 之后有件事务必提前约定清楚哪些人可以用哪些数据可以被读到。我把方案在组内分享之后另一位同事也照着配置了一遍。结果他发现自己的账号能读取同组其他项目的设计稿因为蓝湖的项目级权限是相同的。MCP 服务读取的数据范围取决于你账号本身的权限边界而不是 MCP 服务帮你额外授权。所以建议团队在接入时做两个动作一是给参与接入的成员开通独立的蓝湖子账号不要共用超级管理员账号二是在 MCP 服务层面做一个项目 ID 白名单只允许读取指定项目的设计数据。这两个动作花不了几分钟但能避免后期很多权限扯皮的问题。5. 常见问题与排查技巧实录接入过程不会一帆风顺。我把当时踩过的坑和排查思路列出来按频率排序你可以先收藏遇到问题再翻。5.1 MCP 服务连接不上或工具列表为空这是最常遇到的问题。现象是配置好 MCP Server 后对话界面里工具列表是空的或者调用工具时报连接错误。排查步骤第一步确认服务本身有没有起来。本地模式的话在终端手动执行一次启动命令看是否有报错输出。第二步确认网络连通性。远程 MCP 服务地址如果用curl能拿到响应说明网络通拿不到就要看防火墙、代理这些因素。第三步确认配置格式。Cursor 的 MCP 配置文件是 JSON 格式很多同学手写配置时少了一个逗号或者 URL 引号没闭合导致解析失败。我当时就是这样检查了三遍语法才找到问题。提示配置变更后一定先完全退出 Cursor 再重启。有些 MCP 服务只在启动时加载热更新不生效。5.2 读取到的设计稿信息不完整有时候 AI 确实调通了蓝湖 MCP但返回的数据缺颜色值或缺某个图层的参数。排查方向有两个。一种情况是蓝湖侧的图层命名不规范。有些设计稿的图层没有命名蓝湖标注生成时会把整个画板当成一个元素返回导致 AI 读不到内部子元素的参数。我遇到过一次元素信息里只有坐标和尺寸没有颜色因为设计师把颜色写在了父级容器的样式里。另一种情况是你的查询条件不精确。MCP 工具通常需要传项目 ID 和页面 ID如果你只给 AI 一个页面名称匹配错了就会拉到另一页的数据。我的建议是在交互时把页面名称写完整最好附上你在蓝湖浏览器地址栏里看到的页面标识。5.3 Cursor 中文设置与对话语言混乱有些朋友会遇到一个问题Cursor 界面是中文了但 AI 回复还是英文或者中英混杂。这其实是两套配置。界面语言影响的是编辑器外壳AI 对话的语言则受 Prompt 影响。想让 Cursor 稳定用中文回复你可以在全局的 Custom Instructions 里加一条要求例如“请始终使用中文回答代码内注释也使用中文”。如果只是单次对话想切换直接在对话里说一句“请用中文回答”就行。我实测下来在 Custom Instructions 里写入语言偏好比每次对话都临时提醒更稳定。另外要注意如果你用了蓝湖 MCP 的某些英文工具描述AI 可能会被工具返回的英文内容带偏这时对话里强调“仅回复语言使用中文保留工具返回的原始参数名”会更可靠。5.4 实测下来的稳定方案踩了几次坑之后我目前用下来的稳定组合是Cursor 保持最新稳定版MCP 配置走本地启动命令模式而不是内嵌测试服务。本地模式的好处是问题定位更直接日志就在你的终端里。蓝湖 MCP 服务选择一个有 token 鉴权的实现能用只读模式就不要开可写。项目文件和设计稿命名规范这看似和 MCP 无关但在 AI 读取数据时规范的命名能显著提高参数匹配准确率。如果你的团队设计稿普遍命名不规范建议在大规模使用前让设计师整理一下图层命名。否则 MCP 工具拉回来的数据里全是“矩形 17 拷贝”这种图层AI 再聪明也猜不出那是按钮还是输入框。写在最后的一点体会把 Cursor 接到蓝湖本质上不是在装一个新工具而是在重新定义“还原”这个词的含义。以前“还原了吗”是一道判断题答案是或否中间靠人力反复校对现在“还原”变成一道流程题设计数据从蓝湖摸得到 AI 手里AI 写代码的过程中天然携带了这些参数偏差被压缩到了最小。当然不要指望 MCP 接上之后就彻底不需要设计师和开发沟通了。AI 能准确读出颜色值但它不知道设计师为什么选了这片渐变它能按标注把组件搭出来但不了解这个模块在下单流程中的业务逻辑。真正高效的协作仍然是设计师多解释一句意图开发多看一眼上下文再加上 AI 这个低成本高精度的“翻译官”。如果你团队也经常被“还原了吗”折磨我建议抽半天时间试试这条链路。不用一口气追求完美先拿一个简单页面打通让 AI 帮你完成第一次“读设计稿、出代码”。跑通之后再逐步扩大到日常开发流程中那种体验确实会让人回不去旧模式。