export_node_as_image
Convert Figma design nodes into images using the MCP server, enabling programmatic extraction of visual elements for integration or analysis.
Instructions
Export a node as an image from Figma
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/talk_to_figma_mcp/server.ts:861-902 (registration)MCP tool registration for 'export_node_as_image', including input schema definition and handler function that proxies the export request to the Figma plugin via sendCommandToFigma and returns the image data as MCP content.server.tool( "export_node_as_image", "Export a node as an image from Figma", { nodeId: z.string().describe("The ID of the node to export"), format: z .enum(["PNG", "JPG", "SVG", "PDF"]) .optional() .describe("Export format"), scale: z.number().positive().optional().describe("Export scale"), }, async ({ nodeId, format, scale }) => { try { const result = await sendCommandToFigma("export_node_as_image", { nodeId, format: format || "PNG", scale: scale || 1, }); const typedResult = result as { imageData: string; mimeType: string }; return { content: [ { type: "image", data: typedResult.imageData, mimeType: typedResult.mimeType || "image/png", }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error exporting node as image: ${error instanceof Error ? error.message : String(error) }`, }, ], }; } } );
- Zod schema defining input parameters for the export_node_as_image tool: nodeId (required string), format (optional enum: PNG/JPG/SVG/PDF), scale (optional positive number).{ nodeId: z.string().describe("The ID of the node to export"), format: z .enum(["PNG", "JPG", "SVG", "PDF"]) .optional() .describe("Export format"), scale: z.number().positive().optional().describe("Export scale"), },
- src/talk_to_figma_mcp/server.ts:872-901 (handler)Handler function that sends the export_node_as_image command to the Figma plugin with provided parameters (defaulting format to PNG and scale to 1), receives the image data, and constructs an MCP response with image content block or error text.async ({ nodeId, format, scale }) => { try { const result = await sendCommandToFigma("export_node_as_image", { nodeId, format: format || "PNG", scale: scale || 1, }); const typedResult = result as { imageData: string; mimeType: string }; return { content: [ { type: "image", data: typedResult.imageData, mimeType: typedResult.mimeType || "image/png", }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error exporting node as image: ${error instanceof Error ? error.message : String(error) }`, }, ], }; } }