Figma Context Mcp Air — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Figma Context Mcp Air (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Give your AI coding agent access to Figma design data. Implement designs in any framework with pixel-perfect accuracy — in one shot.
figma-context-mcp-air is a Model Context Protocol (MCP) server that gives AI coding tools (Cursor, Claude, Windsurf, etc.) direct access to your Figma design data.
It exposes 9 tools covering the full design-to-code workflow:
| Tool | Description |
|---|---|
get_figma_data | Full design data — layout, text, visuals, components (YAML/JSON) |
get_design_context | Alias for get_figma_data matching the official Figma MCP tool naming |
download_figma_images | Download PNG/SVG assets from Figma nodes to your local filesystem |
get_screenshot | Capture a Figma node as a base64 PNG for visual inspection by the AI |
get_metadata | Sparse XML layer hierarchy for quick node discovery before full extraction |
get_variable_defs | All design tokens — colors, typography, spacing, effects, and styles |
whoami | Verify your Figma authentication and check your plan tier |
create_design_system_rules | Generate framework-specific design system documentation for your project |
get_figjam | Extract FigJam board content (sticky notes, connectors, shapes) as XML |
Before returning data to the AI, the server simplifies and filters the raw Figma API response — keeping only the layout and styling information that matters for code generation. This reduces noise and dramatically improves AI accuracy.
You need a Figma Personal Access Token to use this server. How to create a Figma API access token →
Add this to your MCP client configuration file (e.g. ~/.cursor/mcp.json, claude_desktop_config.json):
{
"mcpServers": {
"Figma MCP AIR": {
"command": "npx",
"args": ["-y", "figma-context-mcp-air", "--figma-api-key=YOUR-KEY", "--stdio"]
}
}
}{
"mcpServers": {
"Figma MCP AIR": {
"command": "cmd",
"args": ["/c", "npx", "-y", "figma-context-mcp-air", "--figma-api-key=YOUR-KEY", "--stdio"]
}
}
}You can also set FIGMA_API_KEY in the env field instead of passing it as a flag:
{
"mcpServers": {
"Figma MCP AIR": {
"command": "npx",
"args": ["-y", "figma-context-mcp-air", "--stdio"],
"env": {
"FIGMA_API_KEY": "YOUR-KEY"
}
}
}
}get_design_context (or get_figma_data) to fetch structured design data, then writes your code.For more advanced workflows, the AI can:
get_screenshot to visually inspect a node before implementing itget_variable_defs to extract your design tokens and map them to CSS variablesget_metadata for a quick layer overview before fetching full datacreate_design_system_rules to generate project-specific coding guidelines| CLI Flag | Environment Variable | Default | Description |
|---|---|---|---|
--figma-api-key | FIGMA_API_KEY | _(required)_ | Your Figma Personal Access Token |
--figma-oauth-token | FIGMA_OAUTH_TOKEN | — | OAuth Bearer token (alternative to PAT) |
--port | PORT | 3333 | HTTP server port (HTTP mode only) |
--json | OUTPUT_FORMAT=json | YAML | Return JSON instead of YAML |
--skip-image-downloads | SKIP_IMAGE_DOWNLOADS | false | Disable the download_figma_images tool |
--image-dir | — | — | Custom directory for downloaded images |
--stdio | NODE_ENV=cli | — | Run in stdio mode (required for MCP clients) |
get_figma_data / get_design_contextFetches and simplifies Figma design data for a file or specific node. Returns layout (flexbox/grid), typography, colors, borders, effects, and component metadata in YAML or JSON.
Parameters:
fileKey _(required)_ — The key from your Figma URL: figma.com/design/<fileKey>/...nodeId _(optional)_ — The node ID from the URL: ?node-id=<nodeId>. Use format 1234:5678.depth _(optional)_ — How many levels deep to traverse. Only use if explicitly needed.download_figma_imagesDownloads PNG or SVG renders of Figma nodes to your local filesystem.
Parameters:
fileKey _(required)_nodes _(required)_ — Array of { nodeId, fileName } objectslocalPath _(required)_ — Directory to save imagespngScale _(optional)_ — Scale factor for PNG exports (default: 1)svgOptions _(optional)_ — SVG export options (outline text, include IDs, simplify strokes)get_screenshotCaptures a Figma node as a 2x PNG and saves it to disk. Useful for visual validation.
Parameters:
fileKey _(required)_nodeId _(required)_localPath _(optional)_ — Save directory (default: ./screenshots)fileName _(optional)_ — Output filename without extensionget_metadataReturns a sparse XML representation of the node hierarchy (depth=2). Use this for quick layer discovery before fetching full design context.
Parameters:
fileKey _(required)_nodeId _(required)_get_variable_defsFetches all design tokens from a Figma file — variable collections (colors, spacing, typography) and published styles (effects, text styles, fill styles). Returns data with CSS custom property syntax.
Parameters:
fileKey _(required)_whoamiReturns the authenticated user's Figma account information (name, email, plan tier). Useful for verifying your API key is working.
Parameters: None
create_design_system_rulesGenerates a comprehensive markdown template for project-specific design system rules. Tailored to your language and framework combination. Save the output to CLAUDE.md or your project's AI instructions file.
Parameters:
clientLanguages _(required)_ — e.g. "typescript,javascript"clientFrameworks _(required)_ — "react", "vue", "svelte", "angular", or "unknown"get_figjamExtracts content from a FigJam board — sticky notes, connectors, shapes, sections — as XML with screenshot URLs.
Parameters:
fileKey _(required)_nodeId _(optional)_ — Specific section or frame within the FigJam board# Install dependencies
pnpm install
# Build
pnpm build
# Development mode (HTTP, with watch)
pnpm dev
# Development mode (stdio)
pnpm dev:cli
# Run tests
pnpm test
# Type check
pnpm type-check
# Lint
pnpm lintContributions are welcome! Please read CONTRIBUTING.md before submitting a pull request.
For major features, open an issue first to discuss the approach.
MIT — see LICENSE
This project is a fork of GLips/Figma-Context-MCP (the Framelink MCP server), extended with additional tools to match the full official Figma MCP tool surface.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.