Skip to main content
Question

How do I configure Cursor to use Figma MCP to create SwiftUI designs?

  • June 8, 2026
  • 1 reply
  • 44 views

AdlBablu

I added Figma MCP to my project and also added implement design skill but Crusor keeps producing very irrelevant designs. What I need is recreating the Figma design in SwiftUI with Pixel accuracy. I am ok  if it will use PNGs instead of vector shapes. However it keeps looking at screenshots and creating something visually similar yet far from original design. Is there a way to translate Figma design to SwiftUI literally?

1 reply

Jaycee Lewis
Figmate

Hi ​@AdlBablu 👋 Thanks for the post, and for sticking with this one. I found your earlier question on the same topic here.

It sounds like this is related to an issue reported here. 

In that thread, `get_metadata` returns only fallback instruction text and `get_design_context` aborts without data — which leaves `get_screenshot` as the only working tool and forces the agent to infer the layout from an image. That's sounds a lot like the "visually similar yet far from the original" behavior you're seeing. 

Here's a quick test to confirm whether you're hitting the same thing. In a clean Cursor agent session, with your target frame selected in the Figma desktop app, ask Cursor to do just one thing:

> "Call get_design_context on the selected frame and paste the raw result. Don't implement anything yet."

Then check what comes back:
- Real structured data (node hierarchy, bounds, layout, colors, typography) → the data path works, and the issue could be in the SwiftUI generation step
- An instruction string or `Error: Aborted` → could be issue above, not a config mistake on your end

Can you share a few diagnostic details?
1. Which model / mode you're running in Cursor (auto-mode, or a specific pinned model)?
2. Which MCP server — the official Figma Desktop MCP server, or a third-party one?
3. The raw output of that `get_design_context` test above (real data vs. instruction string vs. Aborted)?

With those three, I can tell you pretty quickly whether this is the known auto-mode issue or something in your setup we can fix directly. In the meantime, if you are on auto-mode, try pinning a specific model — that's where the fallback seems to get triggered. Thanks! — Jaycee