프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

figma-vault

제작자: NBhey버전 0.1.5i★ –i내 컴퓨터에서 실행
레지스트리 이름io.github.NBhey/figma-vault

설치

개요

제작자가 쓴 설명(영어 원문)

Figma designs pulled once into a local vault; AI agents read them offline with no rate limits

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio
  • 카테고리: 디자인, 이미지 및 오디오

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 레지스트리에 입력해야 할 키가 나와 있지 않아요.

필요한 것

  • npmNode.js 설치(npx 명령어용)

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요

{
  "mcpServers": {
    "figma-vault": {
      "command": "npx",
      "args": [
        "-y",
        "figma-vault",
        "mcp"
      ]
    }
  }
}

터미널에서 이 명령어를 실행하세요

claude mcp add figma-vault -- npx -y figma-vault mcp

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "figma-vault": {
      "command": "npx",
      "args": [
        "-y",
        "figma-vault",
        "mcp"
      ]
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "figma-vault": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "figma-vault",
        "mcp"
      ]
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 NBhey 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

디자인, 이미지 및 오디오 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 2192개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 2192개 중 40%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 2192개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

figma-vault, 안전한가요?

해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.5)은 39일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Figma Context MCP, Claude Real Video, Figma MCP Server

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Figma Context MCP

제작자: GLips

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

내 컴퓨터에서 실행★ 16,165MIT5개월 전 업데이트
설치

Claude Real Video

제작자: HUANGCHIHHUNGLeo

Let any LLM watch a video locally — and search everything it has ever watched.

내 컴퓨터에서 실행★ 2,284MIT2개월 전 업데이트
설치

Figma MCP Server

제작자: figma

The Figma MCP server brings Figma design context directly into your AI workflow.

클라우드에서 실행★ 2,15213개월 전 업데이트
설치

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

figma-vault

English · Русский

Pull a Figma frame once. Then Claude Code, Codex or any MCP agent reads it as often as it likes: offline, with no Figma token and no rate limits.

  • Batch Figma requests once, then zero requests however many times the agent looks. Screens from one file share the structure read and image render batches.
  • Icons cost nothing. A real screen had 141 icons, and they took no extra requests.
  • Commit the vault and the team needs no Figma access. No licence, no token.

Try it in 30 seconds. You don't need a Figma token for this:

npm i -g figma-vault

figma-vault init && figma-vault demo && figma-vault check

How it works: the pull normalizes the frame and writes it to disk. The agent then reads it over MCP.

one developer:      figma-vault add <link>  →  vault  →  git commit

the rest of the team: the agent reads it over MCP, no Figma token needed

The problem

Figma's MCP server and REST API are rate-limited, and on some seats the limit is tiny. While building a UI, an agent goes back to the design all the time to check a margin, a colour or a font size. That can mean dozens of calls in one session. You hit the limit fast and the work stops.

With figma-vault, the number of Figma calls doesn't depend on what the agent does. Each design costs a fixed number of calls, spent once when you pull it.

Figma Dev Mode MCPfigma-vault
who calls Figmathe agent, while it worksthe CLI, once
how many callsgrows with the agent's workfixed per design
does every reader need a tokenyesno
works offlinenoyes

There's a side effect: the design becomes a file in your repository. A developer without access to the Figma file (no licence, no permissions, no token) still gets the whole design.

How it compares

Other projects work on the same problem. The Framelink Exporter plugin exports a design to a zip for offline use, and there are caching forks of Framelink's Figma MCP. figma-vault takes a different approach:

  • The vault is meant to be committed. One person pulls a design and the whole team reads it from git. Nobody else needs Figma access.
  • Icons cost zero requests. Vector paths come with the node tree, and the SVGs are built locally. Rendering them through Figma would eat the image-render limit.
  • The format is fixed and validated. doc.json follows a written contract, and a strict validator checks every file.

Install

Requires Node.js 22+.

npm i -g figma-vault
Option 1. Per project
figma-vault init

This creates .figma-vault/, registers the server in the project's .mcp.json (other entries are left alone), adds .env to .gitignore and installs a /figma slash command for Claude Code.

Use --no-command to skip the /figma command, so the agent gets only the read-only vault_* tools.

Option 2. Nothing in the repository
figma-vault init --global

The vault lives in ~/.figma-vault/ and the server is registered in the agent's user config. The project repository never learns the tool exists. Use this when you can't add config or dependencies to the project.

Usage

figma-vault add "https://figma.com/design/KEY/Project?node-id=127-4532"

Export several selections together; links from the same file share requests:

figma-vault add " " " "

Keep the node trees if image rendering is unavailable:

figma-vault add " " " " --no-assets

A SECTION/CANVAS link can expand into its frames (up to 20 by default):

figma-vault add " " --expand --max-screens 20

To get the link, right-click a frame in Figma and choose Copy link to selection.

figma-vault limits "<frame link 1>" "<frame link 2>" # probe access before pulling

figma-vault list # what has been pulled so far figma-vault check # verify the whole chain works figma-vault demo # add a demo design, no token needed

CLI output, errors and the MCP tool descriptions are in English by default; the /figma command it installs is in English too. README.ru.md is a translation of the documentation only.

After init, Claude Code has one command:

/figma <frame link> [more frame links...]

It pulls the design, reads it over MCP and builds the UI following the project's conventions.

What a pull costs in Figma requests

REST API limits depend on the token, plan and seat type. Both node reads and image renders are Tier 1 endpoints. figma-vault limits " " [more links...] spends one shallow node read plus up to ceil(S/40) screen render requests per file. It skips rendering SECTION and CANVAS selections as whole images; their child screens are not probed. A successful probe cannot guarantee the full pull: asset renders can require additional requests.

For a file with S selected screens and R unique raster assets, when each screen has fewer than 40 raster assets, a successful pull typically uses:

requests
selected node trees (/v1/files/:key/nodes)1 per file
screenshots and raster assets (/v1/images, batches of 40 IDs)ceil((S + R) / 40) per file
icons with local geometry0

For example, two screens in one file with three unique raster assets take one node read and one image render if the five IDs fit in a batch. At 40 or more raster assets on one screen, screenshots are rendered separately. --expand first probes containers with depth=1, adding at least one node request per file. SVG fallback renders, failed requests and retries can add calls. On a real 332-node design, 141 icons needed no render calls. After the pull, the agent never calls Figma again.

Check the result against the design

figma-vault verify compares the page the agent built with the design. The package ships no browser: the snapshot is taken with whatever the project already uses (Playwright, DevTools, the agent's browser tool).

  1. Mark the root element of the page with data-figma-node-id=" ", and the main blocks with the ids of their nodes.
  2. figma-vault verify --snippet prints a script. Run it on the page and save what it returns to a file.
  3. figma-vault verify --snapshot checks it:
  • texts: every visible text of the design must be on the page;
  • geometry: each marked block must match the design's position and size, within 2 px by default (--tolerance).

The result is PASS (exit code 0), FAIL (1, with a list of what is off) or INCOMPLETE (2, when nothing is marked and geometry can't be checked). The /figma command runs this step itself when the project has a browser.

Try it without a Figma token

You only need a token to pull new designs. Reading works without one, which is the normal setup for everyone except the person who pulls. So you can test the whole install without creating a token:

figma-vault init && figma-vault demo && figma-vault check

check starts the real MCP server as a child process and talks to it over the protocol. It exits with code 1 when something is actually broken, so you can use it in CI.

Token

In Figma, go to Settings → Security → Personal access tokens → Generate new token. The token needs only one scope: File content → Read-only.

Put it in a .env file in the directory you run the CLI from, as a line FIGMA_TOKEN=figd_..., or set it as an environment variable. If both are set, the environment variable wins.

What the agent gets

The MCP server exposes six read-only tools:

toolreturns
vault_listthe designs in the vault
vault_get_doca design's node tree; maxDepth limits the depth
vault_get_nodethe subtree of one node
vault_searchnodes found by name or text
vault_get_tokenscolours, typography, effects
vault_get_assetan image or an icon

The tree is normalized:

  • auto-layout becomes mode: row|column with gap and padding;
  • coordinates are relative to the parent;
  • styles, gradients and text come in one predictable shape, including differently coloured fragments inside one text (text.runs);
  • nodes hidden in Figma are kept with hidden: true. By default the agent doesn't get them, but a parent reports how many it has (hiddenOmitted). Pass includeHidden: true when building a reusable component whose optional slots are switched off on this screen.

The raw Figma response is saved next to it in raw.json for debugging.

On a real design, normalization shrinks the tree about 7 times:

raw.json   1.9 MB   raw Figma response

doc.json 256 KB what the agent reads

This saves more than disk space. An agent that reads 256 KB instead of 2 MB rebuilds the UI noticeably more accurately.

Vault layout

<vault>/

index.json list of designs / doc.json normalized tree, the main artifact raw.json raw Figma response screenshot.png render of the whole frame assets/ icons and images

The figma-vault/doc@1 schema is described in docs/CONTRACT.md (in Russian). A strict validator checks it. Vaults pulled with 0.1.0 (doc@0) are still read as they are; there is no need to pull them again.

doc.json stands on its own: the MCP server never reads raw.json and never touches the network.

Known limitations

This is an MVP. Here is what it can't do yet.

  • Rate limits. Node reads and image renders are both Tier 1. Either endpoint can return 429, and the block can last for days. Icons no longer depend on rendering, but the frame screenshot and raster images still do. The client retries up to three times, following Retry-After, and never sleeps for more than a minute. If Figma asks it to wait for days, the pull keeps the node tree, records the reason as a warning and doesn't fail. Run figma-vault limits before pulling.
  • Only colour and weight are kept for fragments inside a text. A gradient, a different font or an underline on part of a text is lost.
  • Designs with many component variants make a large `doc.json`. Hidden slots are kept now. On a 332-node screen that added 3,400 hidden nodes, and the file grew from 444 KB to 5 MB. The agent still gets about 100 KB by default, but the file goes into your git.

How it was tested

The fixture in the repository is synthetic: 29 nodes, enough to install the tool and confirm the chain works without a Figma token.

We checked accuracy separately, on two real designs whose content isn't published here. Results on a product screen with 332 nodes, 15 levels deep:

checkresult
design texts present in the rebuilt markup41 of 41
icons15 of 15, 0 broken links
placeholders needed1 (a raster avatar)
Figma requests in the earlier measured pull3 (before combined rendering)
doc.json against the contractpasses

Not checked: pixel-perfect match. We compare with Figma's reference render by eye, using npm run dev → /compare/ . figma-vault verify checks texts and the geometry of marked blocks, but no

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기