Labsco
MCP SERVER

Figma to React Native MCP

by kailashAppDev

Pull components out of a Figma file and write the matching React Native components into your project folder.

Code Generation, Scaffolding & Migration
Summary
The page has to be called Components, and that is the failure most people hit first.

Generation is scoped to one Figma page by name, so a file organised differently produces nothing and the error points at the page rather than the token. Once that lines up, naming a single component means you can regenerate one piece after a design change instead of overwriting the whole folder. GraphQL schema generation is listed as coming, not shipped.

What it is

A Node server that reads a Figma file and generates React Native components from it — typed props and styling included — writing them into a directory you nominate. It is built for use inside Cursor, where you ask for the extraction in the editor.

What you get
  • `extract_components` reads the components from the Figma file and generates their React Native equivalents
  • Ask for all components, or name a single one to regenerate just that
  • Component hierarchy is preserved, including nested components
  • Props and their types are carried across rather than left as untyped objects
  • Generated files land in the project directory you configured
Requirements

Three environment variables: `FIGMA_TOKEN` for a Figma access token, `FIGMA_FILE` for the file id from the URL, and `PROJECT_DIR` for where generated components go. The npm package is `@kailashg101/mcp-figma-to-code`, version 1.0.1, installable through Smithery with those three values as config, or run from a local build at `build/index.js` with `node`. Your Figma file must contain a page named "Components" — if it does not, extraction fails with a page-not-found error.

Setup effort

One command plus a key — npx -y @smithery/cli@latest install @kailashg101/mcp-figma-to-code --client claude --config "{\n \"figmaToken\": \"YOUR_FIGMA_TOKEN\",\n \"figmaFile\": \"YOUR_FIGMA_FILE_ID\",\n \"projectDir\": \"YOUR_PROJECT_DIRECTORY\"\n}", then supply credentials