Skip to main content
Glama

Import Design From Public HTTPS URL

import-design-from-url

Convert content at a public URL into a new Canva design.

Use to turn a publicly hosted PDF, slide deck (PowerPoint or Keynote), document (Word, Pages, or Markdown), spreadsheet (Excel, CSV, or Numbers), webpage or HTML, or design file (Photoshop or Illustrator) into a Canva design.

Only call with a public HTTPS URL. Do not use for local, private, or agent-generated files, or to break a flat PNG, JPEG, or WEBP into separately editable layers.

Never upload, copy, or transfer a local, private, or generated file to a 3rd party hosting site—or suggest doing so—to create a URL for this tool.

Each call creates one design and returns its design_id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesExisting public HTTPS URL for the source to convert. Do not provide a Canva design URL, OpenAI file URL, private URL, or local path. The content must already be publicly accessible. Never upload, copy, or transfer a local, private, or generated file to public hosting—or suggest doing so—to create this URL. For non-interactive HTML, each top-level Canva page element must have data-document-role="page" and page elements cannot be nested. Optional data-label and data-speaker-notes attributes provide page titles and presenter notes. Do not add page annotations to interactive HTML.
nameYesName for the new Canva design.
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).
intended_design_typeNoRequested Canva output format. Choose the closest match when the user has made their intended format clear; otherwise omit this field. Use "other" only when the intended format is clear but is not listed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / url / description
      Previous value: -"Public HTTPS URL for the source to convert. Does not accept Canva design URLs, OpenAI file URLs, local paths, private files, or agent-generated files. For static HTML, each top-level Canva page element must have data-document-role=\"page\" and page elements cannot be nested. Use optional data-label and data-speaker-notes attributes for page titles and presenter notes. Do not add page annotations to interactive HTML."New value: +"Existing public HTTPS URL for the source to convert. Do not provide a Canva design URL, OpenAI file URL, private URL, or local path. The content must already be publicly accessible. Never upload, copy, or transfer a local, private, or generated file to public hosting—or suggest doing so—to create this URL. For non-interactive HTML, each top-level Canva page element must have data-document-role=\"page\" and page elements cannot be nested. Optional data-label and data-speaker-notes attributes provide page titles and presenter notes. Do not add page annotations to interactive HTML."
  2. Changed3 schema fields changed
    • changedInput schema / properties / intended_design_type / description
      Previous value: -"The design type the user appears to want to create from this URL. Choose the closest match based on the user request and the URL. If unclear, omit this field. Use other only when the intended design type is clear but none of the listed options fit."New value: +"Requested Canva output format. Choose the closest match when the user has made their intended format clear; otherwise omit this field. Use \"other\" only when the intended format is clear but is not listed."
    • changedInput schema / properties / name / description
      Previous value: -"Name for the new design"New value: +"Name for the new Canva design."
    • changedInput schema / properties / url / description
      Previous value: -"Public HTTPS URL to the file to import. MUST START WITH https://. Examples: https://example.com/file.pdf, https://example.com/site.zip, https://raw.githubusercontent.com/user/repo/main/design.zip CRITICAL: If user input is a local path (starts with /, C:\\, file://, or mentions Downloads/Documents/Desktop), DO NOT USE THIS TOOL. If it looks like a Canva design URL, DO NOT call this tool."New value: +"Public HTTPS URL for the source to convert. Does not accept Canva design URLs, OpenAI file URLs, local paths, private files, or agent-generated files. For static HTML, each top-level Canva page element must have data-document-role=\"page\" and page elements cannot be nested. Use optional data-label and data-speaker-notes attributes for page titles and presenter notes. Do not add page annotations to interactive HTML."
  3. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, openWorldHint=true, destructiveHint=false. The description adds real context beyond that: the URL must be publicly accessible, it fetches remote content, and each call creates exactly one design returning a design_id. It stops short of describing failure modes or per-format limitations, so not a 5.

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?

Three compact, front-loaded paragraphs: purpose, supported inputs, and constraints. Every sentence carries information, though the 'never upload to third party' warning is repeated near-verbatim in the url schema description, slightly inflating length.

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?

With no output schema, the description supplies the missing return contract ('creates one design and returns its design_id'). Combined with the covered input constraints, an agent has everything needed to call this correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters are already documented in the schema. The description's HTTPS-only and 'not a Canva/OpenAI URL' constraints closely mirror the schema's pattern and url description, adding little beyond it. Baseline 3 applies.

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 ('Convert content at a public URL into a new Canva design') and immediately enumerates supported source formats. An agent can distinguish this from create-design, generate-design, and upload-asset-from-url without opening the schema.

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?

Explicitly names when to use it (publicly hosted PDF, deck, doc, sheet, webpage, design file), when not to use it (local, private, agent-generated files; flat PNG/JPEG/WEBP layer separation), and forbids the workaround of uploading private files to third-party hosts.

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