annator / mcps /grok_com_canva /tools /generate-design.json
techprotrade's picture
Add mcps directory
31c9f7d verified
Raw
History Blame Contribute Delete
11.8 kB
{
"name": "generate-design",
"description": "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).\n\n 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.\n\n Use this tool when the user asks you to write, create, generate, or draft ANY document or visual design. Examples:\n - \"Write a memo...\" β†’ use this tool to create a Canva Doc\n - \"Generate a business proposal...\" β†’ use this tool to create a Canva Doc\n - \"Draft a product overview...\" β†’ use this tool to create a Canva Doc\n\n DO NOT use this tool for fixed-format visual designs when prepare-design-generation is available.\n Do NOT use this tool when the user just wants advice, explanations, or information.\n 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.\n\n Use the 'query' parameter to tell AI what you want to create.\n The tool doesn't have context of previous requests. ALWAYS include details from previous queries for each iteration.\n 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.\n Ask for more details when the tool returns this error message 'Common queries will not be generated'.\n The generated designs are design candidates for users to select from.\n Ask for a preferred design and use 'create-design-from-candidate' tool to add the design to users' account.\n The IDs in the URLs are not design IDs. Do not use them to get design or design content.\n 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.\n The tool will return a list of generated design candidates, including a candidate ID, preview thumbnail and url.\n Before editing, exporting, or resizing a generated design, follow these steps:\n 1. call 'create-design-from-candidate' tool with 'job_id' and 'candidate_id' of the selected design\n 2. call other tools with 'design_id' in the response\n\n For presentations, target 1-5 slides by default (length: \"short\"). Format the query string with these sections in order (use the headers exactly):\n 1. **Presentation Brief**\n Include:\n\n * **Title** (working title for the deck)\n * **Topic / Scope** (1–2 lines; include definitions if terms are uncommon)\n * **Key Messages** (3–5 crisp takeaways)\n * **Constraints & Assumptions** (timebox, brand, data limits, languages, etc.)\n * **Style Guide** (tone, color palette, typography hints, imagery style)\n\n 2. **Narrative Arc**\n A one-paragraph outline of the story flow (e.g., Hook β†’ Problem β†’ Insight β†’ Solution β†’ Proof β†’ Plan β†’ CTA). Keep transitions explicit.\n\n 3. **Slide Plan**\n 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):\n\n * **Slide {N} β€” \"{Exact Title}\"**\n * **Goal:** one sentence describing the purpose of the slide.\n * **Bullets (3–6):** short, parallel phrasing; facts, examples, or specifics (avoid vague verbs).\n * **Visuals:** explicit recommendation (e.g., \"Clustered bar chart of X by Y (2022–2025)\", \"Swimlane diagram\", \"2Γ—2 matrix\", \"Full-bleed photo of <subject>\").\n * **Data/Inputs:** concrete values, sources, or placeholders to be filled (if unknown, propose realistic ranges or example figures).\n * **Speaker Notes (2–4 sentences):** narrative details, definitions, and transitions.\n * **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\").\n * **Transition:** one sentence that logically leads into the next slide.\n\n > Ensure the Slide Plan forms a **cohesive story** (each slide's Goal and Transition should support the Narrative Arc).\n\n **Quality checklist (the model must self-check before finalizing)**\n\n * Titles are unique, concise (≀ 65 characters), and action-or insight-oriented.\n * Each slide has 3–6 bullets; no paragraph walls; numbers are specific where possible.\n * Visuals are concrete (chart/diagram names + variables/timeframes); tables are used only when necessary.\n * Terminology is defined once and used consistently; acronyms expanded on first use.\n * Transitions form an intelligible narrative; the story arc is obvious from titles alone.\n * No placeholders like \"[TBD]\" or \"[insert]\". If data is unknown, propose realistic figures and label as \"example values\".\n * All required headers and subsections are present, in the exact order above.\n ",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Query describing the design to generate. Ask for more details to avoid errors like 'Common queries will not be generated'."
},
"design_type": {
"type": "string",
"enum": [
"business_card",
"card",
"desktop_wallpaper",
"doc",
"document",
"email",
"facebook_cover",
"facebook_post",
"flyer",
"infographic",
"instagram_post",
"invitation",
"logo",
"phone_wallpaper",
"photo_collage",
"pinterest_pin",
"postcard",
"poster",
"presentation",
"proposal",
"report",
"resume",
"twitter_post",
"your_story",
"youtube_banner",
"youtube_thumbnail"
],
"description": "The design type to generate.\n\nOptions and their descriptions:\n- 'business_card': A [business card](https://www.canva.com/create/business-cards/); professional contact information card.\n- 'card': A [card](https://www.canva.com/create/cards/); for various occasions like birthdays, holidays, or thank you notes.\n- 'desktop_wallpaper': A desktop wallpaper; background image for computer screens.\n- 'doc': A [Canva Doc](https://www.canva.com/docs/); Modern, collaborative documents for business communications and written content.\n 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.\n Canva Docs are web-first with dynamic layouts optimized for online collaboration and interactive content.\n NOT for: Visual proposal templates with graphics (use 'proposal'), data-heavy reports with charts (use 'report'), traditional fixed-layout templates (use 'document').\n- 'document': A [document](https://www.canva.com/create/documents/); traditional page-based document template with fixed layouts. For most business writing, use \"doc\" instead.\n- '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.\n- 'facebook_cover': A [Facebook cover](https://www.canva.com/create/facebook-covers/); banner image for your Facebook profile or page.\n- 'facebook_post': A Facebook post; ideal for sharing content on Facebook.\n- 'flyer': A [flyer](https://www.canva.com/create/flyers/); single-page promotional material.\n- 'infographic': An [infographic](https://www.canva.com/create/infographics/); for visualizing data and information.\n- '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).\n- 'invitation': An invitation; for events, parties, or special occasions.\n- 'logo': A [logo](https://www.canva.com/create/logos/); for creating brand identity.\n- 'phone_wallpaper': A phone wallpaper; background image for mobile devices.\n- 'photo_collage': A [photo collage](https://www.canva.com/create/photo-collages/); for combining multiple photos into one design.\n- 'pinterest_pin': A Pinterest pin; vertical image optimized for Pinterest.\n- 'postcard': A [postcard](https://www.canva.com/create/postcards/); for sending greeting cards through the mail.\n- 'poster': A [poster](https://www.canva.com/create/posters/); large format print for events or decoration.\n- 'presentation': A [presentation](https://www.canva.com/presentations/); lets you create and collaborate for presenting to an audience.\n- '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.\n- '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.\n- 'resume': A [resume](https://www.canva.com/create/resumes/); professional document for job applications.\n- 'twitter_post': A Twitter post; optimized for sharing on Twitter/X.\n- 'your_story': A Story; vertical format for Instagram and Facebook Stories.\n- 'youtube_banner': A [YouTube banner](https://www.canva.com/create/youtube-banners/); channel header image for YouTube\n- 'youtube_thumbnail': A [YouTube thumbnail](https://www.canva.com/create/youtube-thumbnails/); eye-catching image for video previews."
},
"asset_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Optional 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."
},
"brand_kit_id": {
"type": "string",
"minLength": 1,
"description": "ID 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."
},
"length": {
"type": "string",
"enum": [
"short",
"balanced",
"comprehensive"
],
"description": "Presentation 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\"."
},
"user_intent": {
"type": "string",
"description": "Mandatory 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)."
}
},
"required": [
"query",
"design_type"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
}