Skip to main content
Glama

set_fill_color

Change the fill color of Figma design elements like text or frames by specifying RGB values and node ID.

Instructions

Set the fill color of a node in Figma can be TextNode or FrameNode

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nodeIdYesThe ID of the node to modify
rYesRed component (0-1)
gYesGreen component (0-1)
bYesBlue component (0-1)
aNoAlpha component (0-1)

Implementation Reference

  • Registration of the 'set_fill_color' MCP tool. Includes the tool name, description, Zod input schema for nodeId and RGBA color components, and the handler function that sends the command to the Figma plugin and formats the response.
    server.tool( "set_fill_color", "Set the fill color of a node in Figma can be TextNode or FrameNode", { 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)"), }, async ({ nodeId, r, g, b, a }) => { try { const result = await sendCommandToFigma("set_fill_color", { nodeId, color: { r, g, b, a: a || 1 }, }); const typedResult = result as { name: string }; return { content: [ { type: "text", text: `Set fill color of node "${typedResult.name }" to RGBA(${r}, ${g}, ${b}, ${a || 1})`, }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error setting fill color: ${error instanceof Error ? error.message : String(error) }`, }, ], }; } } );
  • The handler function executes the tool logic by calling sendCommandToFigma with the set_fill_color command and the nodeId and color parameters. It formats a success message with the node name and RGBA values or an error message.
    async ({ nodeId, r, g, b, a }) => { try { const result = await sendCommandToFigma("set_fill_color", { nodeId, color: { r, g, b, a: a || 1 }, }); const typedResult = result as { name: string }; return { content: [ { type: "text", text: `Set fill color of node "${typedResult.name }" to RGBA(${r}, ${g}, ${b}, ${a || 1})`, }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error setting fill color: ${error instanceof Error ? error.message : String(error) }`, }, ], }; } }
  • Zod schema for input validation of the set_fill_color tool parameters: nodeId (string), r, g, b (numbers between 0 and 1), a (optional number between 0 and 1).
    { 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)"),

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/pipethedev/Talk-to-Figma-MCP'

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