Skip to main content
Glama

Generate Design with AI

generate-design
Read-only

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesQuery describing the design to generate. Ask for more details to avoid errors like 'Common queries will not be generated'. When 'verbatim' is true, this must be the exact markdown text the user wants in the document (do not summarize or reformat it).
lengthNoPresentation length. Only provide this for presentations when the user explicitly requests a specific length. "short" = 1-5 slides, "balanced" = 5-15 slides, "comprehensive" = 15+ slides. If omitted, defaults to "short".
verbatimNoSet this to true whenever the user supplies their own text/markdown and wants it placed into a Canva Doc exactly as written — i.e. they say "verbatim", "as-is", "word for word", "exactly as written", or "don't rewrite/summarize/reword/change it". When true, the query is rendered into the document with NO AI rewriting, so pass the user's literal markdown in "query" (do not summarize or reformat it). Only honoured for design_type "doc"; ignored for any other design type (normal AI-assisted generation is used instead). Supports #/## headings, paragraphs, **bold**, *italics*, and bullet/numbered lists; tables, links, code blocks, and images are not supported.
asset_idsNoOptional list of asset IDs to insert into the generated design. Assets are inserted in order, so provide them in the intended sequence. For presentations, order should match slide sequence.
design_typeYesThe design type to generate. Options and their descriptions: - 'business_card': A [business card](https://www.canva.com/create/business-cards/); professional contact information card. - 'card': A [card](https://www.canva.com/create/cards/); for various occasions like birthdays, holidays, or thank you notes. - 'desktop_wallpaper': A desktop wallpaper; background image for computer screens. - 'doc': A [Canva Doc](https://www.canva.com/docs/); Modern, collaborative documents for business communications and written content. Use this for: memos, articles, technical articles, newsletters, requirements documents (product requirements, business requirements), agendas, strategic plans, go-to-market plans, business proposals, solution proposals, event proposals, company announcements, product overviews, summaries, and other text-heavy professional documents. Canva Docs are web-first with dynamic layouts optimized for online collaboration and interactive content. NOT for: Visual proposal templates with graphics (use 'proposal'), data-heavy reports with charts (use 'report'), traditional fixed-layout templates (use 'document'). - 'document': A [document](https://www.canva.com/create/documents/); traditional page-based document template with fixed layouts. For most business writing, use "doc" instead. - 'email': An [email](https://www.canva.com/emails/); use this for designing email newsletters, promotional emails, and marketing campaigns intended to be sent to recipients. - 'facebook_cover': A [Facebook cover](https://www.canva.com/create/facebook-covers/); banner image for your Facebook profile or page. - 'facebook_post': A Facebook post; ideal for sharing content on Facebook. - 'flyer': A [flyer](https://www.canva.com/create/flyers/); single-page promotional material. - 'infographic': An [infographic](https://www.canva.com/create/infographics/); for visualizing data and information. - 'instagram_post': An [Instagram post](https://www.canva.com/create/instagram-posts/); perfect for sharing content on Instagram. Generated at 1080x1350px (portrait, 4:5 ratio). - 'invitation': An invitation; for events, parties, or special occasions. - 'logo': A [logo](https://www.canva.com/create/logos/); for creating brand identity. - 'phone_wallpaper': A phone wallpaper; background image for mobile devices. - 'photo_collage': A [photo collage](https://www.canva.com/create/photo-collages/); for combining multiple photos into one design. - 'pinterest_pin': A Pinterest pin; vertical image optimized for Pinterest. - 'postcard': A [postcard](https://www.canva.com/create/postcards/); for sending greeting cards through the mail. - 'poster': A [poster](https://www.canva.com/create/posters/); large format print for events or decoration. - 'presentation': A [presentation](https://www.canva.com/presentations/); lets you create and collaborate for presenting to an audience. - 'proposal': A [proposal](https://www.canva.com/create/proposals/); visually-designed business proposal template with graphics and structured layouts. For text-focused proposals, use "doc" instead. - 'report': A [report](https://www.canva.com/create/reports/); visually-designed report template with charts, graphics, and data visualization. For text-focused reports, use "doc" instead. - 'resume': A [resume](https://www.canva.com/create/resumes/); professional document for job applications. - 'twitter_post': A Twitter post; optimized for sharing on Twitter/X. - 'your_story': A Story; vertical format for Instagram and Facebook Stories. - 'youtube_banner': A [YouTube banner](https://www.canva.com/create/youtube-banners/); channel header image for YouTube - 'youtube_thumbnail': A [YouTube thumbnail](https://www.canva.com/create/youtube-thumbnails/); eye-catching image for video previews.
user_intentNoMandatory description of what the user is trying to accomplish with this tool call. This should always be provided by LLM clients. Please keep it concise (255 characters or less recommended).
brand_kit_idNoID of the brand kit to base the generated design on. IMPORTANT: Before calling this tool, ALWAYS ask the user if they want to create an on-brand design. If they say yes, use the list-brand-kits tool to show available brand kits and let the user select one. Only call this tool after the user has confirmed their brand kit selection. If the user prefers not to use a brand kit, proceed without this parameter.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, which the description supports by clarifying that generated designs are non-persistent candidates until create-design-from-candidate is called. It adds critical behavioral context: no context between calls, latency tradeoffs, error handling, and the requirement to provide detailed query context. Does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long, but every section earns its place: the legacy warning is front-loaded, usage is clarified early, and the presentation format is essential structured detail. The use of headers and numbered steps keeps it navigable despite length. Not excessively verbose for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, many design types, and a complex presentation format, the description is remarkably complete. It explains the full lifecycle (candidate generation → selection → create-design-from-candidate), error handling, asset ordering, verbatim mode, brand kit flow, and even a quality checklist for presentations. No output schema exists, so the description's explanation of what it returns ('list of generated design candidates, including a candidate ID, preview thumbnail and url') fully compensates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage of all 7 parameters with descriptions, so the baseline is 3. The description adds extra semantic nuance beyond schema: ordering of asset_ids, verbatim handling specifics, mandatory user_intent, and the requirement to ask before using brand_kit_id. This elevates it above bare schema reliance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Generate professionally designed content in Canva') and resource, and immediately distinguishes itself from create-design via the LEGACY-ONLY and brand exception. The description clearly identifies both visual and text-based designs, making it impossible to confuse with siblings like import-design-from-url.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit, actionable guidance: says when to call (whenever user asks to write/create/generate/draft), when NOT to call (create-design available, prepare-design-generation, URL import, advice-only requests), and lists concrete examples mapping user phrasing to this tool. Also covers the brand-kit exception precisely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources