Skip to main content
Glama
625,515 tools. Updated 2026-09-30 22:54

"Figma - A Design and Prototyping Tool" matching MCP tools:

  • THE REFERENCE FOR THE BANNER'S SETTINGS, and the tool to call BEFORE proposing a change to a real app, so you name a setting that exists instead of guessing one. Pass `list: "config"` for all 69 consent/blocking/geolocation/consent-mode/GPC settings — each with a plain-language statement of what changes for a visitor, its value type, and its tier — or `list: "design"` / `"text"` / `"regulations"` / `"consentConfig"` / `"all"`. Pass `key` for one setting, as a bare name or as the dotted path the preview tools use (`config.blocking`, `config.regulations.gdpr`, `text.bodyText`). It tells you WHICH pair of account.* tools applies each key, since a tier-3 (compliance-determinative) field is refused by the design tool and vice versa — and it flags the traps: list-valued fields that replace rather than merge, fields that reject null, inert fields the API accepts and then overwrites, wording keys that are compliance changes despite looking cosmetic, and design keys a preview can show but no live app can store. Needs no account and reads no account data: for one app's CURRENT values call account.getDesign (authenticated — see help.explainTokenSetup).
    ConnectorNo auth
  • Gets the status and result of a design generation job started by create-design. Pass the job_id and continuation_token from the previous create-design or get-async-job response. While the job is still running, wait the number of seconds the response's polling_policy.wait_seconds gives, then poll again with the same job_id and the updated continuation_token. Never poll sooner than that: it returns the same answer and the design arrives no earlier. Follow the polling_policy.instructions in every response, and relay them to the user while they wait. When the job completes, share the design link with them. When the completed response carries design.print.is_printable as true, and you are replying in text alone — no UI surface of your own rendering the design — then alongside the design link tell the user they can also order this design as a physical print with Canva Print and share design.print.print_url. Otherwise say nothing about printing: when print is absent or is_printable is false, there is nothing to do and nothing to relay. Never tell the user a design cannot be printed.
    ConnectorOAuth
  • Gets the status and result of a design generation job started by create-design. Pass the job_id and continuation_token from the previous create-design or get-async-job response. While the job is still running, wait the number of seconds the response's polling_policy.wait_seconds gives, then poll again with the same job_id and the updated continuation_token. Never poll sooner than that: it returns the same answer and the design arrives no earlier. Follow the polling_policy.instructions in every response, and relay them to the user while they wait. When the job completes, share the design link with them. When the completed response carries design.print.is_printable as true, and you are replying in text alone — no UI surface of your own rendering the design — then alongside the design link tell the user they can also order this design as a physical print with Canva Print and share design.print.print_url. Otherwise say nothing about printing: when print is absent or is_printable is false, there is nothing to do and nothing to relay. Never tell the user a design cannot be printed.
    ConnectorOAuth
  • Use this tool when the user wants to see service packages with fixed pricing and scope for a specific type of service. This tool returns standardized packages offered by service providers, including pricing tiers, deliverables, and delivery timelines. Do NOT use this tool for custom project questions (e.g. "How much would it cost to build a custom app?"). It only returns providers' pre-defined, fixed-price packages, not a quote tailored to a specific project; use recommend_service_providers for those needs instead. Examples: - "Show me SEO packages" -> service="SEO" - "What web design packages can I get for $5,000?" -> service="Web Design", budget=5000 - "Marketing packages from agencies in New York" -> service="Digital Marketing", location="New York" Use `page`/`limit` for pagination.
    ConnectorNo auth
  • Render a customized MP4 with a Mographr free tool. Pass the tool slug, optional variantId (a design-system variant from get_motion_tool; defaults to the tool's default variant), optional colorSchemeId, and `fields` — the text values keyed by field key. Returns a renderId to poll with get_motion_render plus the interactive page URL. Free renders carry a small mographr.com watermark and take ~1–3 minutes on the CPU render lane.
    ConnectorNo auth
  • Lists every UI component in the project's design system, each with its name, source package, import path, and a short note on its intended use. Read-only and unpaginated: it returns the whole catalog across all packages assigned to the project, so expect a large response on big design systems. Use it to see what exists before building UI, and to get the exact component name other tools need. Do not use it to find a component by need - search_components ranks by description - and do not use it for props, examples, or Figma data, which only get_component returns. project_id is not a display filter: it selects the assigned packages, so two projects in one organization legitimately return different catalogs.
    ConnectorNo auth

Matching MCP Servers

Matching MCP Connectors

  • Explain how Context Studios prices projects: the entry point is a fixed-price workshop (Light Discovery, Strategy Day, or Prototyping Sprint — see the returned `workshops` list), project prices follow scoping with a 48-hour proposal turnaround. Returns the three workshop prices, the phases from discovery to sprint, and what drives the project price. No project price ranges or amounts beyond the workshops — call get_services for what each package includes, and request_consultation or book a call for a project-specific quote.
    ConnectorNo auth
  • Check a design without saving it: a whole `document`, a stored design by `designId`, or `operations` against a stored design exactly as ui_builder_apply would apply them. Runs the same checks the real call does — document shape, catalog pin, the catalog's own validation, the mutation reducer — and then the Compose export gate, which is the list the editor's problems panel shows. Returns `{valid, problems:[{severity, source, code, message, nodeId?, field?, operationIndex?}]}`; `valid` is false exactly when a problem is an error. Nothing is written, no revision moves and nobody watching the design is notified. The shapes are published as the resources compose-preview://schemas/ui-builder-document-v1.json and compose-preview://schemas/design-mutation-v1.json.
    ConnectorNo auth
  • Returns AdCritter design guidance for an entity at a caller-chosen guidance level - screen experiences, API integration patterns, and design philosophy. The default ('full') returns step-by-step prescription (exact layouts, colors, copy text, column orders). Request 'patterns' for balanced hints including common design patterns with softened vocabulary. Request 'facts' if you have strong visual-design instincts and just want API integration bindings (or call adcritter_get_api_reference and adcritter_get_usage_guide directly and skip this tool). Guidance is format-agnostic - it describes outcomes and integration, never prescribes frameworks or architecture. Available entities: ad, advertiser, audience, authentication, blueprint, campaign, geo, media-asset, plan, report, settings.
    ConnectorNo auth
  • Interactive single-site design-conditions explorer. Returns full ASHRAE design conditions + diurnal chart for the requested scenario. In MCP Apps-capable hosts (Claude Desktop, ChatGPT, VS Code, Goose), the response renders as a widget with sliders for SSP / year / percentile / UHI — dragging a slider re-calls this tool live. Use when a user wants to interactively tune a single site. For multi-site comparison, use analyze_weather(urls=[...]) instead. Defaults to present-day TMY (no morph) — pass ssp+year for future scenarios. P75 default percentile is design-realistic; P50 underestimates the tail. No auth required.
    ConnectorNo auth
  • Get the Designesy Design Review framework: an 8-dimension rubric (Purpose, Clarity, Context, Inclusion, System coherence, Durability, Delight, Responsibility) plus the agent prompt, output format, and verification checklist for a qualitative design critique. Use this when you want a structured rubric to critique a design holistically, rather than a numeric compliance score. When NOT to use: for a deterministic numeric score, use designesy_score; this tool gives you a rubric, not a number. Read-only: returns the rubric + prompt. The calling agent performs the actual critique (this tool does not evaluate the design for you). Returns JSON: { rubric, dimensions[8], agent_prompt, output_format, verification_checklist }. Pass artifact/purpose/context/rules to get a pre-filled critique prompt; omit all four to get the blank framework.
    ConnectorNo auth
  • Convenience tool: generates a post with AI (postType 'CAROUSEL' by default, 'IMAGE' for a single-image post, or 'VIDEO' for a video), waits for it to finish, then creates a scheduled post that attaches the resulting design. May take 30-180 seconds (longer for a rendered video). templateId, brandId, presetId, and responseType are optional if saved via postnitro_set_defaults. The design that gets attached is the completed carousel's design ID (result.designId from the generation output) — NOT the generation job ID. You normally don't set designId; it's resolved automatically. Pass designId only to attach a pre-existing design instead of the freshly generated one. If scheduling fails after the carousel is already generated (e.g. an invalid platform-settings combination), this tool returns the generated designId so you can fix the inputs and retry with postnitro_create_scheduled_post — WITHOUT regenerating (which would burn credits again). Provide the scheduling fields (status, scheduledAt, selectedAccounts, captions, and any required per-platform settings) just as you would for postnitro_create_scheduled_post.
    ConnectorAPI key
  • Convenience tool: creates a post from YOUR OWN content (import), waits for it to finish, then creates a scheduled post that attaches the resulting design. May take 15-60 seconds. Set postType to 'CAROUSEL' (default) or 'VIDEO' and provide a 'slides' ARRAY, or 'IMAGE' and provide a single 'slide' OBJECT — this mirrors postnitro_import_carousel / postnitro_import_video / postnitro_import_image. IMPORTANT: Call postnitro_get_import_template FIRST to see the exact slide structure and rules. templateId, brandId, and responseType are optional if saved via postnitro_set_defaults. The design attached is the imported design's ID (result.designId), resolved automatically. Pass designId only to attach a pre-existing design instead of the freshly imported one. If scheduling fails after the design was already created (e.g. an invalid platform-settings combination), this tool returns the created designId so you can fix the inputs and retry with postnitro_create_scheduled_post — WITHOUT re-importing. Provide the scheduling fields (status, scheduledAt, selectedAccounts, captions, and any required per-platform settings) just as you would for postnitro_create_scheduled_post.
    ConnectorAPI key
  • THE TOOL TO USE when the banner needs to look like the site it sits on. Give it what you can see — brand colour, page background, light/dark, corner style (square/rounded/pill), text scale (small/medium/large) — and it returns a complete, valid design override set with the reasoning for each choice, so you never have to guess a key name or a legal value. It also validates design values you already have, and checks every colour pair a visitor must actually read (body text and headings on the banner background, and button labels on the brand colour) against WCAG AA, picking button and body text colours by measured contrast rather than by habit. Themes: light/dark. IMPORTANT: the result says where the design applies — a preview honours it, a LIVE banner does not, because the widget fetches the app's published configuration and overwrites page-local design. To change a real banner use account.previewDesignChange then account.updateDesign, which need an authenticated connection — call help.explainTokenSetup. To see the design on a page without an account, pass it to demo.generateSnippet; to install the real banner use install.getSnippet.
    ConnectorNo auth
  • LEGACY-ONLY — DO NOT CALL WHEN create-design IS AVAILABLE. If create-design is in the tool list, you MUST NOT call this tool. Call create-design instead. BRAND EXCEPTION: create-design cannot apply a brand kit or base a design on a brand template. When the user asks for an on-brand design — their brand kit, their brand colours, fonts or logo, or a brand template to base the design on — call this tool instead of create-design. All instructions below apply when create-design is absent from the tool list, and whenever the request is an on-brand one. A failed create-design call does not make it unavailable. Generate professionally designed content in Canva including visual designs (posters, social media posts, presentations, flyers) and text-based documents (memos, articles, newsletters, proposals, reports, business plans, requirements documents). Each extra slide adds significant latency (e.g. 15 slides can take 3x longer than 5). Keep to 1-5 slides unless the user explicitly requests more. Use this tool when the user asks you to write, create, generate, or draft ANY document or visual design. Examples: - "Write a memo..." → use this tool to create a Canva Doc - "Generate a business proposal..." → use this tool to create a Canva Doc - "Draft a product overview..." → use this tool to create a Canva Doc DO NOT use this tool for fixed-format visual designs when prepare-design-generation is available. Do NOT use this tool when the user just wants advice, explanations, or information. DO NOT use this tool when the user's message contains a URL and their intent is to create a design FROM that URL — use import-design-from-url instead. Use the 'query' parameter to tell AI what you want to create. The tool doesn't have context of previous requests. ALWAYS include details from previous queries for each iteration. The tool provides best results with detailed context. ALWAYS look up the chat history and provide as much context as possible in the 'query' parameter. Ask for more details when the tool returns this error message 'Common queries will not be generated'. The generated designs are design candidates for users to select from. Ask for a preferred design and use 'create-design-from-candidate' tool to add the design to users' account. The IDs in the URLs are not design IDs. Do not use them to get design or design content. When using the 'asset_ids' parameter, assets are inserted in the order provided. For small designs with few image slots, only supply the images the user wants. For multi-page designs like presentations, supply images in the order of the slides. The tool will return a list of generated design candidates, including a candidate ID, preview thumbnail and url. Before editing, exporting, or resizing a generated design, follow these steps: 1. call 'create-design-from-candidate' tool with 'job_id' and 'candidate_id' of the selected design 2. call other tools with 'design_id' in the response For presentations, target 1-5 slides by default (length: "short"). Format the query string with these sections in order (use the headers exactly): 1. **Presentation Brief** Include: * **Title** (working title for the deck) * **Topic / Scope** (1–2 lines; include definitions if terms are uncommon) * **Key Messages** (3–5 crisp takeaways) * **Constraints & Assumptions** (timebox, brand, data limits, languages, etc.) * **Style Guide** (tone, color palette, typography hints, imagery style) 2. **Narrative Arc** A one-paragraph outline of the story flow (e.g., Hook → Problem → Insight → Solution → Proof → Plan → CTA). Keep transitions explicit. 3. **Slide Plan** Provide numbered slides with **EXACT titles** and detailed content. For each slide, include all of the following subsections in this order (use the labels exactly): * **Slide {N} — "{Exact Title}"** * **Goal:** one sentence describing the purpose of the slide. * **Bullets (3–6):** short, parallel phrasing; facts, examples, or specifics (avoid vague verbs). * **Visuals:** explicit recommendation (e.g., "Clustered bar chart of X by Y (2022–2025)", "Swimlane diagram", "2×2 matrix", "Full-bleed photo of <subject>"). * **Data/Inputs:** concrete values, sources, or placeholders to be filled (if unknown, propose realistic ranges or example figures). * **Speaker Notes (2–4 sentences):** narrative details, definitions, and transitions. * **Asset Hint (optional):** reference to an asset by descriptive name or index if assets exist (e.g., "Use Asset #3: 'logo_dark.svg' as corner mark"). * **Transition:** one sentence that logically leads into the next slide. > Ensure the Slide Plan forms a **cohesive story** (each slide's Goal and Transition should support the Narrative Arc). **Quality checklist (the model must self-check before finalizing)** * Titles are unique, concise (≤ 65 characters), and action-or insight-oriented. * Each slide has 3–6 bullets; no paragraph walls; numbers are specific where possible. * Visuals are concrete (chart/diagram names + variables/timeframes); tables are used only when necessary. * Terminology is defined once and used consistently; acronyms expanded on first use. * Transitions form an intelligible narrative; the story arc is obvious from titles alone. * No placeholders like "[TBD]" or "[insert]". If data is unknown, propose realistic figures and label as "example values". * All required headers and subsections are present, in the exact order above.
    ConnectorOAuth
  • Generate a new Canva design from a written brief, with any supplied content folded in. Use to turn a brief, presentation outline, or draft copy into a presentation, doc, sheet, website, poster, flyer, social post, resume, or another text-and-image layout; or to make a first design for a new project. Do not use this tool for an on-brand request: it cannot apply a brand kit or base a design on a brand template. When the user asks for their brand kit, their brand colours, fonts or logo, or a brand template to base the design on, use the legacy generation tools instead — prepare-design-generation where it is listed, otherwise generate-design or generate-design-structured. Use this tool only when the requested output itself is an editable Canva page or layout, such as "create an infographic". Do not use it when the user explicitly asks for an image, picture, photo, illustration, artwork, sticker, icon, graphic, or 2d vector; use generate-image instead. Explicit image wording takes priority over design-like content within the image, including text, statistics, labels, callouts, or an infographic-like composition. For example, "create an image about coffee with bold stat callouts" uses generate-image, as does "create an image of an infographic". Do not choose this tool merely because the request uses the words "create" or "design". Creates a newly generated design rather than editing one that already exists. Not for videos or whiteboards. Returns a job_id and continuation_token for the generation job. When this tool's UI widget is shown, the widget polls get-create-design-async-job itself and displays the design when ready - do not poll it yourself. Only when no widget is shown, poll get-create-design-async-job with both, waiting the number of seconds each response's polling_policy.wait_seconds gives before the next call, until the job completes, then share the design link with the user.
    ConnectorOAuth
  • Merge structured text, image, video, or chart values into named autofill fields to populate a Canva design, either as a new design or by overwriting an existing one in place. Use to merge a dataset or spreadsheet; place supplied names, details, or media into template placeholders; populate an existing design; or refill a design whose merged content is out of date. Only use after you have identified a Brand Template or existing Canva design and confirmed it has fillable data fields. Only overwrite an existing design in place when the user has asked to refill that design rather than create a new one, since the overwrite replaces its content and cannot be undone. Not for creating a blank Brand Template copy. Requires exactly one source and data that matches its field schema. Returns the populated design's design_id.
    Connector
    Destructive
    OAuth
  • LEGACY-ONLY — DO NOT CALL WHEN create-design IS AVAILABLE. If create-design is in the tool list, you MUST NOT call this tool. Call create-design instead. BRAND EXCEPTION: create-design cannot apply a brand kit or base a design on a brand template. When the user asks for an on-brand design — their brand kit, their brand colours, fonts or logo, or a brand template to base the design on — call this tool instead of create-design. All instructions below apply when create-design is absent from the tool list, and whenever the request is an on-brand one. A failed create-design call does not make it unavailable. Generate professionally designed content in Canva including visual designs (posters, social media posts, presentations, flyers) and text-based documents (memos, articles, newsletters, proposals, reports, business plans, requirements documents). Each extra slide adds significant latency (e.g. 15 slides can take 3x longer than 5). Keep to 1-5 slides unless the user explicitly requests more. Use this tool when the user asks you to write, create, generate, or draft ANY document or visual design. Examples: - "Write a memo..." → use this tool to create a Canva Doc - "Generate a business proposal..." → use this tool to create a Canva Doc - "Draft a product overview..." → use this tool to create a Canva Doc DO NOT use this tool for fixed-format visual designs when prepare-design-generation is available. Do NOT use this tool when the user just wants advice, explanations, or information. DO NOT use this tool when the user's message contains a URL and their intent is to create a design FROM that URL — use import-design-from-url instead. Use the 'query' parameter to tell AI what you want to create. The tool doesn't have context of previous requests. ALWAYS include details from previous queries for each iteration. The tool provides best results with detailed context. ALWAYS look up the chat history and provide as much context as possible in the 'query' parameter. Ask for more details when the tool returns this error message 'Common queries will not be generated'. The generated designs are design candidates for users to select from. Ask for a preferred design and use 'create-design-from-candidate' tool to add the design to users' account. The IDs in the URLs are not design IDs. Do not use them to get design or design content. When using the 'asset_ids' parameter, assets are inserted in the order provided. For small designs with few image slots, only supply the images the user wants. For multi-page designs like presentations, supply images in the order of the slides. The tool will return a list of generated design candidates, including a candidate ID, preview thumbnail and url. Before editing, exporting, or resizing a generated design, follow these steps: 1. call 'create-design-from-candidate' tool with 'job_id' and 'candidate_id' of the selected design 2. call other tools with 'design_id' in the response For presentations, target 1-5 slides by default (length: "short"). Format the query string with these sections in order (use the headers exactly): 1. **Presentation Brief** Include: * **Title** (working title for the deck) * **Topic / Scope** (1–2 lines; include definitions if terms are uncommon) * **Key Messages** (3–5 crisp takeaways) * **Constraints & Assumptions** (timebox, brand, data limits, languages, etc.) * **Style Guide** (tone, color palette, typography hints, imagery style) 2. **Narrative Arc** A one-paragraph outline of the story flow (e.g., Hook → Problem → Insight → Solution → Proof → Plan → CTA). Keep transitions explicit. 3. **Slide Plan** Provide numbered slides with **EXACT titles** and detailed content. For each slide, include all of the following subsections in this order (use the labels exactly): * **Slide {N} — "{Exact Title}"** * **Goal:** one sentence describing the purpose of the slide. * **Bullets (3–6):** short, parallel phrasing; facts, examples, or specifics (avoid vague verbs). * **Visuals:** explicit recommendation (e.g., "Clustered bar chart of X by Y (2022–2025)", "Swimlane diagram", "2×2 matrix", "Full-bleed photo of <subject>"). * **Data/Inputs:** concrete values, sources, or placeholders to be filled (if unknown, propose realistic ranges or example figures). * **Speaker Notes (2–4 sentences):** narrative details, definitions, and transitions. * **Asset Hint (optional):** reference to an asset by descriptive name or index if assets exist (e.g., "Use Asset #3: 'logo_dark.svg' as corner mark"). * **Transition:** one sentence that logically leads into the next slide. > Ensure the Slide Plan forms a **cohesive story** (each slide's Goal and Transition should support the Narrative Arc). **Quality checklist (the model must self-check before finalizing)** * Titles are unique, concise (≤ 65 characters), and action-or insight-oriented. * Each slide has 3–6 bullets; no paragraph walls; numbers are specific where possible. * Visuals are concrete (chart/diagram names + variables/timeframes); tables are used only when necessary. * Terminology is defined once and used consistently; acronyms expanded on first use. * Transitions form an intelligible narrative; the story arc is obvious from titles alone. * No placeholders like "[TBD]" or "[insert]". If data is unknown, propose realistic figures and label as "example values". * All required headers and subsections are present, in the exact order above.
    ConnectorOAuth
  • Generate a new Canva design from a written brief, with any supplied content folded in. Use to turn a brief, presentation outline, or draft copy into a presentation, doc, sheet, website, poster, flyer, social post, resume, or another text-and-image layout; or to make a first design for a new project. Do not use this tool for an on-brand request: it cannot apply a brand kit or base a design on a brand template. When the user asks for their brand kit, their brand colours, fonts or logo, or a brand template to base the design on, use the legacy generation tools instead — prepare-design-generation where it is listed, otherwise generate-design or generate-design-structured. Use this tool only when the requested output itself is an editable Canva page or layout, such as "create an infographic". Do not use it when the user explicitly asks for an image, picture, photo, illustration, artwork, sticker, icon, graphic, or 2d vector; use generate-image instead. Explicit image wording takes priority over design-like content within the image, including text, statistics, labels, callouts, or an infographic-like composition. For example, "create an image about coffee with bold stat callouts" uses generate-image, as does "create an image of an infographic". Do not choose this tool merely because the request uses the words "create" or "design". Creates a newly generated design rather than editing one that already exists. Not for videos or whiteboards. Returns a job_id and continuation_token for the generation job. When this tool's UI widget is shown, the widget polls get-create-design-async-job itself and displays the design when ready - do not poll it yourself. Only when no widget is shown, poll get-create-design-async-job with both, waiting the number of seconds each response's polling_policy.wait_seconds gives before the next call, until the job completes, then share the design link with the user.
    ConnectorOAuth
  • Permanently delete a design and its stored files. Irreversible. Refused with design_in_use if any live product still uses the design, in which case archive_design is the safe alternative. Use archive_design unless the design genuinely must be erased. [#02e216]
    Connector
    Destructive
    OAuth
  • Convert a Figma design to production-ready code. This tool generates code from Figma designs, supporting multiple frameworks and styling options. **Authentication:** Requires X-Figma-Token header with your Figma personal access token. **Inputs:** - fileKey: Figma file key extracted from the URL. For example, from "https://figma.com/design/abc123XYZ/MyDesign", the fileKey is "abc123XYZ". - nodesId: Array of Figma node IDs to convert. Extract from the URL's node-id parameter, replacing "-" with ":". For example, from "?node-id=1-2", the nodeId is "1:2". - framework: Target framework (react, html). Detect from the user's project to match their existing stack. - styling: CSS approach (tailwind, plain_css). Detect from the user's project to match their existing styling system. - language: TypeScript or JavaScript. Detect from the user's project. - uiLibrary: Optional UI component library (mui, antd, shadcn). Detect from the user's project if they use one of the supported libraries. - assetsBaseUrl: Base path for assets in generated code **Returns:** - files: Generated code files as a record of {path: {content, isBinary}} - assets: Array of {name, url} for images/assets that need to be downloaded from Figma - tokenUsage: Approximate token count for the generation - snapshotsUrls: Record of {nodeId: url} with screenshot URLs for each requested node - guidelines: IMPORTANT Instructions for using the generated code effectively **Asset Handling:** The generated code references assets at the assetsBaseUrl path. You must download the assets from the returned URLs and place them at your assetsBaseUrl location. For example, if assetsBaseUrl is "./assets" and an asset is named "logo.png", the code will reference "./assets/logo.png".
    ConnectorOAuth