Skip to main content
Glama

set_letter_spacing

Adjust letter spacing of text nodes in Figma using natural language commands through the Claude Talk to Figma MCP server, enhancing typography and design precision.

Instructions

Set the letter spacing of a text node in Figma

Input Schema

NameRequiredDescriptionDefault

No arguments

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": {}, "type": "object" }

Implementation Reference

  • The handler function that executes the tool logic: sends 'set_letter_spacing' command to Figma via websocket, type-casts the result, and returns a formatted text response or error.
    async ({ nodeId, letterSpacing, unit }) => { try { const result = await sendCommandToFigma("set_letter_spacing", { nodeId, letterSpacing, unit: unit || "PIXELS" }); const typedResult = result as { name: string, letterSpacing: { value: number, unit: string } }; return { content: [ { type: "text", text: `Updated letter spacing of node "${typedResult.name}" to ${typedResult.letterSpacing.value} ${typedResult.letterSpacing.unit}` } ] }; } catch (error) { return { content: [ { type: "text", text: `Error setting letter spacing: ${error instanceof Error ? error.message : String(error)}` } ] }; } }
  • Zod schema defining the input parameters for the set_letter_spacing tool.
    { nodeId: z.string().describe("The ID of the text node to modify"), letterSpacing: z.number().describe("Letter spacing value"), unit: z.enum(["PIXELS", "PERCENT"]).optional().describe("Unit type (PIXELS or PERCENT)"), },
  • The server.tool() registration of the set_letter_spacing tool, including name, description, input schema, and inline handler.
    server.tool( "set_letter_spacing", "Set the letter spacing of a text node in Figma", { nodeId: z.string().describe("The ID of the text node to modify"), letterSpacing: z.number().describe("Letter spacing value"), unit: z.enum(["PIXELS", "PERCENT"]).optional().describe("Unit type (PIXELS or PERCENT)"), }, async ({ nodeId, letterSpacing, unit }) => { try { const result = await sendCommandToFigma("set_letter_spacing", { nodeId, letterSpacing, unit: unit || "PIXELS" }); const typedResult = result as { name: string, letterSpacing: { value: number, unit: string } }; return { content: [ { type: "text", text: `Updated letter spacing of node "${typedResult.name}" to ${typedResult.letterSpacing.value} ${typedResult.letterSpacing.unit}` } ] }; } catch (error) { return { content: [ { type: "text", text: `Error setting letter spacing: ${error instanceof Error ? error.message : String(error)}` } ] }; } } );
  • TypeScript union type FigmaCommand that lists 'set_letter_spacing' as one of the supported commands sent to the 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";

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/arinspunk/claude-talk-to-figma-mcp'

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