Skip to main content
Glama

mcp-canva — MCP server untuk Canva + editor web "Rakit Desain"

Repo ini berdiri sendiri, terpisah dari MCP CapCut (bryankwandou/MCPCAPCUT).

Bagian

Isi

Server MCP

Tool canva_* lewat Canva Connect API resmi (OAuth): list/buat desain, upload aset, export, brand template + autofill, resize; catalog; desktop_* (kontrol layar, opsional)

Editor web

src/creative_mcp/editor/: editor desain bergaya Canva (template, elemen, teks, animasi, presentasi, export PNG/JPG/PDF/PPTX). Dideploy ke Vercel sebagai situs statis

Daftar fitur

FEATURES.md / features.html: fitur Canva Free vs Pro dan status di editor ini

Elemen/fitur Pro Canva tidak dibuka tanpa langganan; tidak ada aset Canva yang disalin.

Instalasi

git clone https://github.com/bryankwandou/MCPCANVA && cd MCPCANVA
pip install -e ".[desktop]"
mcp-canva login        # sekali: browser terbuka ke Canva, klik Allow

App Canva dibuat di https://www.canva.com/developers/apps (Outside Canva), Redirect URL http://127.0.0.1:3001/oauth/redirect. Client ID/Secret ditanyakan saat login dan disimpan di .env.

Tambahkan ke Claude Desktop (claude_desktop_config.json):

{ "mcpServers": { "canva": { "command": "mcp-canva" } } }

Related MCP server: Canva MCP Server

Cek koneksi

python scripts/verify_connection.py --write

Berhasil bila muncul [OK ] Canva: akun terhubung dengan nama akun Anda dan desain "Tes MCP …" muncul di Canva.

Desain native dari HTML (tanpa API, tanpa PPTX)

Lewat Chrome yang sudah login Canva (debug port 9222):

Tool

Fungsi

canva_html_to_canva(html_path, title)

Render HTML di headless Chrome; tiap teks jadi kotak teks Canva (posisi, font, ukuran, warna sama), tiap <img> jadi gambar Canva, sisanya satu gambar latar

canva_native_build(spec)

Rakit desain dari spec JSON {title, width, height, elements:[image/text]}

canva_browser_upload(files)

Upload file ke Uploads Canva

Tandai elemen dengan data-canva="raster" agar tetap di gambar latar (mis. grup yang diputar). CLI: mcp-canva html file.html "Judul".

Deploy editor ke Vercel

Import repo ini di Vercel; vercel.json sudah menyetel output src/creative_mcp/editor tanpa build.

Available Tools

28 tools
cache_clearA

Clear cached data ('' = everything, 'canva:' = only Canva).

ParametersJSON Schema
NameRequiredDescriptionDefault
prefixNo

TDQS

A3.8/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it discloses only scope, not consequences. For an operation that removes data, it never says whether the action is reversible, whether clearing everything also wipes non-Canva state, or whether it disrupts an active session/auth. The prefix scoping is the only behavioral hint.

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

Conciseness5/5

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

A single front-loaded sentence with zero padding; the scoping detail is exactly the information an agent needs, expressed compactly.

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 one-parameter, non-required, output-less tool this is nearly sufficient: purpose and the key parameter semantics are covered. The remaining gap is consequence/safety disclosure, which is low-risk here but still absent given the lack of annotations.

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 description coverage is 0%, so the description must compensate and largely does: it maps '' to 'everything' and 'canva:' to 'only Canva', giving real meaning to the otherwise bare 'prefix' string. It stops short of saying whether arbitrary prefixes are accepted or how partial matching works, so not a full 5.

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 + resource ('Clear cached data') with no ambiguity about what the tool does. No sibling touches cache management, so it is trivially distinguished from the canva_* and desktop_* tools. The parenthetical further pins down the scope of what is being cleared.

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

Usage Guidelines3/5

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

Usage is only implied: an agent infers you clear cache to force a refresh of stale data. There is no explicit when-to-use, when-not-to-use, or dependency/prerequisite guidance (e.g., whether a session must be re-established afterward). Adequate but with clear gaps.

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

canva_autofillC

Generate a new design from a brand template. data example: {"headline": {"type": "text", "text": "Promo"}, "photo": {"type": "image", "asset_id": "..."}}

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYes
titleNo
brand_template_idYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden, and it discloses almost nothing behavioral: no indication that it creates a persistent design (side effect), no auth/quota/rate-limit notes, no statement about what happens to unfilled placeholders, and no return information.

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?

Two compact sentences with the purpose front-loaded and the concrete example immediately after. The example is useful but abbreviated ('...' placeholders) and slightly cryptic, leaving a bit of decoding work for the reader.

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

Completeness2/5

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

For a write tool with a nested, fully opaque parameter, no annotations, and no output schema, the description is thin. It should at minimum explain the autofill concept, where the required ids come from, and what the caller receives, none of which is present.

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 0% and `data` is an opaque additionalProperties object, so the schema explains nothing. The inline JSON example does add real, non-redundant value about the `data` shape, but it never explains where `brand_template_id` comes from or what `title` controls, so it only partially compensates.

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

Purpose4/5

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

The description states a clear verb and resource: 'Generate a new design from a brand template.' However, it offers no differentiation from the near-identical sibling 'canva_make_from_template', and it never mentions the defining trait implied by the tool name — autofilling template placeholder fields with supplied data.

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

Usage Guidelines2/5

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

There is no when-to-use, when-not-to-use, or alternative-routing guidance. An agent cannot tell from this text whether it should prefer this over canva_make_from_template, nor that canva_brand_template_fields / canva_list_brand_templates must be called first to discover valid ids and field names.

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

canva_brand_template_fieldsC

Show the autofillable fields (text/image/chart) of a brand template.

ParametersJSON Schema
NameRequiredDescriptionDefault
brand_template_idYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Show' implies a non-mutating read, but nothing is said about permissions, whether the brand template must exist, or how many fields are returned.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the purpose is stated before any modifier.

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

Completeness3/5

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

For a simple one-parameter read tool this covers the core purpose, but with no output schema the agent gets no hint about the returned field structure (names, types, identifiers) it would need to feed canva_autofill.

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

Parameters2/5

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

Schema description coverage is 0%, and there is one required parameter (brand_template_id) that the description never mentions. 'of a brand template' only loosely implies the ID selects the template; no format or validation detail is added.

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

Purpose4/5

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

States a specific verb ('Show') and resource ('autofillable fields of a brand template'), and even enumerates the field kinds (text/image/chart). It does not, however, distinguish itself from siblings like canva_autofill or canva_list_brand_templates, so an agent can't tell from the description alone when to prefer this over them.

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

Usage Guidelines2/5

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

No when-to-use, prerequisite, or alternative guidance is given. The natural workflow (call this to discover fields, then pass them to canva_autofill) is left entirely to inference.

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

canva_create_designB

Create a design. preset: 'doc', 'whiteboard' or 'presentation'; or give width/height in px. Optionally insert an uploaded asset. Returns edit_url to open in the Canva editor.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
widthNo
heightNo
presetNo
asset_idNo

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose a concrete behavioral fact: the tool returns an edit_url for opening in the Canva editor, which is genuinely useful. It does not mention permission/scope requirements, rate limits, or what happens if both preset and width/height are supplied, leaving meaningful gaps for a mutating tool.

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

Conciseness5/5

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

Two tight sentences with no filler, and the core action is front-loaded. The preset enumeration is compact and the return value is appended efficiently.

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

Completeness3/5

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

There is no output schema and no annotations, so the description must be self-sufficient; stating the edit_url return value helps fill that gap. However, for a creation tool with five parameters and 0% schema documentation, guidance on parameter interactions (preset vs width/height) and permissions is missing.

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 description coverage is 0%, so the description must compensate, and it largely does: it names the valid preset values ('doc', 'whiteboard', 'presentation'), explains that width/height are in px, and identifies asset_id as an uploaded asset. Only the required 'title' parameter is left unexplained, and it omits what happens when preset and dimensions conflict.

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

Purpose4/5

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

"Create a design" states a specific verb and resource, and the added detail (preset options, px dimensions, optional asset, edit_url return) clarifies the shape of the operation. It implicitly distinguishes itself from template-based siblings like canva_make_from_template, but never names them, so an agent must infer the boundary.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is given. The description never tells the agent when to pick this over canva_make_from_template, canva_import_file, or canva_import_url, all of which also produce designs. The preset-vs-dimensions choice is stated but not framed as a decision rule.

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

canva_create_showcase_templateB

Create the masterpiece Canva showcase template with real photography and 40+ vector/text elements. Generates the editable PPTX and optionally imports it into Canva cloud so it appears in Canva Desktop.

ParametersJSON Schema
NameRequiredDescriptionDefault
ctaNoKUNJUNGI KEDAI ATAU PESAN ONLINE SEKARANG
titleNoArtisan Coffee Masterpiece
subtitleNoRacikan Biji Kopi Arabica Pilihan dengan Aroma Autentik & Tekstur Lembut
import_to_canvaNo

TDQS

B3/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It does disclose the key two-phase behavior (generates an editable PPTX and optionally imports to Canva cloud), which is genuinely useful. However, it omits permissions/auth needs, side effects of overwriting, and what occurs when import_to_canva is false.

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?

Two sentences, front-loaded with the verb, no obvious redundancy. Mild marketing filler ('masterpiece', 'real photography and 40+ vector/text elements') consumes space without adding agent-relevant meaning.

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

Completeness3/5

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

With no annotations, no output schema, and 0% parameter coverage, the description explains the primary output and the optional import but leaves parameter purposes and the resulting artifact's exact location unspecified. Adequate but clearly incomplete for a four-parameter creation tool.

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

Parameters2/5

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

Schema description coverage is 0% across four parameters. The description only indirectly explains import_to_canva via 'optionally imports it into Canva cloud'; the cta, title, and subtitle parameters are never mentioned, leaving most of the schema undocumented.

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

Purpose4/5

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

States a specific verb (Create) and a specific resource (Canva showcase template) and adds concrete output details ('editable PPTX'). It does not, however, differentiate itself from siblings like canva_create_design or canva_make_from_template, so an agent cannot tell from the description alone why 'showcase template' is the right choice.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance and no mention of alternatives. With seven other Canva creation tools in the sibling list, the description never routes the agent to this tool over a generic design creator.

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

canva_exportB

Export a design (png, jpg, pdf, mp4, gif, pptx). Returns download URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
pagesNo
formatNopng
design_idYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, but it does disclose the key behavioral trait that the tool returns download URLs rather than the file bytes. It says nothing about whether exports are synchronous or async, how long they take, or permission requirements, so significant behavioral gaps remain.

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

Conciseness5/5

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

Two short sentences, zero waste, with the action and the return value front-loaded. Nothing could be cut without losing information.

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

Completeness3/5

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

The description covers the return value, which matters since there is no output schema, and it compensates partially for the 0% parameter coverage by listing formats. However, for a 3-parameter tool with no annotations it leaves design_id sourcing, pages semantics, and operational behavior unexplained.

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 0% across all three parameters, so the description must compensate. It usefully enumerates the format values (png, jpg, pdf, mp4, gif, pptx), which the schema's plain-string 'format' field omits, but adds no meaning for 'design_id' or the optional 'pages' parameter.

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

Purpose4/5

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

States a specific verb (export) and resource (design), and lists the output formats, so an agent knows exactly what the tool produces. It doesn't distinguish itself from siblings like canva_get_design or canva_get_pages, but the export/download action is unambiguous.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites (e.g., that a design must exist for the given design_id), and no routing away from alternatives such as canva_get_design or canva_get_pages. Usage is only implied by the verb 'Export'.

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

canva_get_designB

Get design metadata including edit/view URLs and thumbnail.

ParametersJSON Schema
NameRequiredDescriptionDefault
design_idYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full load; it usefully discloses that the response includes edit and view URLs plus a thumbnail, which tells the agent this is a non-mutating lookup returning usable links. It says nothing about permission scopes, behavior on an invalid/missing design_id, or rate limits.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the key return information (edit/view URLs, thumbnail) is placed immediately after the action, so nothing needs trimming or reordering.

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 simple one-parameter read tool with no annotations and no output schema, the description adequately covers what the tool returns and implies read-only access. It is slightly short of complete because it omits how a design_id is obtained and what happens on failure, and it does not enumerate the full set of returned metadata fields.

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 0% and the only parameter, design_id, is undocumented in both the schema and the description. The meaning of a design_id is fairly self-evident, but the description adds no format, sourcing, or example guidance.

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

Purpose4/5

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

States a concrete verb and resource (get design) and names the payload (metadata, edit/view URLs, thumbnail), which separates it from canva_list_designs and canva_get_pages. It never explicitly names those siblings, so an agent must still infer which design-access tool to pick in a given situation.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus canva_get_pages, canva_list_designs, or canva_open_editor, and no stated prerequisites such as needing an existing design_id. Usage is only implied by the verb 'Get'.

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

canva_get_pagesC

List the pages of a design with thumbnails.

ParametersJSON Schema
NameRequiredDescriptionDefault
design_idYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. 'With thumbnails' hints at return content, but it says nothing about read-only safety, auth requirements, whether thumbnails are URLs or inline data, or pagination behavior for large designs.

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?

One short sentence with the resource and the return-value hint front-loaded. Efficient and readable, though it is arguably too terse given the gaps it leaves.

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

Completeness3/5

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

This is a simple one-parameter read tool with no output schema, so the description needn't explain return values in depth, and 'with thumbnails' partially covers that. However, with zero annotations and zero schema coverage, the definition leaves the identifier semantics and any failure/pagination behavior unspecified.

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

Parameters2/5

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

Schema description coverage is 0% and the single required parameter (design_id) has no description in the schema. The description only implies 'a design' is referenced, giving no format, source, or constraints for the identifier, so it fails to compensate for the coverage gap.

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

Purpose4/5

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

The description names a specific verb and resource (list the pages of a design) and adds a return-content hint (with thumbnails), which is enough to distinguish it from canva_get_design and canva_list_designs. It stops short of explicitly contrasting itself with those siblings, so it is clear but not maximally differentiated.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus canva_get_design or canva_export, and no prerequisites or exclusions. The agent must infer usage from the name alone.

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

canva_import_fileC

Import a local PDF/PPTX/AI/PSD/Keynote file as a new editable Canva design.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo
file_pathYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and mostly does not. It discloses the conversion outcome (becomes an editable design) but says nothing about authentication, size/page limits, whether the import is synchronous, failure handling, or where the resulting design lands. For a mutation-style upload tool this is a significant gap.

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?

A single front-loaded sentence with no filler; the verb, input constraint, and outcome come in that order. It is efficient, though arguably terse given the complete absence of schema documentation.

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

Completeness2/5

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

There is no output schema and no annotations, and 0% of parameters are documented in the schema, so the description is the only guidance the agent gets. It covers formats and the end result but omits the optional title parameter, input constraints, and any behavioral caveats, leaving the agent under-informed for a file-import operation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It clarifies that file_path is a local path and which extensions are accepted, which is real value, but it never mentions the optional 'title' parameter or how the design name is derived when title is omitted.

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

Purpose4/5

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

States a specific verb (import), the resource (a local file), the accepted formats, and the outcome (a new editable Canva design). The word 'local' implicitly separates it from canva_import_url, but no sibling is named explicitly, so it stops short of full sibling differentiation.

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

Usage Guidelines3/5

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

Usage is only implied: 'local ... file' hints that canva_import_url is the alternative for remote files, and the formats list tells the agent what inputs are valid. There is no explicit when-to-use/when-not-to-use statement, no prerequisites, and no mention of alternatives.

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

canva_import_urlC

Import a file from a public URL as a new editable Canva design.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
titleYes
mime_typeNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It adds only the 'public URL' constraint and the fact that it creates a new editable design; it says nothing about authentication, supported formats, size limits, failure behavior, or whether an existing design is affected. For an unannotated mutation tool this is a significant gap.

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?

A single, well-formed sentence that front-loads the action and resource with no filler. It is appropriately sized, though brevity here is partly the result of under-specification rather than disciplined editing.

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

Completeness2/5

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

Given a mutation tool with no annotations, no output schema, and three parameters at 0% schema coverage, the description is too thin. It omits permissions, format/limit constraints, and any indication of what a successful import returns or how errors surface.

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

Parameters2/5

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

Schema description coverage is 0% for all three parameters, so the schema provides no meaning. The description only indirectly clarifies 'url' as needing to be public; it says nothing about 'title' or the optional 'mime_type', leaving two of three parameters completely unexplained.

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

Purpose4/5

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

The description states a specific verb (import) and resource (a file from a public URL) and gives the outcome (a new editable Canva design). It implicitly distinguishes itself from the sibling canva_import_file by specifying 'public URL', but it never names that sibling explicitly.

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

Usage Guidelines3/5

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

Usage is only implied: 'public URL' hints that this is the URL-based import path versus a local-file sibling, but there is no explicit when-to-use/when-not-to-use guidance and no alternative is named. An agent must infer the selection criteria.

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

canva_list_brand_templatesC

List brand templates (Canva Pro/Teams/Enterprise).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo

TDQS

C2.9/5.0
Behavior3/5

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

No annotations exist, so the description carries the full behavioral burden. It does add one genuinely useful disclosure — that brand templates require Canva Pro/Teams/Enterprise — but says nothing about read-only nature, pagination, or return shape.

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?

One short, front-loaded sentence with no filler, and the resource is stated immediately. Efficiency is good, though the brevity is partly under-specification rather than tight editing.

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

Completeness2/5

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

For a tool with no annotations, no output schema, and an undocumented parameter, the description is too thin. An agent cannot tell what the query parameter accepts or what the listing returns, which are the two things it would need to invoke this correctly.

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

Parameters2/5

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

Schema description coverage is 0% and the single optional 'query' parameter is undocumented in both schema and description. The description never mentions what query does (name search? filter syntax?), so it fails to compensate for the coverage gap.

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

Purpose4/5

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

States a specific verb and resource (list brand templates) that is distinguishable from the sibling canva_list_designs. However, it does not explicitly name or contrast with that sibling, so the differentiation is left to the reader's inference from the resource noun.

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

Usage Guidelines2/5

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

No guidance on when to choose this tool over canva_list_designs or canva_brand_template_fields, and no mention of the optional query filter. The only context is a plan-tier parenthetical, which is an entitlement note rather than usage direction.

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

canva_list_designsC

Search/list designs in the connected Canva account (cached 10 minutes).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
refreshNo
continuationNo

TDQS

C2.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It does disclose one genuinely useful trait — a 10-minute cache, which signals possible staleness — but omits permissions, pagination behavior for the continuation token, and what 'refresh' actually changes.

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?

A single front-loaded sentence with no wasted words. It is efficient, though arguably too sparse for a 3-parameter tool with pagination and a refresh flag.

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

Completeness2/5

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

With 3 parameters, 0% schema coverage, no annotations, and no output schema, the description leaves key behavior (pagination, refresh semantics, return shape, auth) unaddressed. It is not complete enough for an agent to invoke it confidently.

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

Parameters2/5

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

Schema coverage is 0% for all 3 parameters, so the description must compensate. It only loosely hints at 'query' (via 'Search') and 'refresh' (via the cache note); 'continuation' pagination is entirely unexplained, leaving the semantics of the parameters largely undocumented.

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

Purpose4/5

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

States a specific verb+resource ('Search/list designs') scoped to 'the connected Canva account', which is clear and distinguishable from the get/list siblings. It stops short of explicitly naming alternatives like canva_get_design or canva_list_folder.

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

Usage Guidelines2/5

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

The description gives no when-to-use/when-not guidance and names no alternatives. An agent must infer that this is for broad design search versus the targeted lookup of canva_get_design or the folder scoping of canva_list_folder.

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

canva_list_folderB

List items in a Canva folder ('root' for the top level).

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idNoroot

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It implies a read-only listing but discloses nothing about pagination, ordering, permission requirements, or whether the call is recursive versus single-level.

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

Conciseness5/5

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

A single sentence with no filler, and the key scoping hint ('root') is placed where it is immediately visible. Nothing is wasted.

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

Completeness3/5

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

The tool is simple (one optional parameter, no output schema), and the description covers the core invocation. It still omits what the returned items look like and whether traversal is recursive, which matters for an agent deciding between this and canva_list_designs.

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 coverage is 0% and the single folder_id parameter has no description in the schema. The description compensates partially by explaining the 'root' default value, but it does not clarify whether a folder ID is accepted in another form or what happens for invalid IDs.

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

Purpose4/5

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

States a specific verb (List) and resource (items in a Canva folder), which is clear on its own. It does not, however, distinguish itself from sibling listing tools like canva_list_designs, so an agent must infer the scope difference.

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

Usage Guidelines3/5

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

The parenthetical '(root for the top level)' implies the intended entry point for folder traversal, giving implicit usage guidance. There is no explicit when-to-use vs when-not-to-use statement or mention of alternative listing tools.

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

canva_make_from_templateC

Generate a full original design (instagram_post | story | youtube_thumbnail | presentation) with separate, editable elements, and import it into Canva as a normal editable design. For presentation, body items become slides ("Judul: detail").

ParametersJSON Schema
NameRequiredDescriptionDefault
ctaNo
bodyNo
fontNoMontserrat
titleYes
imagesNo
paletteNobold
out_pathNo~/creative-mcp-designs
subtitleNo
templateYes
import_to_canvaNo

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and does disclose that output is imported into Canva as a normal editable design and that presentation body items become slides. It omits permission/auth requirements, whether an existing design is overwritten, what out_path controls, and any rate-limit or failure behavior, which are meaningful for this operation.

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?

Two compact sentences that front-load the core action and the import side effect. The parenthetical type list and slide rule are useful, though the phrasing is slightly cramped.

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

Completeness2/5

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

For a 10-parameter, side-effecting tool with no annotations and no output schema, the description is thin: most parameters, permissions, and the resulting design identity are unexplained, so an agent cannot call it fully correctly from this text alone.

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

Parameters2/5

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

Schema description coverage is 0% across 10 parameters. The description only adds semantics for body in the presentation case and implies template/title usage; cta, font, palette, images, subtitle, out_path, and import_to_canva are entirely undocumented, so the description does not compensate for the coverage gap.

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

Purpose4/5

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

States a specific verb (generate) and resource (a full original design) and enumerates the supported template types, plus the side effect of importing into Canva. However it does not differentiate itself from close siblings like canva_create_design or canva_autofill, so the agent must infer which to use from context alone.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or alternative guidance is given. The description never mentions canva_autofill, canva_create_design, or canva_create_showcase_template, even though those siblings overlap heavily with generating/importing designs, leaving selection entirely to inference.

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

canva_open_desktopC

Launch or focus the Canva Desktop application installed on this PC. If design_id is supplied, it targets that design.

ParametersJSON Schema
NameRequiredDescriptionDefault
design_idNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It hints at launch-vs-focus semantics and that the app must be installed locally, but says nothing about failure behavior when the app is missing, whether any OS permissions are needed, or what the call returns.

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?

Two short, front-loaded sentences with no filler; the core action leads and the parameter condition follows. Slightly terse rather than padded, which is appropriate here.

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

Completeness3/5

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

For a simple one-parameter local-integration tool this is close to adequate, but with no annotations and no output schema, the description should say more about the local-install prerequisite and what a caller observes on success or failure.

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 0%, so the description must compensate for the lone design_id parameter. It does establish that the parameter is optional and changes the target design, but 'targets that design' is vague about whether it opens, focuses, or navigates to that design.

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

Purpose4/5

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

The description states a specific verb pair (launch/focus) and a concrete resource (the Canva Desktop application installed on this PC), which is far more than a restatement of the name. It does not explicitly contrast itself with nearby siblings like canva_open_editor or desktop_open_url, but an agent can still tell what it does.

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

Usage Guidelines2/5

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

There is no guidance on when to choose this over canva_open_editor, desktop_open_url, or studio_open, which are the plausible alternatives in the sibling list. The only conditional given ('if design_id is supplied') describes parameter behavior, not tool selection.

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

canva_open_editorB

Open a Canva design in the browser on this computer, ready for desktop_* control. Workflow to use ANY element your account has (free or paid plan): desktop_screenshot -> click 'Elements' in the left panel -> desktop_type the search term -> desktop_drag the result onto the page -> desktop_screenshot to verify. Elements marked with a crown are Pro.

ParametersJSON Schema
NameRequiredDescriptionDefault
design_idYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and does disclose an important trait: the design is driven through GUI automation (desktop_* tools) rather than an API. It also warns that crown-marked elements are Pro, a real account limitation. It omits prerequisites (e.g., whether desktop control must be initialized first), auth/ownership requirements, and what happens if the editor is already open.

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?

Purpose is front-loaded in the first sentence, and the workflow sentence is compact and scannable. The element-insertion workflow is somewhat tangential to the act of opening an editor, which keeps it from being maximally tight, but every sentence carries usable information.

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

Completeness3/5

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

There is no output schema or annotation to lean on, so the description must stand alone for a tool whose whole point is opening a local browser session. It covers what to do after opening but leaves the critical 'how do I get design_id' and any prerequisite sequence unaddressed.

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

Parameters2/5

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

The single parameter design_id has 0% schema description coverage, and the description never mentions it or says where to obtain a valid value (e.g., from canva_list_designs or canva_create_design). With only one parameter and no schema help, the description should have compensated and does not.

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

Purpose4/5

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

States a concrete verb and resource ('Open a Canva design in the browser on this computer') and adds a distinguishing trait: it readies the session for desktop_* control, which separates it from the API-style Canva tools. It does not, however, explicitly contrast itself with the sibling 'canva_open_desktop', so the distinction is only implied.

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

Usage Guidelines3/5

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

The description supplies a step-by-step workflow (desktop_screenshot -> click Elements -> desktop_type -> desktop_drag -> verify), which implies the context in which this tool is used. But that is downstream usage of the resulting session, not guidance on when to pick this tool over canva_open_desktop or studio_open, and no preconditions are stated.

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

canva_resizeC

Copy a design into a new size (premium; free plans get a small trial quota, reported in trial_information).

ParametersJSON Schema
NameRequiredDescriptionDefault
widthNo
heightNo
presetNo
design_idYes

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the premium gating and free-trial quota behavior plus a trial_information reference — useful context not derivable elsewhere. It omits the non-destructive/copy semantics' implications (does the original survive? is a new design id returned?) and any auth requirements.

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?

A single efficient sentence, front-loading the core purpose with the pricing caveat correctly subordinated in parentheses. Nothing is wasted, though the brevity is partly under-specification rather than pure tightness.

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

Completeness2/5

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

No annotations, no output schema, and 0% parameter coverage for a 4-param mutation-like tool. The description covers purpose and pricing but leaves the caller without enough to populate width/height/preset correctly or predict the result.

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

Parameters2/5

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

Schema description coverage is 0% for 4 parameters, so the description must compensate — and it does not. It never explains width/height, the preset alternative, or whether dimensions are mutually exclusive with preset, leaving the agent to guess parameter meaning entirely.

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

Purpose4/5

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

States a specific verb+resource+outcome: 'Copy a design into a new size'. An agent can distinguish this from canva_create_design (new from scratch) and canva_export (output file). It does not, however, name a sibling or explicitly contrast resizing with export/autofill.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance relative to alternatives like canva_export or canva_create_design. The premium/trial note is a constraint, not routing guidance, so the agent gets no help deciding between this and adjacent tools.

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

canva_upload_assetC

Upload a local image/video/audio file to the Canva media library.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
file_pathYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, and it discloses almost nothing: no mention of required Canva auth, file size/format limits, whether the upload is additive or can overwrite, or what happens on failure. 'Upload' implies a write/mutation, but that is the only signal.

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?

A single front-loaded sentence with no filler or repetition. It is efficient, though its brevity comes at the cost of the missing guidance noted elsewhere.

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

Completeness2/5

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

For a write tool with no annotations, no output schema, and zero parameter documentation, the description is too thin. An agent cannot tell what file types are accepted, how the asset is named, or what the result looks like after upload.

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

Parameters2/5

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

Schema description coverage is 0%, and the description never addresses the two parameters. It hints that the file must be a local image/video/audio path, which loosely informs file_path, but says nothing about the optional name parameter or that it defaults to null.

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

Purpose4/5

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

The description states a specific verb (upload) and resource (local image/video/audio file into the Canva media library), so the agent knows exactly what happens. It does not differentiate itself from nearby siblings such as canva_import_file or canva_import_url, which is the only gap.

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

Usage Guidelines2/5

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

There is no guidance on when to choose this tool over canva_import_file or canva_import_url, no stated prerequisites, and no exclusion conditions. The agent is left to infer the distinction purely from the name.

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

canva_whoamiA

Show the connected Canva user and the plan capabilities (e.g. autofill, brand templates).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. 'Show' clearly implies a safe read-only introspection and it discloses what comes back (user identity plus plan capabilities), but it says nothing about auth requirements, failure behavior when no account is connected, or rate limits.

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

Conciseness5/5

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

A single front-loaded sentence with the core purpose first and parenthetical examples that cost almost nothing. No filler or restatement of the tool name.

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?

For a trivial zero-parameter read tool with no output schema and no annotations, the description covers the two things an agent needs to know: what identity is reported and what plan capability data accompanies it. Nothing further is required to call it correctly.

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?

The tool takes zero parameters, so the schema baseline of 4 applies; there are no arguments whose semantics need explaining in the description.

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

Purpose4/5

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

Names a specific verb and resource: 'Show the connected Canva user and the plan capabilities', with concrete examples (autofill, brand templates). The purpose is unambiguous and self-evidently distinct from the design/template/asset siblings, though it never explicitly names an alternative.

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

Usage Guidelines3/5

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

There is no explicit when-to-use or when-not-to-use statement, but mentioning plan capabilities like autofill and brand templates implicitly signals it as a pre-flight check before those feature-dependent tools. Usage is left to inference rather than stated.

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

catalogA

ONE call that shows everything usable right now: Canva account capabilities (what your plan allows), recent designs, brand templates, CapCut projects and local media. Results are cached (Canva profile 24h, designs 10m, media 10m) - pass refresh=True to re-fetch.

ParametersJSON Schema
NameRequiredDescriptionDefault
refreshNo

TDQS

A3.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden. It discloses caching behavior (Canva profile 24h, designs 10m, media 10m) and the refresh parameter's effect, which is valuable operational transparency for a tool with no structured annotations. It doesn't cover return format or failure behavior, but the caveats are reasonable.

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

Conciseness3/5

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

The description is relatively short and front-loads the main purpose, but the caching details are presented as a run-on list that could be clearer. Every sentence has a purpose, but the structure is not optimal for a multi-resource catalog tool.

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

Completeness3/5

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

Given no output schema, the description could better explain what the catalog returns and in what format, since an agent needs to know how to parse the results. It also lacks guidance on the relationship to sibling tools like canva_list_designs. The caching info is helpful but the overall picture is incomplete for a tool that aggregates multiple data sources.

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 0% and there is 1 parameter. The description explains refresh=True means 're-fetch', which compensates somewhat for the empty schema property descriptions. However, it doesn't specify the default behavior (currently false per schema) or any format nuances beyond the boolean toggle.

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

Purpose4/5

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

The description states a specific verb+resource with 'ONE call that shows everything usable right now' and enumerates the resources covered (account capabilities, designs, templates, CapCut projects, media). This goes beyond simply restating the 'catalog' name. However, it doesn't explicitly distinguish itself from siblings like canva_list_designs or canva_whoami, though the 'everything in one call' framing implies aggregation.

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

Usage Guidelines3/5

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

Usage is implied: this is a snapshot/overview tool, useful when you need a broad picture rather than specific resources. No explicit when-to-use or when-to-prefer-sibling guidance is provided. The mention of caching and refresh gives some operational context but not selection criteria.

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

desktop_clickC

Click at screen coordinates.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
buttonNoleft
clicksNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and 'Click at screen coordinates.' discloses almost nothing. It says nothing about whether this is a real OS-level input event, which window/application receives the click, whether it requires focus or accessibility permissions, or whether it blocks until completion.

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

Conciseness3/5

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

A single front-loaded sentence with zero waste, but it is terse to the point of under-specification rather than genuinely efficient. Brevity here comes at the cost of missing information rather than from tight editing.

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

Completeness2/5

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

An output schema exists so return values need not be described, which lifts the burden slightly. But for a 4-parameter OS input tool with no annotations and 0% schema coverage, the description leaves the agent without enough to invoke it confidently in edge cases like double-clicks or right-clicks.

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

Parameters2/5

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

Schema description coverage is 0% across 4 parameters, so the description must compensate and does not. It gestures at 'coordinates' (x, y) but says nothing about 'button' (default left) or 'clicks' (double-click behavior), leaving two parameters semantically undocumented anywhere.

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

Purpose4/5

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

States a specific verb ('Click') and resource ('screen coordinates'), which is immediately distinguishable from siblings like desktop_drag, desktop_type, and desktop_scroll. It does not, however, explicitly contrast itself with any sibling, so it stops short of the top band.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of alternatives such as desktop_drag or desktop_hotkey. The agent must infer context entirely on its own.

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

desktop_dragB

Drag and drop from (x1,y1) to (x2,y2) - e.g. an element/clip onto the canvas or timeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
x1Yes
x2Yes
y1Yes
y2Yes
durationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not disclose the coordinate system/units, whether motion is animated, what the 'duration' parameter affects, or what state changes or errors to expect from this UI interaction.

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

Conciseness5/5

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

A single front-loaded sentence that states the action and endpoints first, with a brief illustrative example tacked on. No wasted words.

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

Completeness2/5

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

An output schema exists so return values need no explanation, but with zero annotation coverage and 0% parameter coverage the description is too thin: coordinate semantics, duration behavior, and expected UI effects are all left unspecified for a 5-parameter action tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It does map x1,y1 to the start and x2,y2 to the destination, adding real meaning, but the duration parameter is never mentioned and no units or ranges are given for any parameter.

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

Purpose4/5

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

States a specific action (drag and drop) with the exact endpoints, which clearly distinguishes it from sibling desktop_click (single point) and desktop_scroll. It does not explicitly name or contrast with those siblings, so it stops short of a 5.

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

Usage Guidelines3/5

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

The example 'an element/clip onto the canvas or timeline' implies the usage scenario, but there is no explicit guidance on when to drag versus click, scroll, or type, and no prerequisites or restrictions.

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

desktop_hotkeyC

Press a key combination, e.g. ["ctrl","z"] or ["space"].

ParametersJSON Schema
NameRequiredDescriptionDefault
keysYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not state which application or focused window receives the keystrokes, modifier semantics, or timing behavior — significant gaps for an automation tool.

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?

A single tight sentence with no waste, and the examples are front-loaded to illustrate usage immediately. Appropriately sized for a one-parameter tool.

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

Completeness2/5

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

With no annotations, 0% schema description coverage, and a desktop-automation context where focus/target behavior matters, the definition leaves too much unspecified. The output schema existing does relieve it of describing return values, but the operational context is thin.

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 coverage is 0% for the single 'keys' parameter, so the description must compensate. The inline examples (["ctrl","z"], ["space"]) do convey the array-of-key-string format and modifier ordering, adding real value, but key naming conventions remain undocumented.

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

Purpose4/5

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

States a specific verb and resource ('Press a key combination'), which is unambiguous and distinct from click/type/scroll siblings by nature. However, it doesn't explicitly name or contrast itself against any sibling to help routing.

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

Usage Guidelines2/5

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

No when-to-use, prerequisites, or alternative guidance is given. The examples hint at format but not at the condition under which this tool should be chosen over desktop_type or desktop_click.

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

desktop_open_urlA

Open a URL in the default browser on this computer (e.g. a Canva or CapCut web editor).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose the key behavioral trait — this has a host-side side effect, launching the OS default browser — but says nothing about whether the call blocks, whether it requires the browser to be installed/available, or how failures (no default browser, malformed URL) surface.

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

Conciseness5/5

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

One front-loaded sentence with the action first and the clarifying scope second; no filler.

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 one-parameter, single-side-effect tool with an output schema present, the description covers what an agent needs to decide and invoke. Only the blocking/return behavior is left implicit, which is a minor gap.

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 coverage is 0% for the single `url` parameter, so the schema adds nothing beyond its type. The description partially compensates by giving illustrative URL targets (Canva/CapCut web editors), but adds no format, scheme, or validation guidance.

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

Purpose4/5

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

Specific verb+resource ("Open a URL") plus the destination context ("in the default browser on this computer"), which separates it from browser-based siblings like canva_open_editor or studio_open. It doesn't explicitly name which sibling to prefer, so it stops short of a 5.

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

Usage Guidelines3/5

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

The parenthetical "e.g. a Canva or CapCut web editor" implies the intended scenario (launching a web editor in a local browser), but there is no explicit when-to-use versus canva_open_editor/canva_open_desktop/studio_open, and no exclusions or prerequisites.

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

desktop_screenshotB

Take a screenshot of your screen (to see the CapCut/Canva editor). Coordinates for the other desktop tools are in real screen pixels: divide image coordinates by 'scale'.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_widthNo

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose one real behavioral trait: the image is scaled and a 'scale' divisor converts image coordinates to real screen pixels. It omits other relevant traits such as what format the screenshot is returned in, multi-monitor behavior, or any permission requirement, so it is only partially transparent.

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?

Two tight sentences with the core action front-loaded and no filler. The second sentence drifts slightly toward sibling-tool coordinate semantics, but it is directly derived from this tool's scaled output, so it still earns its place.

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

Completeness3/5

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

No annotations and no output schema mean the description must explain what comes back. It hints at a 'scale' value but never says where that value lives (it is not in the input schema or a documented return), and max_width is left unexplained, leaving the agent short of what it needs to use the output reliably.

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

Parameters2/5

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

The schema has 0% description coverage for the single parameter max_width, and the description never mentions it or explains how it affects the output image. The only coordinate/scale discussion concerns a value that is not even a declared parameter, so the description fails to compensate for the coverage gap.

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

Purpose4/5

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

States a specific verb+resource ('Take a screenshot of your screen') and even names the target context (the CapCut/Canva editor). No sibling offers screenshot capture, so differentiation is implicit rather than stated, which keeps it just under a 5.

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

Usage Guidelines4/5

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

The parenthetical gives a concrete when-to-use trigger (inspecting the editor before interacting), and the second sentence tells the agent how to translate the returned image coordinates for the other desktop_* tools. No when-not guidance or explicit alternative is given, but for a single-purpose capture tool that is a minor gap.

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

desktop_scrollC

Scroll (positive = up).

ParametersJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
amountYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does usefully disclose the direction convention ('positive = up'), which is not derivable from the schema, but it omits scroll units, whether x/y define the scroll target, and what state the action affects.

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

Conciseness3/5

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

The single fragment is front-loaded and wastes no words, but this is under-specification rather than true conciseness; a slightly longer description would earn its place given the undocumented parameters.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but the definition is still incomplete for a three-parameter input with zero schema coverage and no annotations describing safety or effects. Coordinate and unit semantics are missing.

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

Parameters2/5

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

Schema description coverage is 0% and there are three parameters (x, y, amount). The description only partially explains 'amount' via its sign convention; x and y are entirely undocumented in both the schema and the description, leaving their role (coordinates? cursor target?) unknown.

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

Purpose3/5

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

States a specific verb ('Scroll') on the implicitly-named desktop surface, matching the desktop_* sibling family. However, it never says what is being scrolled (window, page, cursor position) or how it differs from desktop_drag, so the purpose is only minimally distinguished from siblings.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance and no mention of alternatives such as desktop_drag or scroll-at-cursor variants. The only hint of usage is the direction convention in parentheses.

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

desktop_typeC

Type text into the focused field.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses the 'focused field' prerequisite, but says nothing about how input is delivered (raw keystrokes vs. paste), whether special characters are supported, timing, or what happens if no field is focused.

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?

A single short, front-loaded sentence with no filler. It is appropriately sized for a simple action, though it is arguably too sparse to be fully informative.

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

Completeness3/5

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

An output schema exists, so return values need not be described, and the tool is a simple single-parameter action. However, with no annotations and no behavioral or usage detail beyond focus, the definition is only minimally complete for an agent automating desktop input.

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

Parameters2/5

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

Schema description coverage is 0% for the single 'text' parameter, so the schema documents nothing beyond the property name. The description merely restates 'type text' and adds no formatting, encoding, or length semantics to compensate for the gap.

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

Purpose4/5

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

The description states a specific verb ('type') and resource ('text') and its target ('the focused field'), which is enough to differentiate it from siblings like desktop_click, desktop_hotkey, and desktop_drag. It stops short of explicitly naming those siblings, so a 4 rather than a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus desktop_hotkey or desktop_click, nor any stated prerequisites. The phrase 'focused field' hints that focus must be established first, but this is a constraint rather than usage routing.

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

studio_openA

Start the bridge and return the Creative Studio dashboard link (designs, video projects, templates, CapCut library, Canva).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose that the call starts a bridge (a side effect) and returns a dashboard link, but says nothing about idempotency, whether the bridge persists, authentication needs, or failure modes for a state-changing setup call.

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

Conciseness5/5

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

A single front-loaded sentence that states the action first and the returned artifact second, with the parenthetical purely as scope detail. No waste.

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 no-parameter tool with no output schema, the description adequately covers both the action and what comes back (a dashboard link). It stops short of explaining whether this must precede the Canva/desktop siblings, which would complete the picture.

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?

The tool takes zero parameters, so the schema-based baseline of 4 applies. There are no parameter semantics for the description to add or omit.

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

Purpose4/5

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

States a specific verb and resource ('Start the bridge') plus the concrete outcome ('return the Creative Studio dashboard link'), and enumerates what the dashboard covers. It is distinguishable from the Canva and desktop siblings, which perform design operations rather than bootstrapping the studio itself.

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

Usage Guidelines3/5

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

The description implies this is an entry/setup step (starting a bridge) but never states when to call it versus the many Canva/desktop siblings, nor any prerequisites or exclusions. Usage is inferable rather than explicit.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 28 tool updatesv0.1.0
    • First observedcache_clear
    • First observedcanva_autofill
    • First observedcanva_brand_template_fields
    • First observedcanva_create_design
    • First observedcanva_create_showcase_template
    • First observedcanva_export
    • First observedcanva_get_design
    • First observedcanva_get_pages
    • First observedcanva_import_file
    • First observedcanva_import_url
    • First observedcanva_list_brand_templates
    • First observedcanva_list_designs
    • First observedcanva_list_folder
    • First observedcanva_make_from_template
    • First observedcanva_open_desktop
    • First observedcanva_open_editor
    • First observedcanva_resize
    • First observedcanva_upload_asset
    • First observedcanva_whoami
    • First observedcatalog
    • First observeddesktop_click
    • First observeddesktop_drag
    • First observeddesktop_hotkey
    • First observeddesktop_open_url
    • First observeddesktop_screenshot
    • First observeddesktop_scroll
    • First observeddesktop_type
    • First observedstudio_open

TDQS

C2.9/5.0

Scored across 28 tools

Disambiguation4/5

Tools are mostly distinct, with clear domain prefixes separating Canva API from desktop automation. Some overlap exists among design-creation tools (make_from_template, create_showcase_template, autofill, create_design) and among opening tools (open_editor vs open_url), but descriptions clarify intended use.

Naming Consistency3/5

All names use snake_case with domain prefixes (canva_, desktop_), which is readable and consistent in casing. However action patterns are mixed: verb_noun (list_designs), verb-only (export, autofill), noun-only (catalog, screenshot), and noun_verb (cache_clear, studio_open).

Tool Count2/5

28 tools exceeds the 25-tool threshold for an overly large set, even for a broad Canva and desktop automation domain. Several desktop automation tools could be consolidated or made optional, making the overall surface feel heavy.

Completeness3/5

Core Canva workflows are covered: create, import, export, autofill, resize, brand templates, and folder listing. Notable gaps remain, such as no delete/update design, no asset listing/deletion, no folder creation or moves, and CapCut operations rely on brittle desktop automation rather than dedicated tools.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server for Canva integration. Connect Claude Code or any MCP-compatible AI client to your Canva account to search designs, generate AI designs, edit content, manage folders, and collaborate through comments.
    2
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to interact with the Canva Connect REST API, supporting design creation, brand template autofill, asset uploads, folder management, and design exports to PDF, PNG, JPG, PPTX, and MP4.
    -