ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Cursor接入蓝湖MCP:从设计稿到代码的精准还原实战

Cursor接入蓝湖MCP:从设计稿到代码的精准还原实战

做前端这些年,我最怕听到的一句话就是“还原了吗”。设计稿走查、切图标注、间距微调,全都靠截图和口头沟通来来回回传话,一份页面没个三五轮确认,根本不敢说交付。后来我把 Cursor 接上了蓝湖,AI写代码时能直接读取设计稿的结构化数据,“这版到底还原了没”终于变成一个可以当场验证的问题。这里面没有概念科普,是我从零搭完这条链路的完整记录,包括配置细节、踩坑经历和几个真实可用的工作流模板,给前端开发、独立开发者以及正在被设计协作折磨的团队一个参考。

1. 先说清楚痛点:设计师和开发之间差的不只是“还原了吗”

1.1 设计稿到代码之间的信息损耗

视觉设计交付到开发手上,中间的损耗比大多数人以为的大。一个按钮的圆角写 8px 还是 10px,设计本身要表达的是“视觉上柔和一些”还是“结构上更利落”,这些信息如果只靠一张截图传过去,很容易失真。我做页面时最常见的流程是:打开蓝湖网页端看标注,切换到切图面板下载资源,再把关键数值手动抄进代码里。抄的过程慢一点倒无所谓,真正让人崩溃的是设计师改稿之后,我得对着新旧两版设计稿找变化点,一张一张图过,眼睛都快看花。

这里不讨论谁对谁错。设计协作本来就是两个工种之间的信息转译,问题在于转译过程太依赖人工。设计师的成果躺在蓝湖项目里,开发的项目却散落在本地代码库,两边的数据根本没打通。只要中间多一个“人工传话”的动作,就一定会有误差、遗忘和来回确认。“还原了吗”这句话表面上看是确认结果,实质上暴露的是设计数据没有直连开发工具的问题,大家只能靠嘴去对齐信息。

1.2 为什么是MCP,为什么是蓝湖

我最早试过用截图配合视觉模型来还原,效果很一般。截图只能看到像素,看不到图层结构、切图地址、标注关系,而且大设计稿一压缩,颜色和间距照样失真。后来了解到蓝湖开放了 MCP 服务,可以让 AI 用标准协议访问蓝湖的项目数据,这才把问题从“像不像”变成了“准不准”。

MCP 的逻辑说白了就是给 AI 配了一堆外设。Cursor 这种 AI 编程助手天生只能理解你给它看的上下文,接上 MCP 之后,它就能实时调用外部工具和数据源,设计稿里那些结构化信息对它来说就像读本地文件一样自然。这也是我选蓝湖而不是继续截图的根本原因:数据是结构化的,路径是标准化的,同一套方案还能复用到其他 AI 工具上。

2. MCP连接原理:Cursor和蓝湖到底是怎么配合的

2.1 MCP到底是什么协议

用大白话说,MCP(Model Context Protocol,模型上下文协议)就是给 AI 应用和外部系统之间定了一个通用插口。没有这个协议之前,每个 AI 助手想接外部数据都得单独定制开发,有协议之后,大家统一按一套规则收发消息。你可以把它理解成电脑上的 USB 接口:不管是 U 盘、键盘还是摄像头,只要协议一致,插上就能用。

MCP 实现里通常有两个角色:MCP Host 和 MCP Server。Host 是运行 AI 助手的主程序,Cursor 就是这个角色;Server 负责提供数据,蓝湖的 MCP 服务就是这个角色。Host 通过配置把可用的工具告诉 AI,AI 在需要时调用 Server 暴露的工具方法。完整链路是:你在 Cursor 对话里发出意图,Cursor 调用蓝湖 MCP 工具,蓝湖返回设计稿数据,Cursor 再把数据作为上下文继续生成代码。

2.2 Cursor的MCP支持与蓝湖的MCP服务形态

Cursor 从较新版本开始就把 MCP 设成了原生能力,目前用下来体验比较完整的表现在三块:第一,可以在设置面板里直接添加、启停 MCP Server;第二,AI 对话中能用工具列表主动调用 MCP 工具;第三,支持项目级配置文件。对绝大多数用户来说,你不需要写代码,只是粘一段 JSON 配置而已。

顺带说一个很多人问过我的事:Cursor 刚装好是全英文界面,不了解的人会卡在设置项上。你可以先去设置里把界面语言切成中文,再回来配置 MCP,这样看状态提示会轻松不少。语言设置跟 MCP 没关系,纯粹是减少视觉负担,人就不会那么慌。

蓝湖的 MCP 服务其实有两种部署形态。一种是本地进程方式,通过 npx 启动官方提供的 server 包,适合个人开发者和单机环境;另一种是远程服务方式,直接把 server 地址填到配置里,适合团队共用和 CI 环境。不管哪种,最终暴露给 AI 的能力是一样的,区别只是数据从哪里跑过来。

2.3 结构化数据为什么比截图识别更靠谱

再往深说一层。视觉模型还原设计稿当然能做,但“能做”和“可用”是两码事。截图方案有三个硬伤:一、没有图层树,AI 看不出哪个元素属于哪个容器;二、没有切图资源,靠截图去猜图标资源路径纯属碰运气;三、版本对比只能靠肉眼找不同,数据集一超过一页基本就失效。

而蓝湖 MCP 返回的是实实在在的 JSON 数据,里面有颜色值、字号、坐标、圆角、间距、状态和切图 URL。Cursor 拿到这些之后,给出的代码就带精确数值,而不是“大概用个灰色圆角按钮”这种模糊答案。这一步看起来只是数据格式的差别,实际是把协作链路从“人工传话”推到了“机器读稿”的阶段。

3. 5分钟实操:在Cursor里部署蓝湖MCP服务

3.1 前置准备:三样东西备齐

实际动手前,我建议先把三样东西准备好,免得配置到一半卡住:

  1. 一台能正常运行 Node.js 的电脑,建议 18 以上版本,打开终端敲node -v能打印版本号;
  2. 一个蓝湖账号,并且对该设计稿项目有访问权限;
  3. 一个 Cursor 账号,版本不要太旧,建议升级到支持 MCP 的较新版本。

有人会卡在第一步,因为本地没有 npx。其实 npx 会随 Node.js 一起安装,你只需要确认 node 可用就行。如果公司电脑权限受限装不了 Node,那本地 MCP 进程基本跑不了,这时候可以跳过本地命令方式,直接用远程 MCP 方案,这部分在 3.3 里会说到。

3.2 获取蓝湖Token并确认数据权限

蓝湖 MCP 服务的访问控制通常走 Token 认证。在蓝湖开放平台或个人中心创建访问令牌,创建时注意两点:一是勾选你需要的项目权限范围,初期选只读就够;二是把 Token 明文保存下来,因为很多平台只在创建弹窗里显示一次,关了窗口只能重新生成。

拿到 Token 之后,我强烈建议先到蓝湖的接口文档页里手动试一次接口调用,确认你的 Token 能读到项目与设计稿数据。这一步很多人跳过,等配置完 MCP 才发现 Token 权限不对,排查反而更慢。接口能正常返回 JSON,剩下的就只是把它配进 Cursor 而已。

3.3 在Cursor中添加MCP Server

打开 Cursor 设置面板(Windows/Linux 快捷键 Ctrl+逗号,macOS 是 Cmd+逗号),找到 MCP 分区,点击 Add new MCP server。这时需要填一段配置。如果你走本地进程方式,选 command 类型,配置大致长这样:

{ "mcpServers": { "lanhu": { "command": "npx", "args": ["-y", "@lanhu/mcp-server"], "env": { "LANHU_API_TOKEN": "你的_token_放在这里" } } } }

如果你用的是远程服务方式,配置就变成填一个 endpoint 地址,并在请求头里带上认证信息。实际能用的 server 包名称和远程地址以蓝湖官方文档为准,因为厂商会更新版本,但结构就是这么个结构。配置完成后保存,Cursor 会重启 MCP 连接。

这里要提醒一个新用户常见的困惑:MCP Server 名称是自己随便起的,不要指望它自动出现在对话里叫“lanhu”,它只是一个条目标识。真正的调用由 AI 根据你的意图去触发,你只需要保证 server 能被正常加载就行。举个例子,如果你把名称写成 my-design,那 AI 的工具列表里就会多出 my-design 相关的能力字号。

3.4 安全细节:别让Token跟着Git裸奔

.mcp.json 这类项目级配置文件可能会被提交到 Git 仓库,如果你把 Token 明文写进去,等于把密钥在仓库里向所有协作者公开。我的惯常做法是:项目配置里只写 server 命令和启动参数,Token 通过环境变量注入。

实际配置可以像这样写占位:

{ "mcpServers": { "lanhu": { "command": "npx", "args": ["-y", "@lanhu/mcp-server"], "env": { "LANHU_API_TOKEN": "${LANHU_API_TOKEN}" } } } }

系统里设置好 LANHU_API_TOKEN 之后,Cursor 启动时会自动取到实际值。这样仓库里没有密钥,同事克隆项目后只要自己也配一份环境变量,MCP 照样能跑。这个坑我自己踩过一次,第一次图省事直接写死 Token,代码评审时被同事念了很久,从那以后就改了习惯。

3.5 验证连接:让AI自己报一遍“已连接”

配置保存后,回到 MCP 面板,正常情况下会多出一条 server 记录,状态显示为 Connected。如果一直是 Not connected 或者报错,先检查 npx 是否可用,再检查 Token 是否正确。确认配置无误后,在对话里可以尝试这样问:

“你现在试试有哪些 MCP 工具可用,帮我列出我有权限的蓝湖项目。”

如果 AI 能返回项目列表,说明整条链路已经通了。这时候你的 Cursor 就不再只是写代码的编辑器了,它相当于多了一块设计稿数据源,接下来真正的效率提升才开始。

4. 接入后的真实工作流:我从人肉翻译机变回了工程师

4.1 抄数值的活被AI接管了

接上蓝湖 MCP 之后,最直观的变化是我写页面时不再频繁切到蓝湖网页端抄数值了。比如拿到一个登录页设计稿,我会直接要求 Cursor 读取设计稿样式,生成对应的组件代码。AI 会把它在蓝湖里读到的颜色、字号、间距和圆角整理成代码,这个过程比之前的“切窗口、放大、截图、手敲”顺畅太多。

这里有个真相:AI 写的代码并不是每次都能直接用。但我要的不是成品,而是把大量“照抄规格”的低级劳动剥离开,把精力留到布局、交互、状态管理这些真正需要人判断的地方。设计还原的误差率从“我眼力如何”变成了“AI 读取数据是否完整”,而后者是可被检查、可被修复的。

4.2 设计稿版本对比不再靠肉眼

设计师改稿最频繁的时候,我抓狂的不是改一个字段,而是不知道哪里变了。之前要比对两版设计稿,我得把两张图切换着看,眼神不好的还得开像素对比工具。现在通过 MCP,我可以让 AI 拉取两个版本的设计信息做差异对比,它会告诉我哪些模块的颜色变了、间距调了、文案换了,直接形成条目清单。

虽然做不到 100% 替代人眼对视觉细节的审美判断,但纯数值层面的对比,机器比人可靠多了。这背后其实牵扯到一个我后来才想明白的逻辑:为什么这方案能真正减少“还原了吗”,因为它把信息不对称的问题解决了,而“还原了吗”本质上就是信息不对称。当设计数据可以直接喂给开发工具时,双方需要确认的内容就只剩审美和业务方向了。

4.3 一个可直接套用的Prompt模板

很多人问接完之后对话里到底怎么用,我分享一个我比较常用的模板:

“读取蓝湖项目里的设计稿文件,识别其中的登录页面模块。请列出所有可见元素,然后直接生成一个 React 登录表单组件,要求:样式必须严格采用设计稿中的数值,按钮颜色、圆角、间距不要推理,直接用数据源字段。”

这个 Prompt 看起来简单,关键点有三个:第一,限定数据来源是 MCP 读取的设计稿;第二,要求关键样式不要推理;第三,指定生成技术栈。不这样写,AI 特别容易用训练语料里的常见登录页样式去脑补,数值会和设计稿对不上。

4.4 团队协作里那些隐性成本省在了哪

这套接入的收益不只是“写代码快了”这么简单。以前设计师要反复回复“左边再过来 8px”这种需求,代码上可能是整个组件重排;现在设计师直接把改动同步到蓝湖,我让 AI 重新拉一遍数据,差异一眼就能看出来。设计师不用再追着我确认“还原了吗”,因为还原过程变成了一段连续可追踪的数据流。

我个人的真实感受是协作氛围都变了。以前“还原了吗”带着一种互相试探甚至不信任的味道,现在双方都默认数据一致,剩下的是审美层面的讨论,比如“这个按钮是更立体一点还是扁平一点”。这反而回到了设计协作本来的样子。

5. 常见问题与排查技巧实录

5.1 MCP服务状态一直Not Connected怎么办

先看清楚错误信息里有没有command not found或ENOENT,如果有,基本是 npx 没在系统 PATH 里。这种情况最有效的处理办法是彻底退出 Cursor,重新打开终端确认 npx 能正常执行,再启动 Cursor。我的经验是先手动跑一次启动命令,确认服务能起来后再去 Cursor 里刷新状态,比在设置里反复开开关关高效得多。

5.2 连接正常但拉不到项目数据

连接状态正常但拉不到数据,最常见的因素是 Token 权限。蓝湖不同角色对项目数据的读取范围不同,如果你的账号只是访客,MCP 能拿到的内容会很有限。排查时先用接口页验证,如果 API 层面就返回无权限,那就去找项目管理员提权限,这跟 MCP 本身无关,别在配置里瞎折腾。

5.3 大设计稿响应超时

不要指望 MCP 能把一本几百屏的设计规范全部读进上下文。模型上下文窗口是有限的,硬把大文件塞进来的结果就是超时、丢字段,甚至直接截断。我的做法是先让 AI 拉文件列表,搞清楚目标页面在哪个文件,再用文件 ID 去读取单个页面。这个思路跟人脑一样:你不可能背完整本书再回答细节,翻到指定页才是实用的方式。

5.4 多项目和多人协作时Token怎么管

团队里不同项目可能处在不同蓝湖空间,Token 也可能不同。我建议在 MCP 配置里为不同空间各建一个 server 条目,命名清晰一点,切换时在 MCP 面板里启用对应条目,比频繁改同一个 server 的 env 值可靠。多次实测下来,这种方式重启一次 Cursor 就生效,不容易串数据。

还有一个会被问到的问题:同一个 Cursor 账号在多台电脑上登录,有时会提示设备数超限。这个和蓝湖 MCP 无关,属于 Cursor 账号的登录策略。注意别把账号挂在太多机器上,免得影响日常使用。

6. 接完之后的新想法:这套方案还能怎么扩展

6.1 同一份MCP配置,复用到其他AI工具

蓝湖 MCP 服务不是 Cursor 专用,因为配置协议已经标准化,所以它可以被其他支持 MCP 的 AI 工具复用。比如现在不少团队用 Codex 做工程任务,把同样的 server 配置搬过去,它同样能读蓝湖数据。一份 Token、多端复用,这才是 MCP 真正的价值:把设计数据变成团队公共资产,而不是某个人电脑里的截图文件夹。

6.2 把设计信息接进知识库和自动化流程

我还试验过把 MCP 拿到的设计信息接进团队自动化脚本,比如设计稿更新后自动生成一条变更提醒,甚至让 AI 把变更摘要发到工作群。如果团队有知识库沉淀的习惯,也可以让 Cursor 把蓝湖里的设计规范整理成文档。这些玩法比单纯写代码时读稿更进阶,但信息流转的效率改善非常明显。我自己用下来觉得最值得先做的是变更提醒,因为成本低、见效快,设计师一更新我就能知道,不用等群里的“改了哈”小作文。

6.3 自动化不是终点,人的判断才是

最后分享一个我的习惯。MCP 让数据读取自动化了,但不代表审美和业务判断可以全交给 AI。实际项目中,设计稿里偶尔会有不合理的间距,或者组件库里已经有更优的实现方案,这种时候还是要靠人做决策。我的原则是:AI 负责把设计数据按规格取回来,我负责决定哪些地方严格遵循、哪些地方灵活调整。工具能解掉“还原了吗”的沟通损耗,但解不掉“这个方案好不好”的设计判断,两件事分开看,路就走不歪。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进