Skip to main content
Glama

export_node_as_image

Convert Figma design elements to image files by specifying node ID, format, and scale for use in documentation or presentations.

Instructions

Export a node as an image from Figma

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nodeIdYesThe ID of the node to export
formatNoExport format
scaleNoExport scale

Implementation Reference

  • Full registration of the 'export_node_as_image' MCP tool, including name, description, Zod input schema, and inline handler function that forwards the command to the Figma plugin via sendCommandToFigma and returns the resulting image.
      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)}`,
                },
              ],
            };
          }
        }
      );
    }
  • The core handler logic for executing the export_node_as_image tool: validates inputs, sends command to Figma WebSocket, handles response as image data or error.
    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 for input validation of the export_node_as_image tool: nodeId (string, required), format (enum PNG/JPG/SVG/PDF, optional), scale (positive number, optional).
    {
      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"),
    },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/agenisea/cc-fig-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server