set_stroke_color
Change the stroke color of a Figma node programmatically using natural language commands, enabling automated design adjustments through Cursor AI.
Instructions
Set the stroke color of a 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/server.ts:645-686 (registration)Registration of the 'set_stroke_color' MCP tool, including schema definition and handler function that proxies the command to the Figma plugin via WebSocket.// Set Stroke Color Tool 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 for 'set_stroke_color' tool. It constructs the color object, calls sendCommandToFigma to execute the stroke color change in Figma, and returns success/error messages.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) }`, }, ], }; } }
- Input schema for 'set_stroke_color' tool using Zod validation: requires nodeId and RGB (0-1), optional A and stroke weight.{ 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"), },