set_corner_radius
Adjust corner rounding on Figma design elements by specifying radius values and selecting which corners to modify for precise visual styling.
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/tools/modification-tools.ts:216-257 (registration)Direct registration of the 'set_corner_radius' MCP tool using server.tool(), which includes the tool description, Zod input schema, and the async handler function that proxies the command to Figma via websocket.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 that executes the 'set_corner_radius' tool logic: sends the command to Figma websocket with parameters, handles the response, and returns formatted text content or error.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 input schema defining parameters for the 'set_corner_radius' tool: nodeId (string), radius (non-negative number), corners (optional fixed-length array of 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]" ), },
- src/talk_to_figma_mcp/tools/index.ts:12-19 (registration)Higher-level registration function registerTools that calls registerModificationTools(server), indirectly registering set_corner_radius among other tools.export function registerTools(server: McpServer): void { // Register all tool categories registerDocumentTools(server); registerCreationTools(server); registerModificationTools(server); registerTextTools(server); registerComponentTools(server); }
- src/talk_to_figma_mcp/server.ts:34-34 (registration)Ultimate call to registerTools(server) in the main MCP server setup, which chains to the registration of set_corner_radius.registerTools(server);