Skip to main content
Glama
andreycretsu

Cursor Talk to Figma MCP

by andreycretsu

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
NameRequiredDescriptionDefault
nodeIdYesThe ID of the node to modify
radiusYesCorner radius value
cornersNoOptional array of 4 booleans to specify which corners to round [topLeft, topRight, bottomRight, bottomLeft]

Implementation Reference

  • 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;
    }

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/andreycretsu/cursor-talk-to-figma-mcp-main'

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