set_corner_radius
Modify corner radius values on Figma design elements to adjust visual styling and create rounded edges for specific nodes.
Instructions
Set the corner radius of a node in Figma
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| nodeId | Yes | The ID of the node to modify | |
| radius | Yes | Corner radius value | |
| corners | No | Optional array of 4 booleans to specify which corners to round [topLeft, topRight, bottomRight, bottomLeft] |
Implementation Reference
- src/talk_to_figma_mcp/server.ts:1330-1372 (registration)Full registration of the 'set_corner_radius' tool including schema definition, input validation with Zod, and the handler function that proxies the command to the Figma plugin via sendCommandToFigma.server.tool( "set_corner_radius", "Set the corner radius of a node in Figma", { nodeId: z.string().describe("The ID of the node to modify"), radius: z.number().min(0).describe("Corner radius value"), corners: z .array(z.boolean()) .length(4) .optional() .describe( "Optional array of 4 booleans to specify which corners to round [topLeft, topRight, bottomRight, bottomLeft]" ), }, async ({ nodeId, radius, corners }) => { try { const result = await sendCommandToFigma("set_corner_radius", { nodeId, radius, corners: corners || [true, true, true, true], }); const typedResult = result as { name: string }; return { content: [ { type: "text", text: `Set corner radius of node "${typedResult.name}" to ${radius}px`, }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error setting corner radius: ${error instanceof Error ? error.message : String(error) }`, }, ], }; } } );
- The handler function executes the tool logic: sends 'set_corner_radius' command to Figma plugin with parameters, handles response or error, and returns MCP-formatted content.async ({ nodeId, radius, corners }) => { try { const result = await sendCommandToFigma("set_corner_radius", { nodeId, radius, corners: corners || [true, true, true, true], }); const typedResult = result as { name: string }; return { content: [ { type: "text", text: `Set corner radius of node "${typedResult.name}" to ${radius}px`, }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error setting corner radius: ${error instanceof Error ? error.message : String(error) }`, }, ], }; } }
- Zod schema for input validation: requires nodeId and radius (non-negative number), optional corners array of exactly 4 booleans.{ nodeId: z.string().describe("The ID of the node to modify"), radius: z.number().min(0).describe("Corner radius value"), corners: z .array(z.boolean()) .length(4) .optional() .describe( "Optional array of 4 booleans to specify which corners to round [topLeft, topRight, bottomRight, bottomLeft]" ), },
- In filterFigmaNode helper function, preserves cornerRadius property when filtering node data for responses.if (node.cornerRadius !== undefined) { filtered.cornerRadius = node.cornerRadius; }