Skip to main content
Glama

create_component_instance

Create an instance of a Figma component at specified coordinates to integrate design elements into your workspace.

Instructions

Create an instance of a component in Figma

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
componentKeyYesKey of the component to instantiate
xYesX position
yYesY position

Implementation Reference

  • The handler function for the MCP tool 'create_component_instance'. It sends the command to Figma using sendCommandToFigma and returns the result as text content or an error message.
      async ({ componentKey, x, y }) => {
        try {
          const result = await sendCommandToFigma("create_component_instance", {
            componentKey,
            x,
            y,
          });
          const typedResult = result as any;
          return {
            content: [
              {
                type: "text",
                text: JSON.stringify(typedResult),
              }
            ]
          }
        } catch (error) {
          return {
            content: [
              {
                type: "text",
                text: `Error creating component instance: ${error instanceof Error ? error.message : String(error)}`,
              },
            ],
          };
        }
      }
    );
  • Input schema for the tool using Zod validators with descriptions for componentKey, x, and y parameters.
    {
      componentKey: z.string().describe("Key of the component to instantiate"),
      x: z.number().describe("X position"),
      y: z.number().describe("Y position"),
    },
  • Direct registration of the 'create_component_instance' tool on the MCP server using server.tool(), including name, description, schema, and handler.
    server.tool(
      "create_component_instance",
      "Create an instance of a component in Figma",
      {
        componentKey: z.string().describe("Key of the component to instantiate"),
        x: z.number().describe("X position"),
        y: z.number().describe("Y position"),
      },
      async ({ componentKey, x, y }) => {
        try {
          const result = await sendCommandToFigma("create_component_instance", {
            componentKey,
            x,
            y,
          });
          const typedResult = result as any;
          return {
            content: [
              {
                type: "text",
                text: JSON.stringify(typedResult),
              }
            ]
          }
        } catch (error) {
          return {
            content: [
              {
                type: "text",
                text: `Error creating component instance: ${error instanceof Error ? error.message : String(error)}`,
              },
            ],
          };
        }
      }
    );
  • Invocation of registerComponentTools within the central registerTools function, which registers all tools including create_component_instance.
    registerComponentTools(server);
  • The 'create_component_instance' command is included in the FigmaCommand union type used for typing internal WebSocket commands to Figma.
    | "create_component_instance"

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/agenisea/cc-fig-mcp'

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