Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Server capabilities have not been inspected yet.

Tools

Functions exposed to the LLM to take actions

NameDescription
joinB

Join a specific channel to communicate with Figma.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the join status message.

get_componentsA

Get components from the current document, a team library, or remote team libraries.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the components info as JSON.

set_variantC

Create, add, rename, delete, organize, or batch create variants/properties in a component set (single or batch).

Returns: Array of result objects for each operation.

get_variantC

Get info about variants/properties for one or more component sets.

Returns: For single: { componentSetId, variants: [...] }, for batch: Array<{ componentSetId, variants: [...] }>.

create_component_instanceA

Creates one or more component instances in Figma. Accepts either a single entry (via 'entry') or an array of entries (via 'entries').

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the created instance IDs.

create_components_from_nodeA

Converts one or more existing nodes into components in Figma.

Returns:

  • content: Array of objects. Each object contains:

    • type: "text"

    • text: JSON string with created component IDs and any errors.

set_selectionD-
get_selectionA

Get information about the current selection in Figma.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the selection info as JSON.

duplicate_pageA

Duplicate a Figma page and all its children as a new page.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the new page info as JSON.

get_document_infoA

Get detailed information about the current Figma document.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the document info as JSON.

get_doc_pagesA

Get information about all pages in the current Figma document.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the pages info as JSON.

export_node_as_imageA

Exports a node as an image from Figma in the specified format and scale.

Returns:

  • content: Array of objects. Each object contains type: "image", data (image data), and mimeType (image mime type).

get_htmlB

Generates HTML structure from Figma nodes.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the generated HTML string.

get_css_asyncA

Get CSS properties from a node.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the CSS properties as JSON.

set_imageA

Sets or inserts one or more images into Figma. Each image can be specified by a remote URL, a local file path, or a base64 data URI. Accepts either a single image config (via 'image') or an array of configs (via 'images'). You can customize size, name, and parent node.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the inserted image node ID(s).

get_imageD-
set_corner_radiusA

Sets the corner radius of a node in Figma.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the updated node's ID.

move_nodeA

Moves one or more nodes to a new position in Figma. Accepts either a single move config (via 'move') or an array of configs (via 'moves').

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the moved node ID(s) and new position(s).

resize_nodeB

Resize a node in Figma.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the resized node's ID and new size.

rotate_nodeB

Rotate a node in Figma.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the rotated node's ID, angle, and pivot info.

set_auto_layout_resizingB

Sets hug or fill sizing mode on an auto layout frame or child node in Figma.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the updated node's ID.

detach_instancesA

Detaches one or more Figma component instances from their masters. Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the detached instance's ID or error info.

set_node_propB

Sets node properties (locked, visible, etc.) for one or more nodes.

set_auto_layoutA

Set, update, or delete one or more layout grids on Figma nodes (FRAME, COMPONENT, INSTANCE).

Returns: Array of result objects for each operation.

set_constraintB

Set constraints (left/right/top/bottom/center/scale/stretch) for one or more Figma nodes.

Returns: Array of result objects for each operation.

get_constraintC

Get constraints for one or more Figma nodes (optionally including children).

Returns: Array of constraint info for each node, including children if requested.

subscribe_eventC

Subscribe or unsubscribe to a Figma event (e.g., selection_change, document_change).

Returns: { subscriptionId } for subscribe, { success: true } for unsubscribe

create_buttonA

Creates a complete button with background and text in Figma at the specified coordinates. You can customize size, text, colors, font, corner radius, name, and parent node.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the created button's frame, background, and text node IDs.

set_variableA

Creates, updates, or deletes one or more Figma Variables (design tokens).

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the result or summary.

get_annotationA

Get annotation(s) for one or more Figma nodes.

Returns:

  • For single: { nodeId, annotations }

  • For batch: Array<{ nodeId, annotations }>

set_annotationA

Set, update, or delete annotation(s) for one or more Figma nodes.

Returns:

  • For single: { nodeId, updated/deleted }

  • For batch: Array<{ nodeId, updated/deleted }>

booleanB

Perform boolean operations (union, subtract, intersect, exclude) on Figma nodes.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the result.

group_nodeA

Groups or ungroups nodes in Figma, depending on the 'group' flag.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the result.

delete_nodeC

Deletes one or more nodes in Figma.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the deleted node's ID(s).

set_nodeB

Sets or inserts one or more child nodes into parent nodes at optional index positions in Figma.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the parentId, childId, index, success status, and any error message.

flatten_nodeA

Flatten one or more nodes in Figma, or the current selection, merging all child vector layers and shapes into a single vector layer.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the results for each node.

duplicate_nodeB

Clones one or more nodes in Figma. Accepts either a single node config (via 'node') or an array of configs (via 'nodes'). Optionally, you can specify positions, offsets, and parent.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the new node ID(s).

rename_layerA

Renames one or more nodes in Figma. Accepts either a single rename config (via 'rename') or an array of configs (via 'renames').

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the original and new name(s).

reorder_nodeA

Reorders one or more nodes in their parents' children arrays. Accepts either a single reorder config (via 'reorder') or an array of configs (via 'reorders'). Optionally, you can provide options such as skip_errors.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the results and any errors.

get_node_infoA

Get detailed information about one or more nodes in Figma.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the node(s) info as JSON.

set_matrix_transformA

Set a transformation matrix on one or more Figma nodes (single or batch).

Parameters:

  • entry: { nodeId: string, matrix: number[] } (optional, for single)

  • entries: Array<{ nodeId: string, matrix: number[] }> (optional, for batch)

  • options: { skipErrors?: boolean } (optional)

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the result for each node.

set_gridC

Create, update, or delete one or more layout grids on Figma nodes (FRAME, COMPONENT, INSTANCE).

Returns: Array of result objects for each operation.

get_gridB

Get all layout grids for one or more Figma nodes (FRAME, COMPONENT, INSTANCE).

Returns: For single: { nodeId, grids: [...] }, for batch: Array<{ nodeId, grids: [...] }>.

set_guideC

Add or delete one or more guides on the current Figma page.

Returns: Array of result objects for each operation.

get_guideB

Get all guides on the current Figma page.

Returns: Array of guides, each with { axis, offset }

set_pageB

Create, delete, rename, or set current page (single or batch).

Returns: Array of result objects for each operation.

get_pageB

Get info for one, many, or all pages.

Returns: For single: { pageId, name, isActive }, for batch: Array<{ pageId, name, isActive }>.

create_rectangleA

Creates one or more rectangle shape nodes in the specified Figma document. Accepts either a single rectangle config (via 'rectangle') or an array of configs (via 'rectangles'). Optionally, you can provide a name, a parent node ID to attach the rectangle(s) to, and a corner radius for rounded corners.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the created rectangle node ID(s).

create_frameA

Creates one or more frame nodes in the specified Figma document. Accepts either a single frame config (via 'frame') or an array of configs (via 'frames'). Optionally, you can provide a name, a parent node ID, fill color, stroke color, stroke weight, and corner radius.

Corner radius can be:

  • A single number for uniform corners (e.g., 8)

  • An array of 4 numbers for individual corners [topLeft, topRight, bottomRight, bottomLeft] (e.g., [8, 8, 0, 0])

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the created frame node ID(s).

create_lineA

Creates one or more line nodes in the specified Figma document. Accepts either a single line config (via 'line') or an array of configs (via 'lines'). Optionally, you can provide a parent node ID, stroke color, and stroke weight.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the created line node ID(s).

create_ellipseA

Creates one or more ellipse nodes in the specified Figma document. Accepts either a single ellipse config (via 'ellipse') or an array of configs (via 'ellipses'). Optionally, you can provide a name, a parent node ID, fill color, stroke color, and stroke weight.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the created ellipse node ID(s).

create_polygonA

Creates one or more polygons in Figma. Accepts either a single polygon config (via 'polygon') or an array of configs (via 'polygons'). Optionally, you can provide a name, a parent node ID, fill color, stroke color, and stroke weight.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the created polygon node ID(s).

set_maskA

Applies a mask in Figma. Supports single or batch:

  • Single: { targetNodeId, maskNodeId, channelId? }

  • Batch: { operations: [ { targetNodeId, maskNodeId, channelId? }, ... ] } Returns an array of result objects.

set_fill_and_strokeC

Sets fill and/or stroke color(s) and/or stroke weight for one or more nodes.

get_fill_and_strokeB

Gets fill and/or stroke color(s) and stroke weight for one or more nodes.

create_gradient_styleA

Creates one or more gradient style variables in Figma.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the created gradient(s) ID(s) or a summary.

set_gradientA

Set a gradient on one or more nodes in Figma, either directly or by style variable.

Returns:

  • content: Array containing a text message with the updated node(s) ID(s) or a summary.

set_effectA

Set effect(s) directly or by style variable on one or more nodes in Figma.

Returns:

  • content: Array containing a text message with the updated node(s) ID(s) or a summary.

apply_effect_styleB

Applies an effect style to a node in Figma.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the updated node's ID.

get_doc_styleA

Get all styles from the current Figma document.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the styles info as JSON.

get_node_styleA

Get all style properties (fills, strokes, effects, text styles, style IDs, etc.) for one or more nodes.

Returns:

  • Array of { nodeId, styles } objects, one per node.

get_text_styleD-
load_font_asyncC

Load a font asynchronously in Figma.

Returns:

  • content: Array containing a text message with the loaded font. Example: { "content": [{ "type": "text", "text": "Font loaded: Roboto" }] }

get_svg_vectorA

Get SVG markup for one or more vector nodes.

Returns:

  • Array of { nodeId, svg } objects, one per node.

set_svg_vectorA

Sets or inserts one or more SVG vectors in Figma. Accepts either a single SVG config (via 'svg') or an array of configs (via 'svgs').

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the inserted SVG vector node ID(s).

get_styled_text_segmentsA

Get text segments with specific styling in a text node.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the styled text segments as JSON.

scan_text_nodesA

Scan all text nodes in the selected Figma node.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the scan status and results.

set_text_contentB

Sets the text content of one or more text nodes in Figma. Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the update result.

set_text_styleA

Sets one or more text style properties (font, size, weight, spacing, case, decoration, etc.) on one or more nodes in Figma. Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the update result.

set_textA

Creates one or more text elements in Figma. Accepts either a single text config (via 'text') or an array of configs (via 'texts'). If 'width' and 'height' are provided, creates a bounded text box; otherwise, creates a regular text node.

Returns:

  • content: Array of objects. Each object contains a type: "text" and a text field with the created text node ID(s).

create_vectorB

Creates one or more vector nodes in Figma. Use 'vector' for single or 'vectors' for batch.

get_vectorB

Retrieves one or more vector nodes by ID(s). Accepts 'nodeId' or 'nodeIds'.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/amalinakurniasari/conduit'

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