[
{
"description": "Get detailed information about the current Figma document",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_document_info"
},
{
"description": "Get information about the current selection in Figma",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_selection"
},
{
"description": "Get detailed information about a specific node in Figma",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"nodeId": {
"description": "The ID of the node to get information about",
"type": "string"
}
},
"required": [
"nodeId"
],
"type": "object"
},
"name": "get_node_info"
},
{
"description": "Create a new rectangle in Figma",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"height": {
"description": "Height of the rectangle",
"type": "number"
},
"name": {
"description": "Optional name for the rectangle",
"type": "string"
},
"parentId": {
"description": "Optional parent node ID to append the rectangle to",
"type": "string"
},
"width": {
"description": "Width of the rectangle",
"type": "number"
},
"x": {
"description": "X position",
"type": "number"
},
"y": {
"description": "Y position",
"type": "number"
}
},
"required": [
"x",
"y",
"width",
"height"
],
"type": "object"
},
"name": "create_rectangle"
},
{
"description": "Create a new frame in Figma",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"fillColor": {
"additionalProperties": false,
"description": "Fill color in RGBA format",
"properties": {
"a": {
"description": "Alpha component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"b": {
"description": "Blue component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"g": {
"description": "Green component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"r": {
"description": "Red component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
}
},
"required": [
"r",
"g",
"b"
],
"type": "object"
},
"height": {
"description": "Height of the frame",
"type": "number"
},
"name": {
"description": "Optional name for the frame",
"type": "string"
},
"parentId": {
"description": "Optional parent node ID to append the frame to",
"type": "string"
},
"strokeColor": {
"additionalProperties": false,
"description": "Stroke color in RGBA format",
"properties": {
"a": {
"description": "Alpha component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"b": {
"description": "Blue component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"g": {
"description": "Green component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"r": {
"description": "Red component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
}
},
"required": [
"r",
"g",
"b"
],
"type": "object"
},
"strokeWeight": {
"description": "Stroke weight",
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"description": "Width of the frame",
"type": "number"
},
"x": {
"description": "X position",
"type": "number"
},
"y": {
"description": "Y position",
"type": "number"
}
},
"required": [
"x",
"y",
"width",
"height"
],
"type": "object"
},
"name": "create_frame"
},
{
"description": "Create a new text element in Figma",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"fontColor": {
"additionalProperties": false,
"description": "Font color in RGBA format",
"properties": {
"a": {
"description": "Alpha component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"b": {
"description": "Blue component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"g": {
"description": "Green component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"r": {
"description": "Red component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
}
},
"required": [
"r",
"g",
"b"
],
"type": "object"
},
"fontSize": {
"description": "Font size (default: 14)",
"type": "number"
},
"fontWeight": {
"description": "Font weight (e.g., 400 for Regular, 700 for Bold)",
"type": "number"
},
"name": {
"description": "Optional name for the text node by default following text",
"type": "string"
},
"parentId": {
"description": "Optional parent node ID to append the text to",
"type": "string"
},
"text": {
"description": "Text content",
"type": "string"
},
"x": {
"description": "X position",
"type": "number"
},
"y": {
"description": "Y position",
"type": "number"
}
},
"required": [
"x",
"y",
"text"
],
"type": "object"
},
"name": "create_text"
},
{
"description": "Set the fill color of a node in Figma can be TextNode or FrameNode",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"a": {
"description": "Alpha component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"b": {
"description": "Blue component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"g": {
"description": "Green component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"nodeId": {
"description": "The ID of the node to modify",
"type": "string"
},
"r": {
"description": "Red component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
}
},
"required": [
"nodeId",
"r",
"g",
"b"
],
"type": "object"
},
"name": "set_fill_color"
},
{
"description": "Set the stroke color of a node in Figma",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"a": {
"description": "Alpha component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"b": {
"description": "Blue component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"g": {
"description": "Green component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"nodeId": {
"description": "The ID of the node to modify",
"type": "string"
},
"r": {
"description": "Red component (0-1)",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"weight": {
"description": "Stroke weight",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"nodeId",
"r",
"g",
"b"
],
"type": "object"
},
"name": "set_stroke_color"
},
{
"description": "Move a node to a new position in Figma",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"nodeId": {
"description": "The ID of the node to move",
"type": "string"
},
"x": {
"description": "New X position",
"type": "number"
},
"y": {
"description": "New Y position",
"type": "number"
}
},
"required": [
"nodeId",
"x",
"y"
],
"type": "object"
},
"name": "move_node"
},
{
"description": "Clone an existing node in Figma",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"nodeId": {
"description": "The ID of the node to clone",
"type": "string"
},
"x": {
"description": "New X position for the clone",
"type": "number"
},
"y": {
"description": "New Y position for the clone",
"type": "number"
}
},
"required": [
"nodeId"
],
"type": "object"
},
"name": "clone_node"
},
{
"description": "Resize a node in Figma",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"height": {
"description": "New height",
"exclusiveMinimum": 0,
"type": "number"
},
"nodeId": {
"description": "The ID of the node to resize",
"type": "string"
},
"width": {
"description": "New width",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"nodeId",
"width",
"height"
],
"type": "object"
},
"name": "resize_node"
},
{
"description": "Delete a node from Figma",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"nodeId": {
"description": "The ID of the node to delete",
"type": "string"
}
},
"required": [
"nodeId"
],
"type": "object"
},
"name": "delete_node"
},
{
"description": "Get all styles from the current Figma document",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_styles"
},
{
"description": "Get all local components from the Figma document",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_local_components"
},
{
"description": "Create an instance of a component in Figma",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"componentKey": {
"description": "Key of the component to instantiate",
"type": "string"
},
"x": {
"description": "X position",
"type": "number"
},
"y": {
"description": "Y position",
"type": "number"
}
},
"required": [
"componentKey",
"x",
"y"
],
"type": "object"
},
"name": "create_component_instance"
},
{
"description": "Export a node as an image from Figma",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"description": "Export format",
"enum": [
"PNG",
"JPG",
"SVG",
"PDF"
],
"type": "string"
},
"nodeId": {
"description": "The ID of the node to export",
"type": "string"
},
"scale": {
"description": "Export scale",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"nodeId"
],
"type": "object"
},
"name": "export_node_as_image"
},
{
"description": "Set the corner radius of a node in Figma",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"corners": {
"description": "Optional array of 4 booleans to specify which corners to round [topLeft, topRight, bottomRight, bottomLeft]",
"items": {
"type": "boolean"
},
"maxItems": 4,
"minItems": 4,
"type": "array"
},
"nodeId": {
"description": "The ID of the node to modify",
"type": "string"
},
"radius": {
"description": "Corner radius value",
"minimum": 0,
"type": "number"
}
},
"required": [
"nodeId",
"radius"
],
"type": "object"
},
"name": "set_corner_radius"
},
{
"description": "Set the text content of an existing text node in Figma",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"nodeId": {
"description": "The ID of the text node to modify",
"type": "string"
},
"text": {
"description": "New text content",
"type": "string"
}
},
"required": [
"nodeId",
"text"
],
"type": "object"
},
"name": "set_text_content"
},
{
"description": "Join a specific channel to communicate with Figma",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"channel": {
"default": "",
"description": "The name of the channel to join",
"type": "string"
}
},
"type": "object"
},
"name": "join_channel"
}
]