When using the Figma Desktop MCP server with an MCP client (Cursor IDE), the core design extraction tools get_metadata and get_design_context do not return any usable design data, despite the server being reachable, tools being discovered, and parameters being validated successfully.
Environment:
-
OS: macOS
-
Figma Desktop Stable: 125.11.6
-
Figma Desktop Beta: 126.1.0
-
MCP Transport tested:
/sseand/mcp -
MCP Client: Cursor IDE
-
MCP Server URL:
http://127.0.0.1:3845/sse(also tested with/mcp)
Observed Behavior:
-
The MCP server starts correctly and is reachable.
-
Cursor successfully connects to the server, enumerates available tools, and validates tool arguments.
-
Calls to
get_metadatawith a valid explicitnodeIdconsistently return only an instructional string (e.g., “IMPORTANT: After you call this tool, you MUST call get_design_context…”) instead of the expected XML metadata (node hierarchy, bounds, layout, etc.). -
Calls to
get_design_contextwith the same valid explicitnodeIdconsistently terminate withError: Aborted, without returning any design context payload, partial output, or actionable error information. -
This behavior occurs even when:
-
Passing an explicit valid
nodeId -
Using minimal parameters (
nodeIdonly) -
Using schema-correct parameters (
clientFrameworksandclientLanguagesas strings) -
Testing both Figma Desktop Stable and Beta
-
Testing both
/sseand/mcptransports
-
Expected Behavior:
-
get_metadatashould return structured XML metadata describing the selected node (type, hierarchy, bounds, layout, etc.). -
get_design_contextshould return a design context payload (layout, spacing, typography, colors, and other design properties), or at minimum return a clear, actionable error if generation fails.
Why this appears to be a bug:
-
The tools are callable and pass schema validation, but return no data.
-
The instructional strings appear to be fallback guidance text rather than actual tool results.
-
The
Error: Abortedresponse fromget_design_contextindicates a server-side termination after the request is accepted. -
The issue is reproducible across Figma Desktop versions, transports, and parameter combinations, strongly indicating a server-side Figma Desktop MCP implementation issue, not a client or configuration problem.
Impact:
This prevents any design-to-code or metadata extraction workflows using the Figma Desktop MCP server, leaving get_screenshot as the only functional tool and forcing visual inference instead of structured design data.
