Cache-enabled Figma Context MCP with persistent disk caching to reduce API rate limits and improve performance.
Server has 5 tools with mostly complete schemas and descriptions. Naming follows verb_noun convention (figma_prepare_file, get_figma_data, download_figma_images, list_cache, cleanup_cache). Descriptions are present and contextual (avg ~150 chars), exceeding the 10-char minimum. However, several parameters lack descriptions or have incomplete constraints. Error handling is present but generic in places. Output schemas are not explicitly documented. Tool composition is reasonable but figma_prepare_file and get_figma_data create a forced two-step dependency that could be simplified.
Clean up expired and corrupted cache files. This tool removes cache files that have exceeded their TTL (Time To Live) and any corrupted cache entries. Use this to free up disk space and maintain cache health.
Download SVG and PNG images used in a Figma file based on the IDs of image or icon nodes
IMPORTANT: When a user provides a Figma URL, you MUST call this tool FIRST before calling get_figma_data. This tool prepares the Figma file by checking if it's cached and fetching it if needed. Even if caching is not enabled, you should still call this tool first (it will return a warning but continue normally). This ensures the file is ready before data extraction. If the user explicitly requests fresh/latest data or mentions the design has been updated, set forceRefresh to true to bypass the cache.
Get comprehensive Figma file data including layout, content, visuals, and component information. IMPORTANT: If the user provided a Figma URL, you MUST call figma_prepare_file FIRST before calling this tool. This tool expects the file to be already prepared.
List and display the current cache status including cached files, total size, cache directory, and TTL configuration. Use this tool to inspect what Figma files are currently cached and manage cache storage.
list_cache and cleanup_cache have empty parameter objects ({}), making their schemas incomplete. No input validation or constraints are visible.
Output schemas are not documented in tool definitions. Callers cannot predict response structure (e.g., what fields list_cache returns, what cleanup_cache returns on success vs error).
download_figma_images nodeId parameter has a complex regex pattern but the description does not explain the format clearly. LLMs may struggle to construct valid node IDs.
figma_prepare_file and get_figma_data form a forced dependency (prepare first, then get). This violates single-responsibility and forces two-step composition. Consider merging or making prepare optional.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | <=2025-11-25 | v2 |
Error responses in cleanup_cache and list_cache return generic JSON text without structured error classification (retryable vs fatal). LLMs cannot determine recovery strategy.