smart-figma-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LLM_API_KEY | No | Your API key for the selected LLM provider. Must be used together with LLM_PROVIDER. | |
| LLM_PROVIDER | No | The LLM provider to use: anthropic, openai, deepseek, or zhipu. Must be used together with LLM_API_KEY. | |
| ZHIPU_API_KEY | No | Your Zhipu (GLM) API key. Alternative to using LLM_PROVIDER + LLM_API_KEY. | |
| OPENAI_API_KEY | No | Your OpenAI API key. Alternative to using LLM_PROVIDER + LLM_API_KEY. | |
| ASTRYX_NODE_BIN | No | The Node interpreter to use for spawning the Astryx CLI, if different from the default. | |
| DEEPSEEK_API_KEY | No | Your DeepSeek API key. Alternative to using LLM_PROVIDER + LLM_API_KEY. | |
| ANTHROPIC_API_KEY | No | Your Anthropic API key. Alternative to using LLM_PROVIDER + LLM_API_KEY. | |
| FIGMA_ACCESS_TOKEN | No | Your Figma personal access token. Required for the fetch_figma_node tool to access the Figma REST API. | |
| SMART_FIGMA_LICENSE | No | Your license token for smart-figma-mcp. Optional for free tier, required for paid features. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| compile_figma_componentB | Compile a Figma node into a Tailwind + variant-mapping context. Accepts an offline figmaNode JSON or a figmaUrl (live Figma API). In BYOK mode the token bills the user. |
| fetch_figma_nodeB | Fetch a design node from the Figma API and normalize it into the compiler input format. Returns structured node data (including Auto Layout info). |
| save_componentC | Deterministic write op: strip data-node-id, write to the exact path, and auto-update the index.ts barrel export. |
| remember_mappingC | Persist a user-confirmed Figma->local-component mapping as a private asset, forming a switching-cost moat. |
| cache_clearA | Clear all compile caches (L1 memory + L2 disk); use to force a refresh after the data source changes. |
| scan_componentsB | Auto-scan the project's local component library (shadcn/ui / radix / antd / mui) and extract component names, CVA variant definitions, and import paths. |
| probe_astryxA | Check whether the Astryx design-system contract is available in a project (CLI + core installed, version). Use this before fetch_astryx_contract. Degrades gracefully when Astryx is absent. |
| fetch_astryx_contractA | Fetch the authoritative Astryx component contract as JSON: component index (categories + import paths) or, when |
| check_mapping_healthB | Check whether component files referenced by the mapping asset library still exist, and flag stale entries. |
| export_mappingsA | Export the .smart-figma/mappings.json mapping assets (for team sharing or migration). |
| import_mappingsA | Import mapping assets from external JSON and merge them into the local .smart-figma/mappings.json. Existing keys are not overwritten. |
| refresh_crlA | Refresh the license revocation list (CRL) from a remote URL and cache it locally to .smart-figma/crl.json. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Most tools target distinct resources and actions, and descriptions clarify borderline cases (e.g. probe_astryx before fetch_astryx_contract, remember_mapping vs import_mappings). There is mild overlap around mapping persistence, but nothing severely ambiguous.
Predominantly a consistent verb_noun snake_case pattern (save_component, fetch_figma_node, export_mappings, refresh_crl). Minor deviations come from prefixed domain names (compile_figma_component, fetch_astryx_contract) but the convention is readable and predictable.
12 tools is well within the ideal 3-15 range and each tool maps to a concrete step in the Figma-to-component workflow. No obvious padding.
Covers the core lifecycle: fetch node, compile, save component, scan library, and mapping management (remember/export/import/health). Minor gaps exist, such as no explicit update/delete for components or individual mapping entries, but agents can work around these.