Skip to main content
Glama
arinspunk

Claude Talk to Figma MCP

by arinspunk

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
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

  • 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]"
        ),
    },
  • 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);
    }
  • Ultimate call to registerTools(server) in the main MCP server setup, which chains to the registration of set_corner_radius.
    registerTools(server);

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/arinspunk/claude-talk-to-figma-mcp'

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