Figma Structured

Provides automated Figma image export, compression, and upload workflows via MCP with HTTP and STDIO modes.
  • python

1

GitHub Stars

python

Language

5 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs

This MCP server enables automated interaction with Figma data by exporting, compressing, and uploading images based on a Figma node or its children. You provide a Figma link, and the service handles the end-to-end workflow, returning accessible image URLs for easy integration into your project.

How to use

To leverage this server, you typically operate it from an MCP client. You supply a Figma link and let the server fetch the required images, compress them, and upload them to your cloud storage. You can choose to export the targeted node itself or all direct child nodes, and you can adjust the output format, scaling, and compression quality.

Key steps you will perform from a Figma link: extract file_key and node_ids from the URL, then request images using those identifiers. The service can export either the node-id itself or its direct children, compress the results, and upload them to your storage provider. You will receive a structured response containing the public URLs of successful uploads and details of any failures.

Environment setup uses a Figma access token. Set FIGMA_ACCESS_TOKEN in your environment or .env file before starting the service. You can also configure storage specific settings such as STORAGE_PROVIDER and the corresponding upload endpoint and key. These settings are referenced by the MCP server and will be applied during the upload phase.

How to install

Prerequisites: Python 3.12 or higher and the UV package manager.

pip install uv

Create and activate a Python virtual environment, then install all dependencies.

# Use UV to create a venv with Python 3.12
uv venv --python 3.12

# Activate the virtual environment
# macOS/Linux
source .venv/bin/activate
# Windows
# .venv\Scripts\activate

# Install all dependencies
uv sync --all-extras

Prepare environment variables. In your project root, create a file named .env and set these values.

FIGMA_ACCESS_TOKEN="your_figma_token_here"

# Other upload server configuration
STORAGE_PROVIDER="custom"
CUSTOM_UPLOAD_URL="https://your-upload-server.com"
CUSTOM_UPLOAD_KEY="your_upload_key_here"

Run the service in one of three modes depending on how you want to interact with MCP clients.

# STDIO mode (recommended for local development)
uv run python run.py --mode stdio

# HTTP mode (Streamable-HTTP) 
uv run python run.py --mode http --port 8070
# Service URL: http://127.0.0.1:8070/mcp

# SSE mode (Server-Sent Events)
uv run python run.py --mode sse --port 8080
# Service URL: http://127.0.0.1:8080/sse

Additional configuration and client usage

You can connect an MCP client in either STDIO, HTTP, or SSE mode. Use the following settings to configure your MCP client to reach the local server.

# HTTP configuration example (preferred for remote clients)
{
  "mcpServers": {
    "figma-structured-mcp": {
      "url": "http://127.0.0.1:8070/mcp"
    }
  }
}
{
  "mcpServers": {
    "figma-structured-mcp": {
      "url": "http://127.0.0.1:8070/sse"
    }
  }
}

Available tools

get_figma_images

Exports, compresses, and uploads images from a specified Figma node or its direct children, returning publicly accessible image URLs and failure details.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
Figma Structured MCP Server - pursue-lll/figma-structured-mcp | VeilStrat