Skip to main content
Glama

Create Design From Candidate

create-design-from-candidate

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.

Create a new Canva design from a generation job candidate ID. This converts an AI-generated design candidate into an editable Canva design. If successful, returns a design summary containing a design ID that can be used with the editing_transaction_tools. To make changes to the design, first call this tool with the candidate_id from generate-design results, then use the returned design_id with start-editing-transaction and subsequent editing tools.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
job_idYesID of the design generation job that created the candidate design. This is returned in the generate-design response.
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).
candidate_idYesID of the candidate design to convert into an editable Canva design. This is returned in the generate-design response for each design candidate.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the mutation profile is covered. The description adds context beyond annotations: the create-then-edit sequential workflow (call this first, then use returned design_id with start-editing-transaction and editing tools), and the requirement to obtain candidate_id from generate-design results. It does not contradict the 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 longer than average but every block earns its place given the complex routing requirements. The 'LEGACY-ONLY' warning and brand exception are front-loaded before the core workflow. Slight redundancy exists (the DO NOT CALL constraint is stated twice), and the routing block could be tightened, but the structure is effective and information-dense rather than padded.

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

Completeness4/5

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

For a tool in a 33-sibling ecosystem with no output schema, the description handles the return value itself ('design summary containing a design ID') and the cross-tool sequencing with generate-design and start-editing-transaction. One minor gap: the routing condition references create-design, which is not actually present in this tool list — the conditional is somewhat hypothetical here, though the description does gracefully state it applies 'when create-design is absent from the tool list.'

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 coverage is 100%, so the baseline is 3. The description adds value beyond the schema by explaining the provenance of both job_id and candidate_id ('returned in the generate-design response') and the ordering requirement linking them to the generate-design pipeline. This ties each parameter to its upstream source, which the schema alone does not convey.

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 and resource — 'Create a new Canva design from a generation job candidate ID' — and clarifies the mechanism: 'converts an AI-generated design candidate into an editable Canva design.' This distinguishes it from generate-design (which produces candidates) and create-design-from-brand-template (brand-templated variants), so an agent can separate it from siblings without opening schemas.

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?

Exceptionally explicit routing: it names the preferred alternative (create-design), forbids calling this tool when that alternative is present, and carves out a precise brand exception ('brand kit, brand colours, fonts or logo, brand template'). It also notes that a failed create-design call does not make this tool available. This is textbook when-to-use vs when-not-to-use guidance.

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