figma-ui-mcp
Provides tools for reading and modifying Figma design files, including node structure, selection, styles, components, and screenshots, through a bridge plugin that connects to Figma Desktop.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@figma-ui-mcpshow me the current selection properties"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Figma UI MCP Bridge
Kiettt8 Custom Edition
Figma UI MCP Bridge là cầu nối giữa một MCP client và Figma Desktop. MCP client có thể đọc cấu trúc thiết kế, chụp màn hình, tạo node và chỉnh sửa giao diện trực tiếp trên Figma canvas.
Repository này là một bản phát triển độc lập dựa trên TranHoaiHung/figma-ui-mcp. Phần MCP server và plugin nền tảng thuộc dự án gốc. Giao diện plugin và tài liệu cài đặt trong repository này được tùy chỉnh bởi Kiettt8.
License: MIT. Xem chi tiết tại LICENSE.
Related MCP server: figma-ui-mcp
1. Thông tin triển khai
Hạng mục | Giá trị |
Repository |
|
Phiên bản nền tảng |
|
Node.js | Từ phiên bản 18 |
Figma | Figma Desktop |
Bridge mặc định | Port |
Phạm vi sử dụng | Local development |
API key Figma | Không yêu cầu |
2. Mục tiêu
Sau khi hoàn tất tài liệu này, bạn có thể:
Chạy MCP server từ source code của repository.
Kết nối Codex, Claude Desktop, Cursor hoặc MCP client khác với server.
Đăng ký plugin development trong Figma Desktop.
Kiểm tra kết nối bằng
figma_status.Phát triển giao diện plugin trong
plugin/ui.html.Build lại plugin khi thay đổi logic trong
src/plugin.
3. Cách hệ thống hoạt động
MCP client
|
| MCP qua stdio
v
Node.js MCP server
|
| HTTP long polling trên port 38451
v
Figma development plugin
|
| Figma Plugin API
v
Figma documentMCP client tự khởi chạy server/index.js. MCP server tiếp nhận lệnh từ AI
và chuyển lệnh đến plugin đang mở trong Figma Desktop. Plugin thực thi lệnh
trên Figma document rồi trả kết quả về MCP client.
Figma bản web không phù hợp với cấu hình này vì bridge chạy trên máy local. Hãy sử dụng Figma Desktop.
4. Các công cụ MCP chính
Công cụ | Mục đích |
| Kiểm tra server, plugin và Figma session đang kết nối |
| Đọc tài liệu API và ví dụ thao tác |
| Tạo hoặc chỉnh sửa node trên Figma canvas |
| Đọc node, selection, style, screenshot hoặc SVG |
| Tổng hợp token, typography, variable và component |
Khi bắt đầu một phiên làm việc, nên gọi figma_status trước. Nếu cần tạo
hoặc chỉnh sửa thiết kế, đọc figma_docs trước khi gọi figma_write.
5. Cài đặt từ đầu
Bước 1. Kiểm tra môi trường
Mở Terminal và chạy:
node --version
npm --version
git --versionYêu cầu:
Node.js từ phiên bản 18.
npm đi kèm Node.js.
Git.
Figma Desktop.
Một MCP client như Codex, Claude Desktop, Cursor, VS Code hoặc Windsurf.
Bước 2. Clone repository
Chọn một thư mục cố định. Không nên đặt source trong thư mục tạm vì Figma lưu chính xác đường dẫn đến file manifest.
git clone https://github.com/kiettt8-product/figma-ui-mcp.git
cd figma-ui-mcp
npm installBước 3. Lấy đường dẫn tuyệt đối
Trên macOS hoặc Linux:
pwdTrên Windows PowerShell:
(Get-Location).PathVí dụ:
/Users/your-name/Projects/figma-ui-mcpĐường dẫn này được sử dụng trong cấu hình MCP client.
Bước 4. Kiểm tra server
node server/cli.js --versionKết quả cần hiển thị phiên bản của figma-ui-mcp.
6. Cấu hình MCP client
Chỉ cấu hình một trong các phương án bên dưới. Luôn dùng đường dẫn tuyệt đối
đến server/index.js.
6.1. Codex
Mở file:
~/.codex/config.tomlThêm cấu hình:
[mcp_servers.figma-ui-mcp]
command = "node"
args = ["/ABSOLUTE/PATH/TO/figma-ui-mcp/server/index.js"]Ví dụ trên macOS:
[mcp_servers.figma-ui-mcp]
command = "node"
args = ["/Users/your-name/Projects/figma-ui-mcp/server/index.js"]Lưu file, thoát hoàn toàn Codex rồi mở lại.
6.2. Claude Code
Chạy:
claude mcp add --scope user figma-ui-mcp -- node /ABSOLUTE/PATH/TO/figma-ui-mcp/server/index.jsKiểm tra:
claude mcp listSau đó thoát và mở lại Claude Code.
6.3. Claude Desktop, Cursor hoặc Windsurf
Thêm server vào phần mcpServers trong file cấu hình của client:
{
"mcpServers": {
"figma-ui-mcp": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/figma-ui-mcp/server/index.js"
]
}
}
}Các vị trí cấu hình thường dùng:
Claude Desktop trên macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonClaude Desktop trên Windows:
%APPDATA%\Claude\claude_desktop_config.jsonCursor theo project:
.cursor/mcp.jsonCursor toàn máy:
~/.cursor/mcp.jsonWindsurf:
~/.codeium/windsurf/mcp_config.json
Lưu file, thoát hoàn toàn client rồi mở lại.
6.4. VS Code
Tạo hoặc cập nhật .vscode/mcp.json:
{
"servers": {
"figma-ui-mcp": {
"type": "stdio",
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/figma-ui-mcp/server/index.js"
]
}
}
}Khởi động lại VS Code sau khi lưu cấu hình.
Kết quả mong đợi
Sau khi MCP client khởi động lại:
Client nhận diện server
figma-ui-mcp.Tiến trình Node.js chạy
server/index.js.Bridge mở port
38451hoặc một port dự phòng trong dải tiếp theo.figma_statuscó thể được gọi, dù plugin có thể chưa kết nối ở bước này.
7. Đăng ký plugin trong Figma Desktop
Bước 1. Mở phần quản lý plugin development
Trong Figma Desktop, vào:
Plugins > Development > Manage plugins in developmentBước 2. Xóa đăng ký cũ nếu có
Nếu đã từng cài một bản Figma UI MCP Bridge khác:
Tìm plugin cũ trong danh sách development.
Kiểm tra đường dẫn manifest.
Xóa đăng ký cũ nếu đường dẫn trỏ đến Downloads, npm cache hoặc một repository khác.
Thao tác này chỉ xóa đăng ký development, không xóa source code.
Bước 3. Import manifest
Chọn Import plugin from manifest, sau đó mở:
/ABSOLUTE/PATH/TO/figma-ui-mcp/plugin/manifest.jsonTên plugin hiển thị:
Figma UI MCP Bridge · Kiettt8Bước 4. Chạy plugin
Mở một Figma design file.
Vào
Plugins > Development.Chạy
Figma UI MCP Bridge · Kiettt8.Giữ cửa sổ plugin mở trong lúc sử dụng MCP.
Khi server hoạt động, trạng thái plugin chuyển từ Connecting sang Connected.
8. Kiểm tra kết nối
Trong MCP client, yêu cầu gọi:
figma_statusKết nối thành công cần có:
Trường kiểm tra | Kết quả |
Server | Đang chạy |
Plugin |
|
Port |
|
Session | Có Figma file đang mở |
File name | Trùng với file đang mở trong Figma |
Nếu pluginConnected là false, kiểm tra theo thứ tự:
Figma Desktop đang mở.
Development plugin đang chạy.
MCP client đã được khởi động lại sau khi sửa cấu hình.
Đường dẫn
server/index.jslà đường dẫn tuyệt đối và tồn tại.Không có tiến trình cũ chiếm port bridge.
9. Thử thao tác đầu tiên
Yêu cầu AI kiểm tra trạng thái:
Kiểm tra kết nối Figma bằng figma_status.Sau khi kết nối thành công:
Đọc selection hiện tại trong Figma và mô tả cấu trúc layout.Ví dụ tạo giao diện:
Đọc figma_docs, sau đó tạo một mobile frame 390 x 844 gồm tiêu đề,
hai input và một primary button. Chụp screenshot để kiểm tra kết quả.Quy trình nên sử dụng:
Gọi
figma_status.Gọi
figma_docsnếu cần viết hoặc sửa thiết kế.Gọi
figma_readđể hiểu canvas hoặc selection hiện tại.Gọi
figma_writeđể thực hiện thay đổi.Gọi
figma_readvới screenshot để kiểm tra kết quả.
10. Phát triển giao diện plugin
File giao diện:
plugin/ui.htmlĐối với thay đổi HTML, CSS hoặc JavaScript nằm trong file này:
Sửa
plugin/ui.html.Đóng cửa sổ plugin đang chạy.
Chạy lại development plugin trong Figma.
Kiểm tra trạng thái kết nối và giao diện.
Không cần chạy build nếu chỉ sửa plugin/ui.html.
Các nguyên tắc giao diện hiện tại:
Thành phần | Quy ước |
Primary color |
|
Primary text |
|
Base surface |
|
Subtle surface |
|
Typography | SF Pro hoặc system font |
Control height | Khoảng 44 px |
Corner radius | Khoảng 8 đến 12 px |
11. Phát triển logic Figma plugin
Source logic nằm trong:
src/plugin/Sau khi thay đổi source:
npm run build:pluginLệnh này tạo lại:
plugin/code.jsKhông sửa trực tiếp plugin/code.js vì đây là file được sinh tự động.
Để tự động build lại khi source thay đổi:
npm run devSau mỗi lần build:
Đóng plugin đang chạy.
Chạy lại development plugin.
Kiểm tra chức năng vừa thay đổi.
12. Phát triển MCP server
Source MCP server nằm trong:
server/Các file chính:
File | Trách nhiệm |
| MCP server và stdio transport |
| HTTP bridge và quản lý session |
| Định nghĩa MCP tools |
| Thực thi thao tác đã được kiểm soát |
| Nội dung trả về từ |
Sau khi sửa server:
Thoát hoàn toàn MCP client.
Kiểm tra tiến trình Node.js cũ đã dừng.
Mở lại MCP client để server mới được khởi chạy.
Chạy lại Figma plugin.
Gọi
figma_status.
Chạy server thủ công chỉ nên dùng để kiểm tra:
npm startTrong sử dụng bình thường, MCP client sẽ tự khởi chạy server.
13. Xử lý lỗi
13.1. Vẫn thấy giao diện cũ
Nguyên nhân thường gặp là Figma đang dùng một manifest khác.
Cách xử lý:
Mở
Manage plugins in development.Xóa đăng ký Figma UI MCP Bridge cũ.
Import lại
plugin/manifest.jsontừ repository này.Đóng và chạy lại plugin.
Nếu vẫn chưa cập nhật, thoát hoàn toàn Figma Desktop rồi mở lại.
13.2. MCP client đang chạy bản npm thay vì source local
Không sử dụng cấu hình sau cho bản custom:
{
"command": "npx",
"args": ["figma-ui-mcp"]
}Cấu hình trên tải package npm của dự án gốc. Hãy thay bằng:
{
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/figma-ui-mcp/server/index.js"
]
}13.3. Port 38451 đang được sử dụng
Trên macOS hoặc Linux:
lsof -nP -iTCP:38451 -sTCP:LISTENTrên Windows:
netstat -ano | findstr :38451Xác định tiến trình trước khi dừng. Thông thường chỉ cần thoát MCP client cũ rồi mở lại.
13.4. Plugin ở trạng thái Connecting
Kiểm tra:
MCP client đã nhận server hay chưa.
server/index.jscó chạy hay không.Port trong plugin có trùng port server hay không.
Firewall có chặn kết nối local hay không.
Figma đang chạy đúng development plugin hay không.
13.5. Lệnh chạy vào nhầm Figma file
Bridge hỗ trợ nhiều session. Nếu đang mở plugin trong nhiều Figma file:
Gọi
figma_statusđể xem danh sách session.Đóng những plugin instance không sử dụng.
Hoặc truyền đúng
sessionIdkhi gọifigma_readvàfigma_write.
14. Kiểm tra trước khi bàn giao
Một cấu hình hoàn chỉnh cần đạt các điều kiện sau:
npm installchạy thành công.MCP client dùng đường dẫn local đến
server/index.js.Figma Desktop đăng ký đúng
plugin/manifest.json.Plugin hiển thị tên
Figma UI MCP Bridge · Kiettt8.figma_statustrả vềpluginConnected: true.figma_readđọc được selection hoặc page.figma_writetạo được một node thử nghiệm.Screenshot trả về đúng frame vừa thao tác.
15. Cấu trúc repository
figma-ui-mcp/
|-- plugin/
| |-- manifest.json
| |-- ui.html
| `-- code.js
|-- src/
| `-- plugin/
|-- server/
| |-- index.js
| |-- bridge-server.js
| |-- tool-definitions.js
| |-- code-executor.js
| `-- api-docs.js
|-- scripts/
| `-- build-plugin.js
|-- package.json
|-- CHANGELOG.md
|-- LICENSE
`-- README.md16. Lưu ý bảo mật
Bridge này được thiết kế cho local development.
Không expose trực tiếp port
38451lên Internet.Bridge không có cơ chế authentication phù hợp cho môi trường production.
Không chạy trên mạng không tin cậy nếu chưa giới hạn network binding và firewall.
Kiểm tra các thao tác do AI tạo trước khi áp dụng lên design file quan trọng.
Không lưu credential hoặc dữ liệu nhạy cảm trong prompt, source code hoặc Figma plugin.
17. Cập nhật từ dự án gốc
Repository này độc lập với dự án gốc và không thuộc fork network. Có thể thêm remote chỉ để theo dõi thay đổi:
git remote add upstream https://github.com/TranHoaiHung/figma-ui-mcp.git
git fetch upstreamDo repository này sử dụng lịch sử độc lập, không merge trực tiếp
upstream/main vào main nếu chưa kiểm tra. Quy trình an toàn:
Tạo một branch thử nghiệm.
So sánh source hiện tại với phiên bản upstream cần cập nhật.
Chọn từng thay đổi cần thiết.
Giữ lại
plugin/ui.html,plugin/manifest.jsonvà tài liệu custom.Build và kiểm tra lại plugin.
Chỉ merge branch thử nghiệm sau khi
figma_status,figma_readvàfigma_writehoạt động.
18. Nguồn và ghi nhận
Phạm vi | Tác giả |
Dự án gốc | |
Custom plugin UI | Kiettt8 |
Tài liệu cài đặt và phát triển | Kiettt8 |
License | MIT |
Repository này giữ ghi nhận dự án gốc theo giấy phép MIT, đồng thời duy trì lịch sử Git độc lập cho bản Kiettt8 Custom Edition.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kiettt8-product/figma-ui-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server