Skip to main content
Glama

set_padding

Adjust padding values for auto-layout frames in Figma designs to control spacing around content within frames.

Instructions

Set padding values for an auto-layout frame in Figma

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nodeIdYesThe ID of the frame to modify
paddingTopNoTop padding value
paddingRightNoRight padding value
paddingBottomNoBottom padding value
paddingLeftNoLeft padding value

Implementation Reference

  • MCP server.tool registration for the 'set_padding' tool. Includes input schema validation with Zod and the complete handler function that proxies the command to the Figma plugin.
    server.tool(
      "set_padding",
      "Set padding values for an auto-layout frame in Figma",
      {
        nodeId: z.string().describe("The ID of the frame to modify"),
        paddingTop: z.number().optional().describe("Top padding value"),
        paddingRight: z.number().optional().describe("Right padding value"),
        paddingBottom: z.number().optional().describe("Bottom padding value"),
        paddingLeft: z.number().optional().describe("Left padding value"),
      },
      async ({ nodeId, paddingTop, paddingRight, paddingBottom, paddingLeft }) => {
        try {
          const result = await sendCommandToFigma("set_padding", {
            nodeId,
            paddingTop,
            paddingRight,
            paddingBottom,
            paddingLeft,
          });
          const typedResult = result as { name: string };
    
          // Create a message about which padding values were set
          const paddingMessages = [];
          if (paddingTop !== undefined) paddingMessages.push(`top: ${paddingTop}`);
          if (paddingRight !== undefined) paddingMessages.push(`right: ${paddingRight}`);
          if (paddingBottom !== undefined) paddingMessages.push(`bottom: ${paddingBottom}`);
          if (paddingLeft !== undefined) paddingMessages.push(`left: ${paddingLeft}`);
    
          const paddingText = paddingMessages.length > 0
            ? `padding (${paddingMessages.join(', ')})`
            : "padding";
    
          return {
            content: [
              {
                type: "text",
                text: `Set ${paddingText} for frame "${typedResult.name}"`,
              },
            ],
          };
        } catch (error) {
          return {
            content: [
              {
                type: "text",
                text: `Error setting padding: ${error instanceof Error ? error.message : String(error)}`,
              },
            ],
          };
        }
      }
    );
  • Zod input schema for set_padding tool defining parameters: nodeId (string), and optional paddingTop, paddingRight, paddingBottom, paddingLeft (numbers).
    {
      nodeId: z.string().describe("The ID of the frame to modify"),
      paddingTop: z.number().optional().describe("Top padding value"),
      paddingRight: z.number().optional().describe("Right padding value"),
      paddingBottom: z.number().optional().describe("Bottom padding value"),
      paddingLeft: z.number().optional().describe("Left padding value"),
    },
  • Handler implementation for set_padding tool. Sends the padding parameters to Figma plugin using sendCommandToFigma and constructs a descriptive success message based on which paddings were set.
    async ({ nodeId, paddingTop, paddingRight, paddingBottom, paddingLeft }) => {
      try {
        const result = await sendCommandToFigma("set_padding", {
          nodeId,
          paddingTop,
          paddingRight,
          paddingBottom,
          paddingLeft,
        });
        const typedResult = result as { name: string };
    
        // Create a message about which padding values were set
        const paddingMessages = [];
        if (paddingTop !== undefined) paddingMessages.push(`top: ${paddingTop}`);
        if (paddingRight !== undefined) paddingMessages.push(`right: ${paddingRight}`);
        if (paddingBottom !== undefined) paddingMessages.push(`bottom: ${paddingBottom}`);
        if (paddingLeft !== undefined) paddingMessages.push(`left: ${paddingLeft}`);
    
        const paddingText = paddingMessages.length > 0
          ? `padding (${paddingMessages.join(', ')})`
          : "padding";
    
        return {
          content: [
            {
              type: "text",
              text: `Set ${paddingText} for frame "${typedResult.name}"`,
            },
          ],
        };
      } catch (error) {
        return {
          content: [
            {
              type: "text",
              text: `Error setting padding: ${error instanceof Error ? error.message : String(error)}`,
            },
          ],
        };
      }
    }

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/pipethedev/Talk-to-Figma-MCP'

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