Skip to main content
Glama
figma-prompts.js6.83 kB
/** * Figma MCP Prompts * Prompts to guide AI assistants in working with Figma designs */ export function registerFigmaPrompts(protocol, _figmaClient) { // Design analysis workflow prompt protocol.registerPrompt("analyze_design_file", { description: "Guide for analyzing a Figma design file to extract structure, components, and design system information", arguments: [ { name: "fileKey", description: "Figma file key to analyze", required: true, }, ], handler: async (args) => { const { fileKey } = args; return { description: "Analyze a Figma design file to understand its structure and design system", messages: [ { role: "user", content: { type: "text", text: `I want to analyze the Figma file ${fileKey}. Please help me understand: 1. The file structure and pages 2. Available components and component sets 3. Design tokens and styles 4. Component usage patterns Start by using the analyze_file tool to get an overview, then use list_components to see all available components, and extract_styles to understand the design system.`, }, }, ], }; }, }); // Component extraction guidance prompt protocol.registerPrompt("extract_components", { description: "Guide for extracting and documenting components from a Figma file", arguments: [ { name: "fileKey", description: "Figma file key", required: true, }, { name: "componentKey", description: "Specific component key to extract (optional)", required: false, }, ], handler: async (args) => { const { fileKey, componentKey } = args; if (componentKey) { return { description: "Extract detailed information about a specific component", messages: [ { role: "user", content: { type: "text", text: `Extract detailed information about component ${componentKey} from file ${fileKey}. Use get_component_details to get the component information, then find_component_usage to see where it's used in the file.`, }, }, ], }; } return { description: "Extract and document all components from a Figma file", messages: [ { role: "user", content: { type: "text", text: `Extract all components from Figma file ${fileKey}. Use list_components to get all available components, then for each component use get_component_details to get detailed information and find_component_usage to understand usage patterns.`, }, }, ], }; }, }); // Asset export best practices prompt protocol.registerPrompt("export_assets", { description: "Guide for exporting assets from Figma files in the appropriate formats", arguments: [ { name: "fileKey", description: "Figma file key", required: true, }, { name: "format", description: "Export format (PNG, SVG, PDF, JPG)", required: false, }, ], handler: async (args) => { const { fileKey, format = "PNG" } = args; const formatGuidance = { PNG: "Use PNG for raster images, icons, and screenshots. Good for web use.", SVG: "Use SVG for vector graphics, icons, and scalable assets. Best for web and print.", PDF: "Use PDF for documents, presentations, and print-ready materials.", JPG: "Use JPG for photographs and images with many colors. Smaller file size than PNG.", }; return { description: "Export assets from a Figma file", messages: [ { role: "user", content: { type: "text", text: `Export assets from Figma file ${fileKey} in ${format} format. ${formatGuidance[format] || "Choose the appropriate format based on your use case."} Best practices: - Use export_node for single assets - Use export_multiple_nodes for batch exports - Use export_file_pages to export entire pages - For icons and logos, prefer SVG format - For images and screenshots, use PNG or JPG - Use appropriate scale factors (1x, 2x, 3x) for different display densities Start by analyzing the file structure to identify which nodes to export.`, }, }, ], }; }, }); // Design system consistency check prompt protocol.registerPrompt("check_design_system", { description: "Guide for checking design system consistency across a Figma file", arguments: [ { name: "fileKey", description: "Figma file key to check", required: true, }, ], handler: async (args) => { const { fileKey } = args; return { description: "Check design system consistency in a Figma file", messages: [ { role: "user", content: { type: "text", text: `Analyze the design system consistency in Figma file ${fileKey}. Check for: 1. Component usage patterns - are components being reused or duplicated? 2. Style consistency - are design tokens being used consistently? 3. Naming conventions - are components and styles named consistently? 4. Component variants - are component sets being used properly? Use extract_styles to get all design tokens, list_components to see all components, and find_component_usage to check component reuse patterns. Identify any inconsistencies or areas for improvement.`, }, }, ], }; }, }); // Comment and feedback management prompt protocol.registerPrompt("manage_feedback", { description: "Guide for managing comments and feedback in Figma files", arguments: [ { name: "fileKey", description: "Figma file key", required: true, }, ], handler: async (args) => { const { fileKey } = args; return { description: "Manage comments and feedback in a Figma file", messages: [ { role: "user", content: { type: "text", text: `Help manage comments and feedback for Figma file ${fileKey}. Use get_comments to retrieve all existing comments. You can create new comments using create_comment with either: - X/Y coordinates for general file comments - Node ID for comments attached to specific design elements For each comment, provide context about what it relates to and help organize feedback for the design team.`, }, }, ], }; }, }); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/oabolade/figma_mcp_server_actor'

If you have feedback or need assistance with the MCP directory API, please join our Discord server