set_paragraph_spacing
Adjust paragraph spacing in Figma text nodes to enhance design layout. Use this tool to optimize spacing for better readability and visual hierarchy in your designs.
Instructions
Set the paragraph spacing of a text node in Figma
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {},
"type": "object"
}
Implementation Reference
- src/talk_to_figma_mcp/tools/text-tools.ts:342-375 (registration)Full registration of the 'set_paragraph_spacing' tool using server.tool(). Includes tool name, description, Zod input schema (nodeId and paragraphSpacing), and the handler function that sends the command to Figma websocket and formats the response.server.tool( "set_paragraph_spacing", "Set the paragraph spacing of a text node in Figma", { nodeId: z.string().describe("The ID of the text node to modify"), paragraphSpacing: z.number().describe("Paragraph spacing value in pixels"), }, async ({ nodeId, paragraphSpacing }) => { try { const result = await sendCommandToFigma("set_paragraph_spacing", { nodeId, paragraphSpacing }); const typedResult = result as { name: string, paragraphSpacing: number }; return { content: [ { type: "text", text: `Updated paragraph spacing of node "${typedResult.name}" to ${typedResult.paragraphSpacing}px` } ] }; } catch (error) { return { content: [ { type: "text", text: `Error setting paragraph spacing: ${error instanceof Error ? error.message : String(error)}` } ] }; } } );
- The handler function executes the tool logic: sends 'set_paragraph_spacing' command to Figma via sendCommandToFigma with nodeId and paragraphSpacing, type-asserts the result, and returns a formatted text response or error message.async ({ nodeId, paragraphSpacing }) => { try { const result = await sendCommandToFigma("set_paragraph_spacing", { nodeId, paragraphSpacing }); const typedResult = result as { name: string, paragraphSpacing: number }; return { content: [ { type: "text", text: `Updated paragraph spacing of node "${typedResult.name}" to ${typedResult.paragraphSpacing}px` } ] }; } catch (error) { return { content: [ { type: "text", text: `Error setting paragraph spacing: ${error instanceof Error ? error.message : String(error)}` } ] }; } }
- Zod schema for input parameters: nodeId (string) and paragraphSpacing (number).{ nodeId: z.string().describe("The ID of the text node to modify"), paragraphSpacing: z.number().describe("Paragraph spacing value in pixels"), },
- TypeScript union type FigmaCommand includes "set_paragraph_spacing" for typing the commands sent to Figma plugin.export type FigmaCommand = | "get_document_info" | "get_selection" | "get_node_info" | "create_rectangle" | "create_frame" | "create_text" | "create_ellipse" | "create_polygon" | "create_star" | "create_vector" | "create_line" | "set_fill_color" | "set_stroke_color" | "move_node" | "resize_node" | "delete_node" | "get_styles" | "get_local_components" | "get_team_components" | "create_component_instance" | "export_node_as_image" | "join" | "set_corner_radius" | "clone_node" | "set_text_content" | "scan_text_nodes" | "set_multiple_text_contents" | "set_auto_layout" | "set_font_name" | "set_font_size" | "set_font_weight" | "set_letter_spacing" | "set_line_height" | "set_paragraph_spacing" | "set_text_case" | "set_text_decoration" | "get_styled_text_segments" | "load_font_async" | "get_remote_components" | "set_effects" | "set_effect_style_id" | "group_nodes" | "ungroup_nodes" | "flatten_node" | "insert_child";