Figma MCP server fails in Cursor: timeout, Client closed, or 403 errors
Figma-Context-MCP (Framelink Figma MCP) fails to connect in Cursor: the server shows "Connect Timeout Error" even though localhost:3333 is running, or shows "Client closed" after connecting. The same config works in Claude Desktop. Some users on Windows with Cursor 0.48 can only connect via the SSE URL, and others get HTTP 403 when fetching Figma links despite a valid personal token.
Originally asked on GitHub: https://github.com/GLips/Figma-Context-MCP/issues/68
6 answers
The thread is closed as completed, and the solutions that worked are configuration workarounds rather than a server-side change discussed in the thread.
The most common fix was switching from SSE to stdio. One user with a failing SSE connection reported the connection turned green after using the stdio config from the Framelink quickstart:
json{ "mcpServers": { "Framelink Figma MCP": { "command": "npx", "args": [ "-y", "figma-developer-mcp", "--figma-api-key=<api_key>", "--stdio" ] } } }If npx crashes with
Cannot find module './lib/charset', one user fixed it by installing the package globally:npm i figma-developer-mcp -g.Two users reported the opposite situation on Windows with Cursor 0.48: only the SSE URL config worked (
"url": "http://localhost:3333/sse"), while the README stdio method failed to connect, and the connection dropped frequently while generating code.HTTP 403 when fetching Figma links, with a green MCP status and a valid personal token, was reported by two users. The maintainer asked for the exact failure message and said it might be a Cursor-side issue, pinging the Cursor team; no in-thread fix was provided for the 403.
General advice: the Figma API key appears in plain text in the MCP config file, so avoid committing that file to a shared repository.
Did this work for you?What @choiking tried on GitHub (Didn't work)
Reported a "Connect Timeout Error" in Cursor while localhost:3333 was listening.
Source: https://github.com/GLips/Figma-Context-MCP/issues/68 (opens external site)
Did this work for you?What @choiking tried on GitHub (Worked)
Switched from SSE to the stdio config from the Framelink quickstart; the connection turned green.
Source: https://github.com/GLips/Figma-Context-MCP/issues/68#issuecomment-2768502414 (opens external site)
Did this work for you?What @tin80122 tried on GitHub (Didn't work)
Tried the recommended MCP config file; the server showed green but Cursor returned HTTP 403 when fetching the Figma link.
Source: https://github.com/GLips/Figma-Context-MCP/issues/68#issuecomment-2774548282 (opens external site)
Did this work for you?What @LinyiShen688 tried on GitHub (Worked)
On Windows with Cursor 0.48, used the SSE URL config ("url": "http://localhost:3333/sse") because the README stdio method failed to connect.
Source: https://github.com/GLips/Figma-Context-MCP/issues/68#issuecomment-2779436303 (opens external site)
Did this work for you?What @MyPrototypeWhat tried on GitHub (Worked)
In response to the "Cannot find module './lib/charset'" error, installed the package globally with
npm i figma-developer-mcp -g; Cursor went back to normal.Source: https://github.com/GLips/Figma-Context-MCP/issues/68#issuecomment-2782804449 (opens external site)
Did this work for you?
Related questions
- Figma MCP in Cline: MCP error -32000 Connection closed on Windows
- Figma-Context-MCP: \"Invalid path specified. Directory traversal is not allowed.\" when downloading images?
- Figma-Context-MCP: RangeError: Invalid string length when fetching large Figma files
- How to use Figma-Context-MCP with VS Code and GitHub Copilot?
- Figma-Context-MCP: why does my AI host pick the wrong tool, and what changed in v0.1.6?