set_stroke_color
Change the stroke color of Figma design elements by specifying RGB values and optional alpha transparency and stroke weight.
Instructions
Set the stroke color of a node in Figma
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| nodeId | Yes | The ID of the node to modify | |
| r | Yes | Red component (0-1) | |
| g | Yes | Green component (0-1) | |
| b | Yes | Blue component (0-1) | |
| a | No | Alpha component (0-1) | |
| weight | No | Stroke weight |
Implementation Reference
- src/talk_to_figma_mcp/server.ts:646-686 (registration)MCP tool registration for 'set_stroke_color', including inline Zod schema for input parameters (nodeId, r, g, b, a, weight) and handler function that forwards the parameters to the Figma plugin via sendCommandToFigma and returns a success/error message.
server.tool( "set_stroke_color", "Set the stroke color of a node in Figma", { nodeId: z.string().describe("The ID of the node to modify"), r: z.number().min(0).max(1).describe("Red component (0-1)"), g: z.number().min(0).max(1).describe("Green component (0-1)"), b: z.number().min(0).max(1).describe("Blue component (0-1)"), a: z.number().min(0).max(1).optional().describe("Alpha component (0-1)"), weight: z.number().positive().optional().describe("Stroke weight"), }, async ({ nodeId, r, g, b, a, weight }) => { try { const result = await sendCommandToFigma("set_stroke_color", { nodeId, color: { r, g, b, a: a || 1 }, weight: weight || 1, }); const typedResult = result as { name: string }; return { content: [ { type: "text", text: `Set stroke color of node "${typedResult.name }" to RGBA(${r}, ${g}, ${b}, ${a || 1}) with weight ${weight || 1}`, }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error setting stroke color: ${error instanceof Error ? error.message : String(error) }`, }, ], }; } } ); - src/talk_to_figma_mcp/server.ts:657-685 (handler)Handler function executes the tool logic by calling sendCommandToFigma with the stroke color parameters, processes the result from Figma plugin, and returns formatted text content indicating success or error.
async ({ nodeId, r, g, b, a, weight }) => { try { const result = await sendCommandToFigma("set_stroke_color", { nodeId, color: { r, g, b, a: a || 1 }, weight: weight || 1, }); const typedResult = result as { name: string }; return { content: [ { type: "text", text: `Set stroke color of node "${typedResult.name }" to RGBA(${r}, ${g}, ${b}, ${a || 1}) with weight ${weight || 1}`, }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error setting stroke color: ${error instanceof Error ? error.message : String(error) }`, }, ], }; } } - Zod schema defining input parameters for the set_stroke_color tool: nodeId (required string), r/g/b (required numbers 0-1), a (optional number 0-1), weight (optional positive number).
{ nodeId: z.string().describe("The ID of the node to modify"), r: z.number().min(0).max(1).describe("Red component (0-1)"), g: z.number().min(0).max(1).describe("Green component (0-1)"), b: z.number().min(0).max(1).describe("Blue component (0-1)"), a: z.number().min(0).max(1).optional().describe("Alpha component (0-1)"), weight: z.number().positive().optional().describe("Stroke weight"), },