For context: Figma has two MCPs. The local "dev" MCP that works through the Desktop app, and the remote MCP that requires a connection to Figma. Companies need to be whitelisted to use the remote MCP, which is the only one that allows agents edit access to Figma documents.<p>I only found out about Figma's limitation when I was trying to add the remote MCP server to GitHub Copilot Desktop and kept running into errors. Turns out they whitelisted GitHub Copilot CLI but not the Desktop app and had put a pause on enabling any more vendors. Eventually someone (not sure which side) got it working.<p>Kind of strange to limit edit access only to the Remote MCP when their competitors like Pen[1] and Paper[2] allow any local agent to edit.<p>[1] <a href="https://www.pen.dev/" rel="nofollow">https://www.pen.dev/</a><p>[2] <a href="https://paper.design/" rel="nofollow">https://paper.design/</a>
To speak more broadly, Figma is in a really tough spot right now. I see more and more designers in my circle saying they are skipping design tools entirely to prototype in code or ship directly in their product's code base. Honestly I find myself doing the same.<p>Figma's main value used to be in providing designers a canvas to iterate and explore ideas since the majority of designers did not code, but AI has completely changed that.<p>I fear Figma's reluctance to integrate with all the popular AI tools might actually accelerate their decline. AI provides so much value, that I would rather base my software purchasing decisions around what is compatible with my AI of choice rather than pick an AI that is compatible with Figma.
yeah it's 100% the wrong move for them to make, I think there is probably a lot of value in AI driving Figma, and if I can't do that, Figma will fall out of the ecosystem.
I found figma’s remote MCP to be a poor fit for iOS development (it sets tokens on fire and gives Claude the details as React+Tailwind) and got much better results by having Claude build a set of “lens” tools around their REST API (“give me all of the fonts”, “give me the layout dimensions”, “give me the colors”, etc).<p>The key to making it token efficient was allowing Claude to invent its own plaintext markup format for the lens output.
Is this the API surface you're referring to?<p><a href="https://developers.figma.com/docs/rest-api/file-endpoints/#get-file-nodes-endpoint" rel="nofollow">https://developers.figma.com/docs/rest-api/file-endpoints/#g...</a><p><a href="https://developers.figma.com/docs/rest-api/file-node-types/" rel="nofollow">https://developers.figma.com/docs/rest-api/file-node-types/</a><p>Seems read-only, which means we're stuck with the MCP for updating Figma files... unless you've found a workaround there too?
OpenCode seems to have been given the run-around as well:<p>> on the figma mcp, we've had an email thread going on for 8 months trying to get it setup in opencode<p>> they seem very concerned with the labs competing with them<p>> finally got unblocked after i sent this email and it'll be rolled out in a week or so<p>The email:<p>> looking through the legal stuff the amount of things in there seems pretty crazy<p>> this is just an mcp server, there are thousands of them. we're not going to treat figma like its special<p>> we've been talking about this for this entire year, i don't think this makes much sense and i don't want my team burning more time on this<p>> once again, for a simple mcp server<p>— <a href="https://www.threads.com/@thdxr/post/Dd7LN-ylLQW" rel="nofollow">https://www.threads.com/@thdxr/post/Dd7LN-ylLQW</a>
I like how Pi released an updated with a new oauth client name field for mcp where I just wrote Codex and Figma mcp works now.
Slack does the same thing:<p>> Get started using the Slack MCP server by setting up a connection with an available partner<p><a href="https://slack.com/help/articles/48855576908307-Guide-to-Model-Context-Protocol-in-Slack" rel="nofollow">https://slack.com/help/articles/48855576908307-Guide-to-Mode...</a>
Even if you’re whitelisted you get only 6 accesses a day on a standard account, have to pay for a dev account to get 200/day which still isn’t great.<p>For my Figma needs, having Codex do computer use seems just as good as their mcp. I can tell it, “go download the assets for what I need and take a few screenshots for reference”.
Dev seats always felt like a ripoff IMO. They are just nickel and diming enterprise orgs for features that should just be free. Especially now when AI makes Figma's own code generation useless.<p>I couldn't believe it when file annotations are only visible to users with design and dev seats. Like my PMs will never be able to read the annotations. I stopped using that feature entirely after that, and just stuck to pasting in FigJam sticky notes instead.
<a href="https://nitter.meowing.monster/GayaniFigma/status/2105295629941350454" rel="nofollow">https://nitter.meowing.monster/GayaniFigma/status/2105295629...</a>
I do security review for my company. I suspect this is a means of containing OAuth redirect vulnerabilities. We basically needed to do the same thing with our MCP server.<p>The security problem is two fold: (1) companies want control over where their data goes. Figma allowing any MCP creates problems (2) open redirects can create phishing issues. If your using Pi, you’re probably thinking of this. Most users aren’t.<p>For us, we decided to do an allowlist pattern because it was a reasonable tradeoff. The solution is allowing per-tenant client configuration, but that comes with its own set of issues (dev time, support, maintenance, etc). When nearly all of the money is flowing through a handful of well-known MCPs there’s little reason to out effort into supporting every MCP.
What happens if someone sends requests that look like to be OpenCode, but from Pi? What is stopping people from doing it? And how these measures are going to benefit Figma? I don't get it.
As someone making my own harness, this makes me sad. Pi is a big inspiration and one of the best open source harnesses, but there are many others. dsh, opencode, hermes, etc. MCP is such a thin layer to implement for any harness, this just seems arbitrary.
Funny enough, I saw some tweet earlier today about their company trying to get past the legal hurdles with getting figma mcp to work and ended up bluntly giving up. Wonder if this is related.
This is naive. With extreme prevalence of vibe coding it’s a matter of time before someone turns their local app into an mcp proxy.
This was always a possibility, when my team dug into the concentration of MCP server usage a year ago we found that the top 10 servers had half of all GitHub stars (the Figma server was in 10th at the time).<p><a href="https://www.oreilly.com/radar/mcp-in-practice/" rel="nofollow">https://www.oreilly.com/radar/mcp-in-practice/</a><p>MCP is only as useful as the servers people use are open.
Why is this a global config — shouldn’t this be configurable per customer?
That is very old, I use a figma CLI patched to look like Claude code so I can use it for everything
Penpot has an mcp… might be time to take a look.
We're talking about client request headers, right? Why even bother with such a thing? Malicious users will just spoof those, you're only going to annoy legitimate users.
Figma has been absolute dog shit about opening up to mcp usage. We have been trying to include them in an internal tool we are building, but that would require a service account, which they refuse to offer.
We need to fake User-Agent now for our MCP clients? Could have just sticked to plain old HTTP then ;)
Another thing they do that I find equally frustrating is their MCP can do things you cannot do via API so you are forced to use theirs and cannot implement your own
I've seen other apps do this as well e.g. Cal.com
I think we'll see more of this. Of course SAAS companies like Figma, and soon Adobe and ... will see that their tools are still useful. And they are useful to LLMs like they are useful to humans.<p>The obvious play to "extract value" from that is to restrict access to bots and offer LLM integration themselves, for a fee.
Frankly, “whitelisting” clients is against the spirit of MCP.
MCP creator said the same thing: <a href="https://twitter.com/dsp_/status/2105316536852320279" rel="nofollow">https://twitter.com/dsp_/status/2105316536852320279</a>
Welcome to where this was inevitably all going to go eventually. The entirety of commercial personal computing is going this direction: locking down APIs to make sure you’re not only doing what the company wants, but also the <i>way</i> the company wants. Mobile phones provide countless examples already; applying those examples to LLM world isn’t far fetched - and Anthropic already started down the road of “any old agent isn’t OUR agent” months ago.
Spam is against the spirit of email.
Open MCP basically kills your product in my opinion, you can't charge for any feature the LLM can do itself.<p>It's probably good news for users and open source though, why would you pay for something if a free tool with an MCP can do it.
> Open MCP basically kills your product in my opinion, you can't charge for any feature the LLM can do itself.<p>For products for which this is true resorting to whitelisting clients simply accelerates your obsolescence by creating a temporary market for products that are MCP, and open agent, friendly.
[dead]
Allow-listed would be a more accurate and more inclusive term.