Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Schema

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Tools

Functions exposed to the LLM to take actions

NameDescription
join

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_components

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_variant

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_variant

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

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

create_component_instance

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_node

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

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_page

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_info

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_pages

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_image

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_html

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_async

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_image

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

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_node

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_node

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_node

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_resizing

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_instances

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_prop

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

set_auto_layout

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

Returns: Array of result objects for each operation.

set_constraint

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

Returns: Array of result objects for each operation.

get_constraint

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

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

subscribe_event

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

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

create_button

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_variable

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_annotation

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

Returns:

  • For single: { nodeId, annotations }

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

set_annotation

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

Returns:

  • For single: { nodeId, updated/deleted }

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

boolean

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_node

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_node

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_node

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_node

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_node

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_layer

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_node

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_info

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_transform

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_grid

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

Returns: Array of result objects for each operation.

get_grid

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

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

set_guide

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

Returns: Array of result objects for each operation.

get_guide

Get all guides on the current Figma page.

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

set_page

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

Returns: Array of result objects for each operation.

get_page

Get info for one, many, or all pages.

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

create_rectangle

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_frame

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_line

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_ellipse

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_polygon

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_mask

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_stroke

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

get_fill_and_stroke

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

create_gradient_style

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_gradient

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_effect

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_style

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_style

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_style

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

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_vector

Get SVG markup for one or more vector nodes.

Returns:

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

set_svg_vector

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_segments

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_nodes

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_content

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_style

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_text

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_vector

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

get_vector

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

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