Skip to main content
Every server option can be set with a CLI flag, an environment variable, or left at its default. Precedence is CLI flag, then environment variable, then default. Environment variables can come from your shell or from a .env file, which the server reads from its working directory at startup; pass --env to load a different file. Values in the .env file override variables already set in the shell. For step-by-step setup of credentials, see Authentication. The fetch command accepts a subset of these options.

Authentication

How the server authenticates to the Figma API. Stdio mode and the fetch command exit at startup unless one of the first two is set. See Authentication for how to choose and set up a method.
string
Env: FIGMA_API_KEYA Figma personal access token. Sent to Figma in the X-Figma-Token header.
string
Env: FIGMA_OAUTH_TOKENA Figma OAuth access token. Sent to Figma as Authorization: Bearer. If both this and a personal access token are set, the OAuth token is used.

Per-request token

HTTP mode only. A token sent by the MCP client on an individual request overrides the server’s own credentials for that request. See Per-request tokens in HTTP mode.
header
A Figma personal access token for this request. Takes precedence over Authorization.
header
A Figma OAuth token for this request, in the form Bearer YOUR-KEY.

Transport

boolean
default:"false"
Run over stdin/stdout instead of HTTP. Use this when your MCP client launches the server as a subprocess, which is how most editor configs work. Without it, the server starts an HTTP server; see HTTP server.
number
default:"3333"
Env: FRAMELINK_PORT (PORT is also accepted)Port for the HTTP server. Ignored in stdio mode.
string
default:"127.0.0.1"
Env: FRAMELINK_HOSTAddress the HTTP server binds to. Ignored in stdio mode.

Output

tree | yaml | json
default:"tree"
Env: OUTPUT_FORMATFormat of the design data returned by get_figma_data. tree is the most compact and is built for LLMs; use yaml or json only if something needs to parse the output. Any other value stops the server at startup. The fetch command defaults to yaml instead.
boolean
default:"false"
Alias for --format=json. If both are passed, --format wins.

Images

string
default:"current working directory"
Env: IMAGE_DIRBase directory for download_figma_images. The tool only writes files inside it, and its description tells the agent this path. Relative paths resolve against the server’s working directory. In stdio mode, set this explicitly: clients often launch the server outside your project, and the server prints a warning when it is unset and image downloads are on.
boolean
default:"false"
Env: SKIP_IMAGE_DOWNLOADS (true or false)Don’t register the download_figma_images tool.

Network

string
Env: FIGMA_PROXYProxy URL for outbound requests to Figma, such as http://proxy.example.com:8080. When unset, the server uses the standard HTTP_PROXY, HTTPS_PROXY, and NO_PROXY variables if any are present. Pass none to ignore those variables and connect directly:
See Network proxy and connection errors.

Telemetry

boolean
default:"false"
Env: FRAMELINK_TELEMETRY=off, or DO_NOT_TRACK set to any non-empty value other than 0Turn off anonymous usage telemetry. When on, the server sends one event per tool call describing timing, response shape, and errors, with Figma credentials scrubbed.

Files

string
default:"./.env"
Path to the .env file to load. Relative paths resolve against the server’s working directory.

Information

boolean
Print all options and exit.
boolean
Print the server version and exit.

Environment variables

Example .env file