Przejdź do głównej zawartości

Figma i design system przez MCP

Serwer MCP Figmy daje narzędziom AI bezpośredni dostęp do danych projektowych z Figmy — dokładnych odstępów, tokenów kolorów, grubości fontów i mapowań komponentów — przez pięć narzędzi: get_design_context, get_metadata, get_variable_defs, get_code_connect_map i get_screenshot. Działa lokalnie w aplikacji desktopowej Figmy albo zdalnie pod mcp.figma.com i obsługuje tryb oparty na zaznaczeniu oraz na linku.

Projektantka właśnie zaktualizowała stronę cennika w Figmie. Mrużysz oczy, zgadujesz, że odstęp to 24px (to 20px), wpisujesz na sztywno kolor, który wygląda jak firmowy niebieski (to #2563EB, nie #3B82F6), i wdrażasz. Z przeglądu projektu wraca dwanaście komentarzy. Dwie godziny później wciąż przełączasz się między Figmą a edytorem i poprawiasz wartości piksel po pikselu.

Potem pętla psuje się w subtelniejszy sposób. Prosisz AI o zbudowanie karty z ramki w Figmie, a ono wydaje schludnie wyglądający kod — z zupełnie nowym przyciskiem #4F86F7, jednorazowym rounded-[10px] i własnoręcznie sklecionym awatarem, który ignoruje <Avatar />, który już utrzymujesz. Pomnóż to przez sprint, a Twój design system po cichu rozgałęzi się na czterdzieści nieco różnych odcieni niebieskiego.

Wygenerowanie komponentu ze zrzutu ekranu to łatwe 80%. Ten przewodnik obejmuje obie połowy: podłączenie serwera, żeby AI czytało prawdziwe dane projektowe, oraz dyscyplinę tokenów i Code Connect, która sprawia, że korzysta z tego, co już masz.

  • Konfigurację serwera Dev Mode MCP dla Cursora, Claude Code i Codeksa, lokalnie i zdalnie
  • Różnicę między trybem opartym na zaznaczeniu a trybem opartym na linku i moment, w którym każdy z nich jest właściwy
  • Powtarzalny proces synchronizacji zmiennych z Figmy do typowanego pliku tokenów, który importuje Twój kod
  • Pipeline tokenów (zmienne Figmy do Style Dictionary do CSS i TS), który przeżyje więcej niż jeden komponent
  • Prompty, które zmuszają wygenerowany interfejs do korzystania z istniejących tokenów i komponentów z Code Connect zamiast wymyślania nowych
  • Kontrolę zgodności z projektem, którą recenzent przeczyta w kilka sekund zamiast skrobać piksele
  • Tryby awarii, które po cichu obniżają wierność, i sposoby wyjścia z nich

Czego potrzebujesz przed podłączeniem serwera MCP Figmy

Dział zatytułowany „Czego potrzebujesz przed podłączeniem serwera MCP Figmy”

Figma wydaje serwer w dwóch odmianach. Lokalny serwer desktopowy działa wewnątrz aplikacji desktopowej Figmy i czyta bieżące zaznaczenie; serwer zdalny pod https://mcp.figma.com/mcp działa w chmurze i pracuje na podstawie linku do Figmy. Dla serwera lokalnego potrzebujesz:

  • Aplikacji desktopowej Figmy (nie wersji przeglądarkowej)
  • Miejsca Dev lub Full w dowolnym płatnym planie Figmy — serwer zdalny działa na wszystkich miejscach i planach, więc sięgnij po niego, jeśli nie masz miejsca Dev
  • MCP włączonego w preferencjach Figmy — otwórz Figmę, przejdź do Preferences i włącz „Dev Mode MCP Server”

Po włączeniu Figma uruchamia lokalny serwer MCP pod http://127.0.0.1:3845/mcp po streamable HTTP. Serwer działa tylko wtedy, gdy uruchomiona jest desktopowa Figma. (Starsze poradniki odwołują się do /sse — ten endpoint i transport SSE są przestarzałe; używaj /mcp).

Sam serwer jest identyczny we wszystkich trzech narzędziach — ten sam URL, te same pięć narzędzi, to samo zachowanie. Różni się tylko format rejestracji: Cursor i Claude Code przyjmują kształt JSON mcpServers (Claude Code ma dodatkowo CLI, które zapisze go za Ciebie), a Codex przyjmuje TOML, w którym serwer streamable HTTP jest implikowany kluczem url i nie ma klucza transport.

Najszybsza droga w Cursorze to wbudowany marketplace MCP:

  1. Otwórz Settings > Tools & Integrations > MCP
  2. Znajdź Figma na liście serwerów
  3. Kliknij „Add to Cursor”

Albo skonfiguruj ręcznie w .cursor/mcp.json:

{
"mcpServers": {
"figma": {
"type": "http",
"url": "http://127.0.0.1:3845/mcp"
}
}
}

Zielony wskaźnik w panelu MCP potwierdza połączenie.

NarzędzieCo robi
get_design_contextGeneruje i analizuje kod oraz kontekst projektowy z bieżącego zaznaczenia lub linku do Figmy (dawniej get_code)
get_metadataZwraca oszczędny widok XML zaznaczenia: identyfikatory warstw, nazwy, typy, pozycje i rozmiary — tani kontekst przed pełnym pobraniem
get_variable_defsWyciąga tokeny projektowe i zmienne (kolory, odstępy, typografia)
get_code_connect_mapPokazuje, jak komponenty Figmy mapują się na komponenty w kodzie przez Code Connect
get_screenshotRobi obraz elementu projektu jako wizualne odniesienie (dawniej get_image)

Tryb oparty na zaznaczeniu sprawdza się, gdy masz Figmę otwartą obok edytora. Zaznacz element w Figmie, a potem napisz prompt; serwer czyta to, co zaznaczone. To najszybszy tryb do aktywnej iteracji i jednocześnie ten, którego serwer zdalny nie potrafi.

Tryb oparty na linku sprawdza się, gdy wdrażasz z ticketu lub specyfikacji. Skopiuj link do Figmy (Cmd+L w Dev Mode), wklej go w prompt, a AI wyciągnie identyfikator węzła i pobierze dane projektowe. Działa nawet wtedy, gdy projekt zrobił ktoś inny, i działa na Linuksie oraz wszędzie tam, gdzie aplikacja desktopowa jest niedostępna.

Krok 1: zsynchronizuj tokeny, zanim cokolwiek wygenerujesz

Dział zatytułowany „Krok 1: zsynchronizuj tokeny, zanim cokolwiek wygenerujesz”

Ruch o największej dźwigni to wyciągnięcie zmiennych Figmy raz, do pliku, który importuje Twój kod, zanim poprosisz o jakiekolwiek komponenty. Wtedy każdej późniejszej generacji można powiedzieć „użyj tokenów” zamiast zgadywać wartości hex.

get_variable_defs zwraca kolekcje zmiennych projektu — kolory, odstępy, promienie, typografię — wraz z ich semantycznymi nazwami. Zapisz je jako typowane źródło prawdy.

Tego promptu użyj, gdy tokeny mają zasilić pipeline. Jeśli chcesz wyłącznie gotowego obiektu motywu do konfiguracji Tailwinda albo CSS-in-JS i żadnego kroku budowania, wariant poniżej prosi o te same dane w innym kształcie — jeden plik, pogrupowany tak samo, ale jako konfiguracja motywu, a nie źródło tokenów.

Tak czy inaczej, to jest różnica między demem a workflow: plik tokenów jest używany przez każdy kolejny prompt, więc AI nigdy więcej nie musi oceniać koloru na oko.

Krok 2: zamień tokeny w prawdziwy pipeline ze Style Dictionary

Dział zatytułowany „Krok 2: zamień tokeny w prawdziwy pipeline ze Style Dictionary”

Pojedynczy tokens.ts wystarczy w małej aplikacji. Dla czegokolwiek współdzielonego między platformami (web, natywne, e-mail) potrzebujesz kroku transformacji, żeby jedno źródło tokenów emitowało właściwości niestandardowe CSS, obiekt JS/TS i cokolwiek jeszcze. Style Dictionary to standardowe narzędzie do tego, a AI potrafi je podłączyć na podstawie wyeksportowanych tokenów.

  1. Wyeksportuj tokeny w formacie Style Dictionary. Poproś AI o przekształcenie zmiennych Figmy w tokens.json w kształcie W3C design-tokens ({ "$value": ..., "$type": ... }), a nie w doraźny obiekt.

  2. Wygeneruj konfigurację i zbuduj. Niech AI przygotuje config.json z platformami css/variables i javascript/es6, a potem uruchom build, żeby wyemitować właściwości niestandardowe w :root oraz importowalny moduł.

  3. Skieruj komponenty na wygenerowane zmienne CSS. Od tego momentu generowane komponenty odwołują się do var(--color-primary) — co prowadzi z powrotem do zmiennej w Figmie — więc zmiana tokenu propaguje się jednym przebudowaniem.

Krok 3: podłącz Code Connect, żeby AI korzystało z Twoich komponentów

Dział zatytułowany „Krok 3: podłącz Code Connect, żeby AI korzystało z Twoich komponentów”

Tokeny zatrzymują jednorazowe kolory. Code Connect zatrzymuje jednorazowe komponenty. Mapuje komponent z Figmy na prawdziwy komponent w Twoim repozytorium, więc gdy AI widzi ten komponent w projekcie, get_code_connect_map każe mu zaimportować Twój, zamiast generować nowy.

Zysk: prompty mogą mówić „użyj naszych komponentów tam, gdzie istnieją mapowania Code Connect”, a wygenerowane drzewo składa się z Twoich sprawdzonych <Button /> i <Avatar />, a nie z divów udających je wyglądem.

Konfiguracja jest identyczna we wszystkich trzech narzędziach; różni się tylko to, skąd uruchamiasz agenta — i dlatego prompty poniżej różnią się wyłącznie otaczającym workflow.

Trzymaj Figmę otwartą z zaznaczoną ramką, otwórz plik, w którym ma powstać komponent, i użyj trybu Agent, żeby mógł odczytać mapę Code Connect i edytować wiele plików:

“Implement the selected Figma frame as a React component in src/components/ProfileCard.tsx. First call get_code_connect_map; for any node with a mapping, import and use that existing component instead of generating new markup. For everything else, use the CSS variables from src/styles/tokens.css. Do not introduce raw hex values or one-off pixel radii.”

Krok 4: zweryfikuj zgodność z projektem, zamiast oceniać ją na oko

Dział zatytułowany „Krok 4: zweryfikuj zgodność z projektem, zamiast oceniać ją na oko”

Cały sens korzystania z tokenów i komponentów polega na tym, że recenzent powinien potwierdzić wierność szybko. Połącz serwer MCP Figmy z serwerem MCP przeglądarki (na przykład @playwright/mcp), żeby wyrenderować wynik i porównać go z projektem.

Przejrzenie różnicy z dołączonymi nazwami tokenów jest znacznie szybsze niż skrobanie pikseli i od razu mówi, czy rozbieżność to błąd w kodzie, czy brakująca zmienna w Figmie.

Prawdziwa siła pojawia się, gdy w jednej rozmowie żyje kilka serwerów naraz:

Figma + GitHub MCP: “Implement this Figma design as a React component, create a feature branch called ui/pricing-card, commit the component, and open a PR with the Figma link in the description.”

Figma + Playwright MCP: “Generate the component from this Figma selection, then open it in the browser at localhost:3000/storybook and take a screenshot. Compare the screenshot to the Figma design and flag any visual differences.”

Figma + Context7: “Look at this Figma design for a data table. Use Context7 to fetch the current TanStack Table documentation, then implement the table component using the recommended patterns from the docs with the exact styling from Figma.”

„Connection refused”. Desktopowa Figma nie działa albo serwer MCP jest wyłączony. Otwórz Figmę, przejdź do Preferences i potwierdź, że przełącznik Dev Mode MCP Server jest włączony.

„No tools available” w panelu MCP. Zrestartuj Figmę i edytor. Lokalne połączenie HTTP potrafi się zerwać, gdy Figma się zaktualizuje albo komputer uśpi.

get_design_context zwraca rozlazły, nieostylowany markup. Zaznaczenie jest zbyt duże albo zbyt głębokie. Wywołaj najpierw get_metadata, żeby zobaczyć drzewo warstw, a potem wskaż AI konkretną ramkę potomną zamiast całej strony.

AI generuje złe odstępy albo surowe wartości hex mimo pliku tokenów. Miesza dane z Figmy z własnymi domyślnymi ustawieniami, zwłaszcza z paletą Tailwinda. Bądź dosadny: „Use only var(--*) tokens from tokens.css and the values from the Figma design data. Any literal hex or px value is a bug — flag it instead of writing it.”

get_variable_defs zwraca prawie nic. Projektant zastosował surowe style, a nie zmienne. Tokeny eksportują się tylko wtedy, gdy są prawdziwymi zmiennymi Figmy. Poproś o konwersję stylów na zmienne albo dla tego jednego komponentu wróć do get_screenshot i wartości wpisywanych ręcznie.

get_code_connect_map jest pusty. Żadne mapowania Code Connect nie zostały jeszcze opublikowane. Generowanie działa bez korzystania z komponentów; ustaw Code Connect najpierw dla komponentów o największym ruchu (przyciski, pola, karty) — to daje największy zysk na wierności.

Serwer MCP Figmy jest niedostępny na Linuksie. Serwer desktopowy wymaga aplikacji Figmy, która działa tylko na macOS i Windows. Użyj serwera zdalnego pod https://mcp.figma.com/mcp z tokenem OAuth — jest oparty na linku, więc działa wszędzie. Starszy serwer MCP dla REST API Figmy to druga awaryjna opcja; wymaga osobistego tokenu dostępu i, tak jak serwer zdalny, nie ma trybu opartego na zaznaczeniu.