玩转ClaudeCode:使用Figma-MCP编写前端代码1:1还原UI设计图

玩转ClaudeCode:使用Figma-MCP编写前端代码1:1还原UI设计图

目录

本轮目标

具体实践

一、开启 Figma 的 MCP 服务器

二、Claude Code 连接 Figma MCP

三、Claude Code 代码实现 Figma 设计稿


本轮目标

本轮目标是制作数字化大屏的一个前端组件,要求和UI设计图还原度达到1:1。

本轮目标需要我们提前准备好figma客户端,且登录帐号具有开发模式的权限(没有可以去某夕)。Claude Code 就不必多说,没有安装的同学参考我的上一篇文章《玩转ClaudeCode:ClaudeCode安装教程(Windows+Linux+MacOS)》完成安装,通过专属链接注册,可以额外领取100美金的免费使用额度。

安装教程参考:玩转ClaudeCode:ClaudeCode安装教程(Windows+Linux+MacOS)_claude code安装-ZEEKLOG博客文章浏览阅读2.5w次,点赞67次,收藏86次。全网最火爆的Claude Code系列教程来了,跟着小智学AI,做新时代的Vibe Coder,几篇博客带你玩转Claude Code,本文介绍了Claude Code在Windows环境、Linux环境、MacOS环境下的安装和使用,还没有体验过Calude Code的你,快来扫盲吧,有任何问题都可以在评论区留言,期待你的互动!_claude code安装https://blog.ZEEKLOG.net/weixin_41793160/article/details/149313024


具体实践

一、开启 Figma 的 MCP 服务器

打开 Figma 桌面客户端(只支持在桌面端中设置 Figma MCP Server),如图所示选中 Preferences -> Enable Dev Mode MCP Server 启动 MCP Server。

如果访问 localhost:3845/sse 有如下页面,说明 Figma 的 MCP 服务开启成功。

Figma MCP 支持 5 个 Tool:

ToolFunction
get_code获取设计稿中的代码
get_image获取设计稿中的图片
get_variable_defs获取某个变量
get_code_connect_map获取代码连接映射
create_design_system_rules创建设计系统规则

二、Claude Code 连接 Figma MCP

首先保证电脑上已经安装 claude code,没有安装的参考:玩转ClaudeCode:ClaudeCode安装教程(Windows+Linux+MacOS)_claude code安装-ZEEKLOG博客文章浏览阅读2.5w次,点赞67次,收藏86次。全网最火爆的Claude Code系列教程来了,跟着小智学AI,做新时代的Vibe Coder,几篇博客带你玩转Claude Code,本文介绍了Claude Code在Windows环境、Linux环境、MacOS环境下的安装和使用,还没有体验过Calude Code的你,快来扫盲吧,有任何问题都可以在评论区留言,期待你的互动!_claude code安装https://blog.ZEEKLOG.net/weixin_41793160/article/details/149313024

已经安装成功的进行下面的步骤:

项目文件夹目录下 CMD 运行:

claude mcp add --transport sse figma-dev-mode-mcp-server http://127.0.0.1:3845/sse

启动 Claude Code:

claude --dangerously-skip-permissions

查看 MCP 是否安装成功:

/mcp

如果显示未连接,可以回车之后选择 Reconnect 一下,连接成功如图:

如果需要项目特定配置,可以在项目目录下新建 .mcp.json 文件,将 Figma MCP Server 和 context7 MCP Server 的配置写入:

{   "mcpServers": {     "Figma": {       "url": "http://127.0.0.1:3845/sse"     },     "context7": {       "command": "npx",       "args": ["-y", "@upstash/context7-mcp@latest"]     }   } }

三、Claude Code 代码实现 Figma 设计稿

先测试 Claude Code 能否读取到 Figma 的设计稿。

选中 Figma 设计稿中的某一块(或复制 Figma 中的图层链接)。

在 Claude Code 里提问,是否可以抓取到对应模块的 CSS:

告诉我figma里选中的模块的css

可以看到,CSS 信息被顺利抓取。

下面,我们来进行代码的整体编写,将 Figma 设计稿转换成代码实现。

根据figma 设计稿当前选中的图层,遍历里面所有的组件,对图片逐一下载,对每个子组件逐一读取,将figma设计稿转换为html代码实现,创建index.html

我创建了一个静态 html 页面来实现这个效果,如果是vue/react/angular的页面,告诉 claude code 即可。

由于元素过多,claude code 的第一版一般都和 ui 大相径庭。后续需要我们逐个组件把 css 喂给 claude code。

最终效果:

各个组件都和原型 1:1 复刻,后面再微调组件间距离即可。因为大屏太过复杂,调了很久,但是也节省了非常大的时间。

下面,我们再去复刻一个简单的移动端的 UI 案例。

还是先选中我们要实现的图层。

告诉 claude code,我们要遍历这个图层中的所有组件,创建一个 html 文件,实现这个组件。

帮我创建一个test.html,实现我选中的图层及内容,要求遍历每一个组件,获取他们的样式和svg等

初版很快就被实现了出来:

下面,我们需要依次选中figma中的每个子组件,再把它们的 css 喂给 claude code。

最终效果:

再实现一个简单的,目标如下:

初版如图:

喂给 claude code 更多 css 和 svg 信息:

最终结果如图:

经过这几个例子,我们可以看到 claude code 结合 figma 的 mcp 之后,功能变得多么的强大,期待使用 claude code 做出更多出色的作品!!


加入社区

Claude Code 开发者交流社区

福利多多,立即加入 👇 👇 👇 

Claude Code 中国开发者交流社区

期待与你的思维碰撞,共同奔赴AI开发的浪潮!

Read more

Springboot 整合 Java DL4J 实现情感分析系统

Springboot 整合 Java DL4J 实现情感分析系统

🧑 博主简介:历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分享所学,希望通过我的实践经历和见解,启发他人的创新思维。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。 S

By Ne0inhk
【技术架构】从单机到微服务:Java 后端架构演进与技术选型核心方案

【技术架构】从单机到微服务:Java 后端架构演进与技术选型核心方案

🔥个人主页: 中草药  🔥专栏:【Java】登神长阶 史诗般的Java成神之路 一、单机架构         单机架构的核心是 “单点部署”:后端服务的所有功能模块(从接收请求到返回响应)都在一台机器内完成,不存在跨机器的网络通信(如分布式中的服务调用、跨节点数据库访问)。 诞生于互联网发展早期阶段:当时用户访问量小、业务场景简单,单机的计算(CPU、内存)与存储(磁盘)能力,足以支撑业务需求,无需多机分布式协作。 可以用一个简单的类比理解: * 单机架构 ≈ 一家 “夫妻小店”:老板(应用服务)、仓库(数据库)、收银台(Web 服务器)、货架(静态资源)都在同一个店面里,顾客(用户)的需求在店内即可全部满足,无需联系外部。 * 分布式架构 ≈ 连锁超市:总部(核心服务)、分店(

By Ne0inhk

Java 并发常见问题总结(4)

Java线程出现异常,进程为啥不会退出? 因为Java是采用线程独立模型,各个线程之间互相独立,有各自的上下文,当一个线程出现错误的时候,只会影响到这个线程自己本身,不会影响到其它的线程,更不会导致程序退出 不过我们这里介绍的异常更多是Exception,如果是error级别的,通常意味着硬件层面不够,才有可能会导致退出 此外Exception我们是可以通过捕获的,捕获了的话也不会导致线程直接死掉 Java是如何判断一个线程是否存活的?需要注意什么吗? 通过isAlive() 方法: public class Main { public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread(() -> { System.out.println("t1 begin"); try { Thread.sleep(1000); } catch (InterruptedException e)

By Ne0inhk
鸿蒙UI框架演进史:从Java UI到ArkUI的架构变迁,解码声明式UI与跨端一致性的技术革命

鸿蒙UI框架演进史:从Java UI到ArkUI的架构变迁,解码声明式UI与跨端一致性的技术革命

鸿蒙UI框架演进史:从Java UI到ArkUI的架构变迁,解码声明式UI与跨端一致性的技术革命 第一章 :UI框架的十年之变 在移动操作系统的演进史上,UI框架的变迁始终是开发者体验与系统能力的晴雨表。从2012年EMUI 1.0诞生,到2025年HarmonyOS NEXT全面推广ArkUI,华为的UI框架走过了13年的技术迭代之路。 这期间,我们见证了从“命令式UI”到“声明式UI”的范式转移,经历了从“单设备适配”到“多端一致”的架构革命。对于开发者而言,理解这段演进史,不仅是回顾技术发展脉络,更是把握鸿蒙生态未来方向的关键。 本文将系统梳理鸿蒙UI框架的演进历程,深入剖析渲染引擎的优化技术,用量化数据证明声明式UI的性能优势,并解密跨端UI一致性的实现方案。全文约12000字,包含大量代码示例与实践建议。 第二章 鸿蒙UI框架演进史:从Java UI到ArkUI的架构变迁 2.1 EMUI时代:定制化UI的探索期(2012-2019) 要理解鸿蒙UI的今天,必须先回顾EMUI的昨天。2012年,华为发布了基于Android的EMUI 1.0,

By Ne0inhk