Canva MCP Pro
Provides tools for interacting with Canva Cloud via the Canva Connect REST API, enabling design metadata retrieval, workspace design listing, presentation export, cloud synchronization, asset uploads, brand kit syncing, and reading/auto-fixing review comments.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Canva MCP Probuild a 10-slide pitch deck on Q3 results and audit the taste score"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π Canva MCP Pro (v3.1 Enterprise-Grade)
Canva MCP Pro is an open-source, enterprise-grade Model Context Protocol (MCP) server for autonomous AI presentation generation. It bridges high-fidelity local vector rendering (offline Python-pptx & PIL) with two-way cloud synchronization (Canva Connect REST API), enforced by the Taste-Skill Anti-Slop aesthetic system.
π Key Innovations
Dual-Engine Hybrid Architecture:
Local Vector Engine (100% Offline & Air-gapped): Generates standalone, pixel-perfect 16:9 widescreen PowerPoint decks (
.pptx) with zero dependency on third-party templates.Canva Cloud Connect Engine: Full two-way synchronization with Canva Cloud REST API (
api.canva.com/rest/v1), managing assets, brand kits, and real-time comment feedback loops.
Local Code Sandbox (
canva_execute_layout_script):Allows AI agents to execute local Python/JavaScript code in an isolated sandbox, performing complex vector coordinate math directly on the host machine to save up to 80% of LLM token bandwidth.
Taste-Skill Anti-Slop System:
Automated copy audit against generic AI buzzwords (revolutionary, game-changing, delve, tapestry).
Enforced typography floor: All body text strictly $\ge 24\text{ pt}$ to prevent text overflow and maximize room visibility.
Integrated 57 curated design palettes (
corporate-navy,cool-white-slate,minimal-dark, etc.).
Autonomous Deck-Auditor:
Built-in scanner inspecting text sizes, presenter badges, hard facts, and margin balance, returning a quantified Taste Score (/100).
Enterprise Security & PII Redaction:
Built-in PII Redactor masking sensitive emails, phone numbers, and API tokens in Canva Cloud comments (compliant with GDPR & SOC2).
Dry-Run Safe Preview Mode: Simulates layout modifications and audits aesthetic score before writing to disk.
A2A Protocol (Agent-to-Agent):
Implements Linux Foundation / Google A2A Agent Card specification (
/.well-known/agent.json) allowing external AI Agents (Research, Data, Copywriter) to discover and delegate presentation tasks autonomously.
skills.sh Ecosystem Distribution:
Ready for 1-command installation via
npx skills add leanhduyp/canva-mcp-pro.
1-Click Packaging (
.mcpb):Ships with a pre-packaged single-file distribution bundle (
release/canva-mcp-pro.mcpb) for instant drag-and-drop installation into Claude Desktop.
Related MCP server: Canva MCP Server
π Architecture Overview
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Antigravity IDE / Claude Desktop / Cursor β
β 4 Agentic Skills (canva-deck-builder, etc.) β
ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ
β stdio / JSON-RPC 2.0
ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββ
β Canva MCP Pro Server v3.0 β
β βββββββββββββββββ¬ββββββββββββββββββββββββββββββ β
β β Visual Tools β Connect Tools & Cloud Loop β β
β β (5 Tools) β (8 Tools) β β
β βββββββββββββββββΌββββββββββββββββββββββββββββββ€ β
β β Taste Tools β Local Code Sandbox β β
β β (8 Tools) β (Python / JavaScript) β β
β βββββββββββββββββ΄ββββββββββββββββββββββββββββββ β
ββββββββββββββββ¬ββββββββββββββββββββββββ¬βββββββββββββββ
β β
ββββββββββββββββΌβββββββ ββββββββββββββββΌβββββββββββββββ
β Local Python Engine β β Canva Connect REST API β
β (100% Offline PPTX) β β (api.canva.com/rest/v1) β
ββββββββββββββββ¬βββββββ ββββββββββββββββ¬βββββββββββββββ
β β
ββββββββββββββββΌβββββββ ββββββββββββββββΌβββββββββββββββ
β .pptx Presentations β β Canva Cloud Designs, β
β High-Res PNG Previewsβ β Comments & Cloud Present β
βββββββββββββββββββββββ ββββββββββββββββββββββββββββββββ‘ Quick Start
Prerequisites
Node.js $\ge 18.0.0$
Python $\ge 3.10$ with
python-pptxandPillow:pip install python-pptx Pillow
Installation
# Clone the repository
git clone https://github.com/leanhduyp/canva-mcp-pro.git
cd canva-mcp-pro
# Install dependencies and build
npm install
npm run build
# Run environment diagnostics
npm run diagnoseπ§ Client Configuration
1. Antigravity IDE (mcp_config.json)
{
"mcpServers": {
"canva-mcp-pro": {
"command": "node",
"args": ["<PATH_TO_CANVA_MCP_PRO>/dist/index.js"],
"env": {
"CANVA_ACCESS_TOKEN": "YOUR_OPTIONAL_CANVA_TOKEN"
}
}
}
}2. Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"canva-mcp-pro": {
"command": "node",
"args": ["/absolute/path/to/canva-mcp-pro/dist/index.js"]
}
}
}Or simply drag and drop the release/canva-mcp-pro.mcpb bundle directly into Claude Desktop Settings!
π§° MCP Tool Catalog (21 Tools)
# | Tool Name | Group | Functionality |
1 |
| Visual | Hero Metrics $56\text{ pt}$, state tags, diagnostic insight boxes $\ge 24\text{ pt}$. |
2 |
| Visual | 4β5 scenario comparison columns with highlighted hero border. |
3 |
| Visual | Dual-panel parallel architecture stream + bottom takeaway banner. |
4 |
| Visual | Ingests raw CSV/JSON, auto-selects best layout, and outputs a complete deck. |
5 |
| Visual | Local code sandbox (Python/JS) for batch vector math and coordinate calculation. |
6 |
| Connect | Fetches Canva Cloud design metadata (id, title, page count, URLs). |
7 |
| Connect | Searches and lists presentations in the user's Canva Workspace. |
8 |
| Connect | Exports Canva presentation to PPTX, PDF, PNG, or JPG. |
9 |
| Connect | Synchronizes local deck state with Canva Cloud, generating present mode URL. |
10 |
| Connect | Uploads images to Canva Enterprise Asset library ( |
11 |
| Connect | Fetches brand colors and fonts from Canva Brand Kit directly into palettes. |
12 |
| Connect | Reads comments and reviewer feedback directly from Canva Cloud. |
13 |
| Connect | Parses review comments and updates slide engine layouts automatically. |
14 |
| Taste | Queries 57 curated design palettes ( |
15 |
| Taste | Anti-slop copy validator detecting vague marketing buzzwords. |
16 |
| Taste | Exports crisp $1280 \times 720$ PNG previews of any slide. |
17 |
| Taste | Comprehensive presentation quality inspector checking typography, badges, and facts. |
18 |
| Taste | Unified dispatcher supporting 9 specialized AI/ML slide layouts. |
19 |
| Taste | Horizontal sequential roadmap (3β5 steps) with rounded number badges. |
20 |
| Taste | $2 \times 2$ SWOT grid with brand-aligned quadrant colors. |
21 |
| Taste | Professional team card grid ($2 \times 2$ or $3 \times 2$) with initials avatar circles. |
π§ Integrated Agentic Skills (skills/)
canva-deck-builder: 5-step operational workflow to convert raw outlines into polished presentation decks.canva-brand-auditor: Rigorous quality assurance scoring decks against font size floor ($\ge 24\text{ pt}$), presenter badges, and anti-slop copy.canva-swot-analyst: Strategic SWOT matrix designer with balanced quadrant typography.canva-kpi-dashboard: High-impact metric dashboard designer featuring $56\text{ pt}$ hero values.
π‘οΈ Enterprise Security & Safety
Canva MCP Pro v3.1 introduces enterprise-grade safety mechanisms inspired by high-assurance AI agents:
PII Masking & Redaction Engine (
src/utils/pii-redactor.ts):Automatically sanitizes sensitive user details (Emails:
m***y@enterprise-ai.vn, Phone numbers:[REDACTED_PHONE], Secret tokens:[REDACTED_SECRET_KEY]) when reading Canva review comments.
Dry-Run Safe Preview Mode (
preview_mode: true):In
canva_auto_fix_from_comment, passingpreview_mode: truereturns a complete layout diff, planned color palette, and predicted Taste score without mutating the original PowerPoint file.
OAuth 2.1 Specification Metadata:
Run
npm run oauthto inspect Canva OAuth 2.1 authorization and token endpoints supporting PKCE (S256) code challenge methods.
π€ A2A Protocol & Agent Card
Canva MCP Pro is an autonomous presentation agent adhering to the Agent-to-Agent (A2A) Protocol:
Agent Card URL:
/.well-known/agent.jsonInspect via CLI:
npm run agent-card
π¦ Install via skills.sh
Add all 4 presentation skills to your AI agent with a single command:
npx skills add leanhduyp/canva-mcp-proπ§ͺ Testing & Evaluation
Canva MCP Pro includes a comprehensive automated evaluation suite containing 30 XML QA test cases covering every tool, schema, and aesthetic rule:
npm testExpected output:
=================================================
π KHα»I CHαΊ Y Bα» ΔΓNH GIΓ CANVA MCP PRO v3.0
=================================================
π¦ MCP Tool Registry : 21/21 Tools Ready
π§ Agentic Skills : 4/4 Skills Verified
β XML Evaluation QA Pairs : 30/30 PASSED (100.0%)
π¨ Design Palettes : 57 Curated Palettes
π¦ 1-Click Bundle (.mcpb) : release/canva-mcp-pro.mcpb (84.7 KB)
=================================================
π STATUS: 100% PRODUCTION READY!π License & Disclaimer
License: Released under the MIT License.
Disclaimer: This open-source project is an independent community development using public APIs and the Model Context Protocol (MCP). It is not affiliated with, endorsed by, or sponsored by Canva Pty Ltd or Microsoft Corp. Canva is a registered trademark of Canva Pty Ltd.
Available Tools
21 toolscanva_add_card_comparisonAdd Card Comparison Matrix SlideBIdempotent
TαΊ‘o slide so sΓ‘nh Δa kα»ch bαΊ£n (vΓ dα»₯ E1-E4) dΓ n 4 thαΊ» cα»t trα»±c quan vα»i huy hiα»u nα»i bαΊt (Hero Highlight), mΓ u sαΊ―c nhαΊn diα»n vΓ tΓ³m tαΊ―t kαΊΏt luαΊn.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | TiΓͺu Δα» slide | |
| columns | Yes | Danh sΓ‘ch tα»« 2 ΔαΊΏn 4 cα»t so sΓ‘nh | |
| presenter | No | TΓͺn ngΖ°α»i trΓ¬nh bΓ y | |
| slide_number | Yes | Vα» trΓ slide | |
| bottom_takeaway | No | KαΊΏt luαΊn tα»ng hợp dΖ°α»i chΓ’n slide | |
| presentation_path | Yes | ΔΖ°α»ng dαΊ«n tα»p .pptx |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false). The description adds visual behavior (hero highlight, brand colors, conclusion footer) beyond that, which is genuinely useful, but it never says what happens at slide_number β whether an existing slide is overwritten or a new one is inserted β which is the key behavioral concern for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence that front-loads the action (create a comparison slide) and then the visual characteristics. No filler, though the clause about brand colors is somewhat decorative rather than actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters at full schema coverage and no output schema, the definition is broadly callable, but for a tool that writes into a presentation file it omits whether presentation_path must already exist and whether slide_number inserts or overwrites. Those gaps matter for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains title, columns, is_hero, bottom_takeaway and slide_number. The description only loosely maps its layout narrative onto those fields and adds no syntax or formatting detail beyond them, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource: creating a multi-scenario comparison slide laid out as 2-4 column cards with a hero highlight, brand colors and a bottom takeaway. That is concrete enough to distinguish it from siblings like canva_add_swot_matrix or canva_add_process_timeline, though the differentiation is only implicit through the described layout rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The example 'E1-E4' implies the use case (comparing parameter scenarios side by side), giving implied usage guidance. There is no explicit when-to-use/when-not-to-use, no mention of the alternative matrix-style tools, and no prerequisites such as the target .pptx needing to exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_add_kpi_dashboardAdd KPI Metric Dashboard SlideBIdempotent
TαΊ‘o hoαΊ·c cαΊp nhαΊt mα»t slide trong bΓ i thuyαΊΏt trΓ¬nh theo bα» cα»₯c Dashboard cΓ‘c chα» sα» lα»n (Hero Metrics 56pt), trα»±c quan, kΓ¨m cΓ‘c hα»p nhαΊn Δα»nh Overfitting/Δα»nh hΖ°α»ng chuyΓͺn sΓ’u (cα»‘ chα»― >= 24pt).
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | TiΓͺu Δα» slide | |
| presenter | No | TΓͺn ngΖ°α»i trΓ¬nh bΓ y hiα»n thα» huy hiα»u gΓ³c trΓͺn bΓͺn phαΊ£i | |
| kpi_metrics | Yes | Danh sΓ‘ch tα»« 2 ΔαΊΏn 4 chα» sα» KPI lα»n dΓ n hΓ ng ngang | |
| slide_number | Yes | Vα» trΓ slide (tΓnh tα»« 1) | |
| diagnostic_boxes | No | Tα»i Δa 2 hα»p chαΊ©n ΔoΓ‘n phΓ’n tΓch phΓa dΖ°α»i | |
| subtitle_context | No | Thanh ngα»― cαΊ£nh tΓ³m tαΊ―t bα»i cαΊ£nh thiαΊΏt lαΊp ΔαΊ§u vΓ o | |
| presentation_path | Yes | ΔΖ°α»ng dαΊ«n tα»p .pptx bΓ i thuyαΊΏt trΓ¬nh |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and idempotentHint=true, so the safety profile is covered. The description adds layout constraints (56pt hero metrics, >=24pt diagnostic text, Overfitting/direction boxes) but does not say what happens when a slide already exists at slide_number β the 'cαΊp nhαΊt' path that matters most for a write tool β nor anything about permissions or overwrite scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the action and then qualifies the layout and typography constraints. No filler or repetition, though the parenthetical font-size details make it dense and harder to scan than it needs to be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter write tool with no output schema, the description covers purpose and visual constraints but leaves the update/overwrite behavior and the resulting slide content unstated. Annotations carry the safety signal, so the remaining gap is not severe, but it is not complete for a tool that can replace an existing slide.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so every parameter is already documented in structured form and the baseline is 3. The description adds a little semantic color by indicating what diagnostic_boxes should contain (Overfitting assessments / forward-looking direction), but gives no guidance on title, presenter, subtitle_context, or how kpi_metrics ordering maps to the hero row.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb pair ('TαΊ‘o hoαΊ·c cαΊp nhαΊt') plus the resource ('slide trong bΓ i thuyαΊΏt trΓ¬nh') and pins down the exact layout being produced ('Dashboard cΓ‘c chα» sα» lα»n (Hero Metrics 56pt)'). That level of layout specificity effectively distinguishes it from siblings such as canva_add_swot_matrix or canva_add_process_timeline, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the layout name: an agent can infer this is for KPI/metric-centric slides. There is no statement of when to prefer it over canva_generate_deck_from_data, canva_add_tasteful_slide, or other layout tools, and no when-not conditions. 'TαΊ‘o hoαΊ·c cαΊp nhαΊt' does at least signal it is safe to reuse for an existing slide position.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_add_process_timelineAdd Process Timeline Slide (Step 1 Layout)BIdempotent
Dα»±ng lα» trΓ¬nh tiαΊΏn trΓ¬nh ngang (Roadmap 3β5 bΖ°α»c) vα»i cΓ‘c khα»i thαΊ» bo gΓ³c, sα» thα»© tα»± hΓ¬nh trΓ²n (rounded/oval number badges), ΔΖ°α»ng nα»i vector pulse giα»―a cΓ‘c bΖ°α»c, cα»‘ chα»― >= 24pt vΓ huy hiα»u NgΖ°α»i trΓ¬nh bΓ y 'LΓͺ Anh Duy' (44pt, Cyan #00B0F0).
| Name | Required | Description | Default |
|---|---|---|---|
| steps | Yes | Danh sΓ‘ch tα»« 3 ΔαΊΏn 5 bΖ°α»c lα» trΓ¬nh | |
| title | Yes | TiΓͺu Δα» slide | |
| design_id | No | ID thiαΊΏt kαΊΏ Canva Cloud (vΓ dα»₯: DAHaKPDSZSI) nαΊΏu Δα»i chiαΊΏu cloud | |
| presenter | No | Huy hiα»u ngΖ°α»i trΓ¬nh bΓ y gΓ³c trΓͺn bΓͺn phαΊ£i (44pt, Cyan #00B0F0) | LΓͺ Anh Duy |
| palette_id | No | ID bαΊ£ng mΓ u tα»« taste-skill (mαΊ·c Δα»nh 'corporate-navy') | corporate-navy |
| slide_number | No | Vα» trΓ slide (tΓnh tα»« 1) | |
| bottom_takeaway | No | KαΊΏt luαΊn / Lα» trΓ¬nh hΓ nh Δα»ng dΖ°α»i ΔΓ‘y (>= 24pt) | |
| export_thumbnail | No | Tα»± Δα»ng xuαΊ₯t αΊ£nh thumbnail PNG xem trΖ°α»c | |
| subtitle_context | No | Thanh ngα»― cαΊ£nh tΓ³m tαΊ―t bα»i cαΊ£nh | |
| presentation_path | No | ΔΖ°α»ng dαΊ«n tα»p .pptx bΓ i thuyαΊΏt trΓ¬nh (mαΊ·c Δα»nh lαΊ₯y active deck) | C:/Users/mrduy/Documents/AI/my_quest/thuyet_trinh/Bao_Cao_Chu_De11.pptx |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, so the write/idempotency profile is covered. The description adds genuinely useful design-side behavior (rounded card blocks, pulse connector vectors, >=24pt font floor, fixed presenter badge styling at 44pt Cyan #00B0F0), but it omits the persistence behavior: that a slide is appended to a .pptx at presentation_path and that a PNG thumbnail is exported by default. Those are the traits an agent most needs beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with the purpose first, which is good. But it is heavily loaded with styling parentheticals and bilingual glosses ('rounded/oval number badges') that crowd out operational information, and it compresses a spec-sized amount of detail into a run-on line rather than separating layout from side effects.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter layout generator with full schema coverage, annotations and no output schema, the description covers the visual contract (steps, badges, connectors, typography, fixed presenter badge) pretty thoroughly. What is missing is operational context: where the slide lands, whether it appends to an existing deck, and what happens on export_thumbnail. Without an output schema, that gap keeps it short of a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces a few semantics β the 3β5 step count, the presenter badge text/size/color tied to the 'presenter' param, and the >=24pt typography applied to step labels and descriptions β but adds little that the schema does not already document, and says nothing about non-visual params like design_id, palette_id or presentation_path.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Dα»±ng lα» trΓ¬nh tiαΊΏn trΓ¬nh ngang (Roadmap 3β5 bΖ°α»c)' β i.e. it builds a horizontal process/roadmap slide, which an agent can distinguish from a KPI dashboard or SWOT matrix by the outcome described. However, it never names any sibling tool (canva_add_split_architecture, canva_add_tasteful_slide, etc.), so the differentiation is inferred from the artifact type rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no exclusions. With roughly 20 sibling canva_add_*/slide-building tools, the agent gets no routing signal for choosing this layout over e.g. canva_add_split_architecture or canva_execute_layout_script. The '3β5 bΖ°α»c' constraint is the only selection hint, and it duplicates the schema's minItems/maxItems.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_add_split_architectureAdd Split Architecture 2-Panel SlideAIdempotent
TαΊ‘o slide kiαΊΏn trΓΊc hoαΊ·c quy trΓ¬nh phΓ’n tΓ‘ch 2 Panel trα»±c quan (vΓ dα»₯: HΓ m 1 vs HΓ m 2, hoαΊ·c Quy tαΊ―c dung sai vs ΔΓ‘nh giΓ‘ Test Δα»c lαΊp) vα»i viα»n bo gΓ³c vΓ banner kαΊΏt luαΊn chΓ’n trang.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | TiΓͺu Δα» slide | |
| presenter | No | TΓͺn ngΖ°α»i trΓ¬nh bΓ y | |
| left_panel | Yes | ||
| right_panel | Yes | ||
| slide_number | Yes | Vα» trΓ slide | |
| bottom_banner | No | ||
| presentation_path | Yes | ΔΖ°α»ng dαΊ«n tα»p .pptx |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare that this is a non-read-only, idempotent, non-destructive operation. The description adds useful visual behavior details such as rounded borders and a footer conclusion banner, but it does not explain how slide insertion works, whether existing content is replaced, or what the tool returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that efficiently names the slide type, the two-panel structure, and the visual treatment. The examples add useful specificity without excessive repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a fairly complex tool with seven parameters, nested panel objects, and no output schema, the description covers the visual intent but leaves important operational details unstated. It is adequate for identifying the layout but incomplete for predicting mutation behavior and parameter constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 57%, so the schema does document many fields. The description adds semantic meaning for the two panels and the bottom conclusion banner, but it does not clarify presenter placement, slide numbering behavior, or constraints on the nested point lists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific creation action and resource: a visual 2-panel split architecture or process slide. It clarifies the format with concrete examples, though it does not explicitly differentiate itself from sibling tools such as canva_add_card_comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete usage examples, such as comparing two functions or contrasting a tolerance rule with independent test evaluation. It provides clear context for when this layout applies but does not name alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_add_swot_matrixAdd SWOT Matrix Slide (Step 1 Layout)AIdempotent
Dα»±ng ma trαΊn 4 Γ΄ (2x2 Grid) bo gΓ³c vα»i 4 mΓ u sαΊ―c trα»±c quan ΔαΊ‘i diα»n cho Strengths (Xanh lα»₯c), Weaknesses (Δα» hα»ng), Opportunities (Xanh lam), Threats (Hα» phΓ‘ch), tα»± Δα»ng cΔn chα»nh lα», cα»‘ chα»― >= 24pt vΓ huy hiα»u NgΖ°α»i trΓ¬nh bΓ y 'LΓͺ Anh Duy' (44pt, Cyan #00B0F0).
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | TiΓͺu Δα» slide | |
| threats | Yes | Danh sΓ‘ch cΓ‘c ThΓ‘ch thα»©c (Threats, 1-3 gαΊ‘ch ΔαΊ§u dΓ²ng) | |
| design_id | No | ID thiαΊΏt kαΊΏ Canva Cloud (vΓ dα»₯: DAHaKPDSZSI) nαΊΏu Δα»i chiαΊΏu cloud | |
| presenter | No | Huy hiα»u ngΖ°α»i trΓ¬nh bΓ y gΓ³c trΓͺn bΓͺn phαΊ£i (44pt, Cyan #00B0F0) | LΓͺ Anh Duy |
| strengths | Yes | Danh sΓ‘ch cΓ‘c Δiα»m mαΊ‘nh (Strengths, 1-3 gαΊ‘ch ΔαΊ§u dΓ²ng) | |
| palette_id | No | ID bαΊ£ng mΓ u tα»« taste-skill (mαΊ·c Δα»nh 'corporate-navy') | corporate-navy |
| weaknesses | Yes | Danh sΓ‘ch cΓ‘c Δiα»m yαΊΏu (Weaknesses, 1-3 gαΊ‘ch ΔαΊ§u dΓ²ng) | |
| slide_number | No | Vα» trΓ slide (tΓnh tα»« 1) | |
| opportunities | Yes | Danh sΓ‘ch cΓ‘c CΖ‘ hα»i (Opportunities, 1-3 gαΊ‘ch ΔαΊ§u dΓ²ng) | |
| bottom_takeaway | No | KαΊΏt luαΊn / ChiαΊΏn lược tα»ng thα» dΖ°α»i ΔΓ‘y (>= 24pt) | |
| export_thumbnail | No | Tα»± Δα»ng xuαΊ₯t αΊ£nh thumbnail PNG xem trΖ°α»c | |
| subtitle_context | No | Thanh ngα»― cαΊ£nh tΓ³m tαΊ―t bα»i cαΊ£nh | |
| presentation_path | No | ΔΖ°α»ng dαΊ«n tα»p .pptx bΓ i thuyαΊΏt trΓ¬nh (mαΊ·c Δα»nh lαΊ₯y active deck) | C:/Users/mrduy/Documents/AI/my_quest/thuyet_trinh/Bao_Cao_Chu_De11.pptx |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly=false, idempotent=true, destructive=false, and the description adds real behavioral detail beyond that: fixed per-quadrant colors, auto-aligned margins, a minimum 24pt body font, and a hardcoded presenter badge at 44pt Cyan #00B0F0. It does not disclose the write surface, i.e. that content is written into the .pptx at presentation_path and that the slide is placed at slide_number, nor whether an existing slide there is replaced or pushed down.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single very dense sentence that front-loads the verb and artifact, which is good, but it chains many visual specs together without structure and redundantly restates the presenter badge value 'LΓͺ Anh Duy (44pt, Cyan #00B0F0)' that already lives in the schema default and description. Nothing is filler, yet the packing makes the color/typography rules hard to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 12 parameters, 5 required and no output schema, the description covers what the slide looks like but not the operation's effect on the deck: insertion vs. overwrite at slide_number, whether export_thumbnail writes an extra artifact, or that a local .pptx path is modified. An agent could construct the call but would be guessing about side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across 12 parameters, so the schema already explains title, the four bullet arrays, presenter, palette_id, and presentation_path; the baseline is therefore 3. The description reinforces content semantics by mapping each quadrant to a color, but adds no constraints beyond the schema (e.g., it doesn't reconcile the fixed green/red/blue/amber colors with palette_id='corporate-navy', which is a latent ambiguity an agent could trip on).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb and artifact: 'Dα»±ng ma trαΊn 4 Γ΄ (2x2 Grid) bo gΓ³c' with four color-coded SWOT quadrants, which is clearly distinct from sibling layout tools such as canva_add_card_comparison or canva_add_split_architecture. It stops short of explicitly naming which sibling it replaces, so an agent must infer the SWOT-vs-other-layout choice from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance appears in the description; the only signal is the title's '(Step 1 Layout)' marker, which implies this is the first step of a deck-building workflow. It never states prerequisites (e.g., that a deck/presentation_path must already exist) or what to call for non-SWOT slides.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_add_tasteful_slideAdd Tasteful Slide (9 Layouts + Anti-Slop + Auto-Thumbnail)BIdempotent
TαΊ‘o hoαΊ·c nΓ’ng cαΊ₯p slide trΓ¬nh chiαΊΏu Γ‘p dα»₯ng trα»±c tiαΊΏp 57 bαΊ£ng mΓ u cao cαΊ₯p tα»« taste-skill, bα» quy chuαΊ©n Anti-Slop copy, cα»‘ chα»― tα»i thiα»u >= 24pt, hα» trợ 9 kiα»u bα» cα»₯c chuyΓͺn dα»₯ng cho AI/ML vΓ tα»± Δα»ng xuαΊ₯t αΊ£nh thumbnail xem trΖ°α»c.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | TiΓͺu Δα» chΓnh slide (chuαΊ©n >= 35pt bold) | |
| columns | No | DΓΉng cho bα» cα»₯c card_comparison | |
| design_id | No | ID thiαΊΏt kαΊΏ Canva Cloud (vΓ dα»₯: DAHaKPDSZSI) nαΊΏu Δα»i chiαΊΏu cloud | |
| presenter | No | TΓͺn ngΖ°α»i trΓ¬nh bΓ y hiα»n thα» huy hiα»u Cyan (#00B0F0, 44pt) gΓ³c trΓͺn phαΊ£i | LΓͺ Anh Duy |
| swot_data | No | DΓΉng cho bα» cα»₯c swot_matrix (ma trαΊn 2x2 bo gΓ³c vα»i 4 mΓ u ΔαΊ‘i diα»n) | |
| left_panel | No | DΓΉng cho bα» cα»₯c split_architecture | |
| palette_id | No | ID bαΊ£ng mΓ u tα»« taste-skill (vΓ dα»₯: 'corporate-navy', 'cool-white-slate', 'white-link-blue') | corporate-navy |
| kpi_metrics | No | DΓΉng cho bα» cα»₯c kpi_dashboard | |
| layout_type | Yes | Kiα»u bα» cα»₯c slide: kpi_dashboard, card_comparison, split_architecture, pipeline_flow, confusion_matrix, native_chart, process_timeline, swot_matrix, team_grid | |
| right_panel | No | DΓΉng cho bα» cα»₯c split_architecture | |
| slide_number | No | Vα» trΓ slide (tΓnh tα»« 1) | |
| team_members | No | DΓΉng cho bα» cα»₯c team_grid (lΖ°α»i thαΊ» tα»« 2 ΔαΊΏn 6 thΓ nh viΓͺn) | |
| bottom_banner | No | DΓΉng cho bα» cα»₯c split_architecture | |
| pipeline_steps | No | DΓΉng cho bα» cα»₯c pipeline_flow | |
| timeline_steps | No | DΓΉng cho bα» cα»₯c process_timeline (tα»« 3 ΔαΊΏn 5 bΖ°α»c) | |
| bottom_takeaway | No | KαΊΏt luαΊn hΓ nh Δα»ng dΖ°α»i ΔΓ‘y (>= 24pt) | |
| diagnostic_boxes | No | DΓΉng cho bα» cα»₯c kpi_dashboard | |
| export_thumbnail | No | Tα»± Δα»ng xuαΊ₯t αΊ£nh thumbnail PNG xem trΖ°α»c vΓ o Artifacts | |
| subtitle_context | No | DΓ²ng tΓ³m tαΊ―t bα»i cαΊ£nh hoαΊ·c thanh dαΊ«n nhαΊp phΓa trΓͺn (>= 24pt) | |
| native_chart_data | No | DΓΉng cho bα» cα»₯c native_chart | |
| presentation_path | No | ΔΖ°α»ng dαΊ«n tα»p .pptx bΓ i thuyαΊΏt trΓ¬nh (mαΊ·c Δα»nh lαΊ₯y active deck Bao_Cao_Chu_De11.pptx) | C:/Users/mrduy/Documents/AI/my_quest/thuyet_trinh/Bao_Cao_Chu_De11.pptx |
| confusion_matrix_data | No | DΓΉng cho bα» cα»₯c confusion_matrix |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish non-read-only, idempotent, non-destructive behavior. Beyond that, the description discloses a genuine side effect not captured in annotations: automatic export of a PNG preview thumbnail into Artifacts. It still omits critical behavior for a write tool: which file is written, whether an existing slide at slide_number is overwritten, and whether the slide is appended to a deck or created in isolation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, front-loaded sentence that leads with the action and then stacks the differentiators; nothing is repeated. It is dense and contains soft marketing adjectives ("cao cαΊ₯p") that slightly dilute an otherwise efficient statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 22 parameters but only 2 required and full schema description coverage per layout, the description carries the right amount: the design-system constraints, the layout set, and the thumbnail side effect. The remaining details (which layout parameters to supply) live correctly in the schema, and no output schema needs explaining.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema itself labels each layout-specific parameter with its target layout ("DΓΉng cho bα» cα»₯c card_comparison", etc.), so the baseline of 3 applies. The description adds only the palette-source and minimum-font conventions, not per-parameter meaning beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ("TαΊ‘o hoαΊ·c nΓ’ng cαΊ₯p slide trΓ¬nh chiαΊΏu") and adds distinctive attributes: 57 palettes from taste-skill, Anti-Slop copy rules, >=24pt minimum type, 9 layout types, auto thumbnail export. The purpose is unmistakable. However, it never distinguishes this unified tool from the many layout-specific siblings (canva_add_kpi_dashboard, canva_add_card_comparison, canva_add_swot_matrix, canva_add_team_grid, canva_add_process_timeline, canva_add_split_architecture), which cover overlapping ground.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 agent is not told whether to prefer this consolidated tool or the per-layout siblings, nor under what conditions. The phrase "TαΊ‘o hoαΊ·c nΓ’ng cαΊ₯p" implies both creation and modification but does not say how upgrade mode is triggered or what identifies the slide to upgrade.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_add_team_gridAdd Team Grid Slide (Step 1 Layout)BIdempotent
Dα»±ng lΖ°α»i thαΊ» card giα»i thiα»u nhΓ’n sα»± / thΓ nh viΓͺn (2 ΔαΊΏn 6 ngΖ°α»i) cΓ’n Δα»i, hα» trợ khung chα»©a αΊ£nh ΔαΊ‘i diα»n hΓ¬nh trΓ²n (circular ellipse clip mask), chα»©c danh, tiα»u sα» (>= 24pt) vΓ huy hiα»u NgΖ°α»i trΓ¬nh bΓ y 'LΓͺ Anh Duy' (44pt, Cyan #00B0F0).
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | TiΓͺu Δα» slide | |
| members | Yes | Danh sΓ‘ch tα»« 2 ΔαΊΏn 6 thΓ nh viΓͺn trong Δα»i ngΕ© | |
| design_id | No | ID thiαΊΏt kαΊΏ Canva Cloud (vΓ dα»₯: DAHaKPDSZSI) nαΊΏu Δα»i chiαΊΏu cloud | |
| presenter | No | Huy hiα»u ngΖ°α»i trΓ¬nh bΓ y gΓ³c trΓͺn bΓͺn phαΊ£i (44pt, Cyan #00B0F0) | LΓͺ Anh Duy |
| palette_id | No | ID bαΊ£ng mΓ u tα»« taste-skill (mαΊ·c Δα»nh 'corporate-navy') | corporate-navy |
| slide_number | No | Vα» trΓ slide (tΓnh tα»« 1) | |
| bottom_takeaway | No | KαΊΏt luαΊn / NΔng lα»±c Δα»i ngΕ© dΖ°α»i ΔΓ‘y (>= 24pt) | |
| export_thumbnail | No | Tα»± Δα»ng xuαΊ₯t αΊ£nh thumbnail PNG xem trΖ°α»c | |
| subtitle_context | No | Thanh ngα»― cαΊ£nh tΓ³m tαΊ―t bα»i cαΊ£nh | |
| presentation_path | No | ΔΖ°α»ng dαΊ«n tα»p .pptx bΓ i thuyαΊΏt trΓ¬nh (mαΊ·c Δα»nh lαΊ₯y active deck) | C:/Users/mrduy/Documents/AI/my_quest/thuyet_trinh/Bao_Cao_Chu_De11.pptx |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, so the safety profile is covered for free. The description adds genuinely useful visual behavior (circular clip mask, minimum 24pt body text, 44pt cyan presenter badge), which tells the agent what the rendered output will look like. It omits operational behavior the annotations do not cover: that the slide is written into a .pptx at presentation_path, how slide_number insertion affects existing slides, and that a thumbnail PNG is exported by default.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that opens with the primary action and then qualifies it with layout specifics; nothing is redundant or padded. It is dense with styling constants, but each clause conveys a real constraint on the produced slide.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter slide-construction tool with no output schema, the description covers the core layout and the visual result adequately, and full schema coverage handles the remaining parameters. What is missing is where the output lands (which deck, which slide position) and the thumbnail export side effect, which the agent would only learn by reading the parameter list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every one of the 10 parameters already carries its own documentation and the baseline is 3. The description reinforces the member-count constraint and the presenter badge defaults, but adds no syntax, format or edge-case detail (e.g. what happens with duplicate names, how avatarUrl failures are handled) beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete action and artifact: building a grid of team-member introduction cards holding 2-6 people, with circular avatar clip masks, roles, bios and a presenter badge. That is far more specific than the name alone. It does not, however, distinguish this tool from the many sibling slide-builders (canva_add_card_comparison, canva_add_swot_matrix, canva_add_split_architecture, canva_add_tasteful_slide), so an agent cannot tell from the text alone which layout tool this replaces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 guidance and no named alternative, even though the sibling list contains at least four other 'add slide' tools. The 2-6 member constraint implies the intended scenario (team/people slides) but that is inference rather than stated routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_audit_entire_deckAudit Entire Presentation Deck (Taste Quality Inspector)BRead-onlyIdempotent
QuΓ©t toΓ n diα»n tαΊ₯t cαΊ£ cΓ‘c slide trong bΓ i thuyαΊΏt trΓ¬nh: rΓ soΓ‘t cα»‘ chα»― nhα» (<24pt), tΓ¬m tα»« ngα»― sΓ‘o rα»ng AI slop, kiα»m tra huy hiα»u NgΖ°α»i trΓ¬nh bΓ y LΓͺ Anh Duy, xΓ‘c minh sα» liα»u Hard Facts vΓ tΓnh toΓ‘n Deck Taste Score (/100).
| Name | Required | Description | Default |
|---|---|---|---|
| presentation_path | Yes | ΔΖ°α»ng dαΊ«n tα»p .pptx bΓ i thuyαΊΏt trΓ¬nh |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is covered structurally. The description adds value by listing the audit criteria and stating that a Deck Taste Score (/100) is computed, but it does not say how findings are surfaced (per-slide violation list vs single summary), nor explain the hard-coded presenter-badge rule that references a specific person's name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with a colon-delimited list of checks - dense and free of filler. The only cost is insider jargon ('AI slop', 'Hard Facts', 'Deck Taste Score') that is never defined, plus the description being in Vietnamese while the tool name and title are English.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only single-parameter audit this is close to adequate, and the mention of a /100 score partially compensates for the missing output schema. Still, an agent cannot predict the shape of the audit result or whether findings are actionable text it can feed into canva_auto_fix_from_comment, which matters for a tool whose whole purpose is producing a report.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage, so the schema already documents presentation_path as the .pptx file path. The description adds nothing about path constraints, relative vs absolute paths, or what happens if the file is not a .pptx. Baseline 3 is appropriate when the schema carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (quΓ©t/rΓ soΓ‘t) plus the exact resource (all slides in the presentation) and enumerates the concrete checks: font sizes under 24pt, AI-slop wording, presenter badge, Hard Facts figures, and a Deck Taste Score out of 100. That is far more specific than the name alone. However, it never distinguishes itself from a close sibling like canva_validate_slide_copy, so the agent must infer the difference between a whole-deck audit and copy validation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the enumerated checks suggest this is the final quality pass over an already-generated deck. There is no explicit 'use this when' statement, no exclusions (e.g. run after canva_add_tasteful_slide or instead of canva_validate_slide_copy), and no mention of prerequisites such as the deck having been generated by this toolset.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_auto_fix_from_commentAuto-Fix Slide from Canva Comment / FeedbackB
Tα»± Δα»ng phΓ’n tΓch phαΊ£n hα»i/bΓ¬nh luαΊn cα»§a ngΖ°α»i dΓΉng trΓͺn Canva Cloud (hoαΊ·c vΔn bαΊ£n comment truyα»n vΓ o), bΓ³c tΓ‘ch Γ½ Δα» chα»nh sα»a (cα»‘ chα»― >= 24pt, cαΊp nhαΊt chα» sα», Δα»i bαΊ£ng mΓ u, bα» sung huy hiα»u LΓͺ Anh Duy, hoαΊ·c chuyα»n Δα»i layout) vΓ tα»± Δα»ng ghi ΔΓ¨ bαΊ£n sα»a Δα»i chuαΊ©n xΓ‘c vΓ o Slide Engine, kΓ¨m kαΊΏt xuαΊ₯t thumbnail PNG xem trΖ°α»c.
| Name | Required | Description | Default |
|---|---|---|---|
| design_id | No | ID thiαΊΏt kαΊΏ Canva Cloud (mαΊ·c Δα»nh DAHaKPDSZSI) | DAHaKPDSZSI |
| comment_id | No | ID cα»§a bΓ¬nh luαΊn trΓͺn Canva Δα» tα»± Δα»ng lαΊ₯y nα»i dung | |
| comment_text | No | Nα»i dung phαΊ£n hα»i / yΓͺu cαΊ§u sα»a Δα»i (nαΊΏu khΓ΄ng truyα»n comment_id) | |
| slide_number | No | Vα» trΓ slide cαΊ§n chα»nh sα»a (tΓnh tα»« 1) | |
| export_thumbnail | No | Tα»± Δα»ng xuαΊ₯t αΊ£nh thumbnail PNG sau khi sα»a | |
| presentation_path | No | ΔΖ°α»ng dαΊ«n tα»p .pptx cαΊ§n cαΊp nhαΊt | C:/Users/mrduy/Documents/AI/my_quest/thuyet_trinh/Bao_Cao_Chu_De11.pptx |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and openWorldHint=true, so the write/open-world profile is known. The description adds real context beyond that: it explicitly says the tool 'tα»± Δα»ng ghi ΔΓ¨' (automatically overwrites) the revision into the Slide Engine and optionally writes a PNG thumbnail, which tells the agent changes are destructive and unconfirmed. It still omits permissions/auth needs, failure behavior, and whether the overwrite is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense sentence with no filler or repetition, so nothing is wasted. However, the long comma-separated parenthetical of edit types makes it hard to parse at a glance, and the destructive overwrite β the most important fact β is buried mid-sentence rather than front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 6 parameters (all optional, all defaulted) and no output schema, the description covers intent and the overwrite/thumbnail side effects, which is the core need. It does not say what the tool returns on success, what happens when the comment cannot be parsed into an edit, or what the defaults (design_id DAHaKPDSZSI, slide 16, a hardcoded local .pptx path) imply about side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every one of the 6 parameters is already documented in the schema; baseline 3 applies. The description adds no syntax or format detail for design_id, slide_number, presentation_path, or export_thumbnail beyond restating the comment_id/comment_text either-or that the schema already covers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb chain (analyze comment -> extract edit intent -> overwrite slide) and the resource (Canva comment / Slide Engine), and enumerates the concrete edit classes it handles (font >= 24pt, metrics, palette, badge, layout). It is clear what the tool does, but it never names a sibling, so an agent cannot tell from this text alone why it should prefer this over canva_read_design_comments + canva_validate_slide_copy + canva_export_slide_thumbnail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 guidance at the tool level; the only conditional logic stated ('if comment_id is not passed, use comment_text') is an input-selection rule, not a routing rule. Nothing says whether to read comments first with canva_read_design_comments, or whether this should be run only after canva_validate_slide_copy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_execute_layout_scriptExecute Local Layout Script in Code SandboxBDestructive
Thα»±c thi trα»±c tiαΊΏp mα»t kα»ch bαΊ£n script (Python hoαΊ·c JavaScript) trong mΓ΄i trΖ°α»ng Sandbox cα»₯c bα» Δα» thα»±c hiα»n cΓ‘c thao tΓ‘c cΔn chα»nh, Δo lΖ°α»ng, tΓnh toΓ‘n tα»a Δα» vector hoαΊ·c xα» lΓ½ hΓ ng loαΊ‘t trΓͺn tα»p PowerPoint, tiαΊΏt kiα»m token LLM vΓ trαΊ£ vα» kαΊΏt quαΊ£ kΓ¨m αΊ£nh thumbnail xem trΖ°α»c.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | ΔoαΊ‘n mΓ£ kα»ch bαΊ£n thα»±c thi trong Sandbox | |
| script_type | No | NgΓ΄n ngα»― kα»ch bαΊ£n thα»±c thi: 'python' (khuyΓͺn dΓΉng vα»i python-pptx) hoαΊ·c 'javascript' | python |
| slide_number | No | Sα» thα»© tα»± slide mα»₯c tiΓͺu (tΓΉy chα»n nαΊΏu cαΊ§n xuαΊ₯t αΊ£nh thumbnail sau khi chαΊ‘y) | |
| export_thumbnail | No | Tα»± Δα»ng xuαΊ₯t αΊ£nh thumbnail PNG xem trΖ°α»c nαΊΏu cΓ³ chα» Δα»nh slide_number | |
| presentation_path | No | ΔΖ°α»ng dαΊ«n tα»p .pptx mα»₯c tiΓͺu | C:/Users/mrduy/Documents/AI/my_quest/thuyet_trinh/Bao_Cao_Chu_De11.pptx |
| confirmation_token | No | MΓ£ xΓ‘c nhαΊn bαΊ£o mαΊt khi chαΊ‘y cΓ‘c thao tΓ‘c ghi ΔΓ¨ hoαΊ·c chα»nh sα»a hΓ ng loαΊ‘t |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already flag this as non-read-only, non-idempotent, and destructive. The description adds that execution happens in a local sandbox and returns results with a preview thumbnail, and the confirmation_token parameter implies that a security gate exists for overwrites. It never states sandbox limits, timeouts, filesystem/network access, or what happens on script errors. For arbitrary code execution, these gaps are material even with annotations present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence leads with the action and the environment, then moves to the use cases and the payoff. It reads as a single run-on sentence with a long clause chain, which slightly hurts scannability, but no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a destructive arbitrary-code runner with six parameters and no output schema, so the description carries a heavy burden. It covers the purpose and the thumbnail return, but it omits execution limits, error behavior, and any warning about what the script can touch on disk. That is roughly the minimum an agent needs before calling a sandboxed executor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the code and script_type parameters already document themselves, and the enum for script_type is visible. The description only implies the thumbnail is returned when the slide_number is relevant, but this mapping is present in the schema too. With the schema doing the heavy lifting, baseline 3 applies, and the description adds no syntax or format details beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (execute) and resource (a Python/JavaScript layout script) and enumerates the concrete job types: alignment, measurement, vector coordinate calculation, and batch processing on PowerPoint files. That is far more specific than the sibling tools, which each add one fixed slide type. It stops short of explicitly naming which sibling to prefer for non-script tasks, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use cases (cΔn chα»nh, Δo lΖ°α»ng, tΓnh toΓ‘n tα»a Δα» vector, xα» lΓ½ hΓ ng loαΊ‘t) imply when this tool is appropriate and the 'tiαΊΏt kiα»m token LLM' note hints at why to delegate work to a script instead of many calls. However, there is no explicit 'use this instead of X' or 'do not use for Y' guidance, and no mention of what happens when a purpose-built sibling like canva_add_swot_matrix already exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_export_presentation_deckExport Canva PresentationC
KΓch hoαΊ‘t tΓ‘c vα»₯ kαΊΏt xuαΊ₯t bαΊ£n thiαΊΏt kαΊΏ Canva ra Δα»nh dαΊ‘ng PPTX, PDF hoαΊ·c PNG chαΊ₯t lượng cao.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Δα»nh dαΊ‘ng tα»p kαΊΏt xuαΊ₯t | pptx |
| design_id | Yes | ID cα»§a thiαΊΏt kαΊΏ Canva cαΊ§n xuαΊ₯t |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations give only readOnlyHint=false and openWorldHint=true, so the description must explain behavior itself. 'KΓch hoαΊ‘t tΓ‘c vα»₯' hints at an asynchronous job, but it never says whether the call blocks, returns a job id to poll, or yields a download URL β a serious omission for a mutating export operation with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the action and formats named first and no filler. It is lean, though the brevity comes at the cost of the behavioral detail noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations covering results, the description should say what the export call produces and how to retrieve the file. Instead it stops at 'trigger a task', leaving the agent unable to know the outcome of a successful invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are documented in the schema, so the baseline of 3 applies. The description does add the format vocabulary, but it lists only PPTX, PDF and PNG while the schema enum also permits jpg, leaving a small inconsistency rather than added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (kαΊΏt xuαΊ₯t / export) and resource (bαΊ£n thiαΊΏt kαΊΏ Canva) and enumerates the output formats, so the agent can tell it apart from canva_export_slide_thumbnail or canva_get_design_info. It stops short of stating scope boundaries against the other export-adjacent siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus canva_export_slide_thumbnail or canva_sync_to_cloud, and no prerequisites (e.g. requires design_id from canva_get_design_info or canva_list_workspace_designs). The only implicit cue is the word 'export', which is already in the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_export_slide_thumbnailExport Slide Thumbnail to PNGBIdempotent
KαΊΏt xuαΊ₯t nhanh mα»t slide trong tα»p PPTX thΓ nh hΓ¬nh αΊ£nh PNG Δα» nΓ©t cao (1920x1080) vΓ lΖ°u vΓ o thΖ° mα»₯c Artifacts cα»§a Antigravity Δα» xem trΖ°α»c trα»±c tiαΊΏp.
| Name | Required | Description | Default |
|---|---|---|---|
| output_path | No | ΔΖ°α»ng dαΊ«n tα»p αΊ£nh PNG ΔΓch (tΓΉy chα»n) | |
| slide_number | Yes | Sα» thα»© tα»± slide (bαΊ―t ΔαΊ§u tα»« 1) | |
| presentation_path | Yes | ΔΖ°α»ng dαΊ«n tα»p .pptx |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds real value beyond that by disclosing the concrete side effect (a PNG file written to the Artifacts folder) and the output resolution. It does not say what happens if output_path already exists, whether the default folder is auto-created, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the action verb and packs resource, format, resolution, destination and purpose with no filler. It is dense and slightly run-on, but nothing in it is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with full schema coverage and no output schema, the description covers what it produces and where. The gap is the return value: with no output schema, an agent cannot know whether the tool returns the saved path, the image data, or nothing, and nothing about failure modes is given.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented, establishing a baseline of 3. The description contributes extra context by tying the Artifacts destination to the optional output_path and by fixing the default resolution, but adds no format or syntax detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: render one slide from a PPTX file into a high-resolution PNG (1920x1080) and save it to the Artifacts folder. The singular 'mα»t slide' implicitly separates it from canva_export_presentation_deck, but no sibling is named explicitly, so differentiation requires inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The stated purpose ('Δα» xem trΖ°α»c trα»±c tiαΊΏp' β for direct preview) implies when to use it, i.e. quick single-slide previews. However, it never says when to prefer canva_export_presentation_deck instead, nor any prerequisites such as the PPTX needing to exist or slide_number needing to be in range.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_generate_deck_from_dataGenerate Slide/Deck from CSV or JSON DataAIdempotent
Tα»± Δα»ng Δα»c tα»p dα»― liα»u CSV hoαΊ·c JSON (hoαΊ·c chuα»i dα»― liα»u thΓ΄), tα»± Δα»ng phΓ’n tΓch cΓ‘c chα» sα» KPI, hiα»u suαΊ₯t, kα»ch bαΊ£n so sΓ‘nh hoαΊ·c phΓ’n tΓch chiαΊΏn lược, tα»± Δα»ng chα»n layout tα»i Ζ°u (KPI Dashboard, SWOT Matrix, Card Comparison hoαΊ·c Process Timeline) vΓ sinh bα» slide hoΓ n chα»nh vΓ o PowerPoint vα»i cα»‘ chα»― >= 24pt vΓ huy hiα»u LΓͺ Anh Duy (44pt, Cyan #00B0F0).
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | TiΓͺu Δα» slide (tΓΉy chα»n, tα»± Δα»ng suy luαΊn tα»« dα»― liα»u nαΊΏu Δα» trα»ng) | |
| design_id | No | ID thiαΊΏt kαΊΏ Canva Cloud (vΓ dα»₯: DAHaKPDSZSI) nαΊΏu Δα»i chiαΊΏu cloud | |
| presenter | No | TΓͺn ngΖ°α»i trΓ¬nh bΓ y hiα»n thα» huy hiα»u (44pt, Cyan #00B0F0) | LΓͺ Anh Duy |
| palette_id | No | ID bαΊ£ng mΓ u tα»« taste-skill (mαΊ·c Δα»nh 'corporate-navy') | corporate-navy |
| data_source | Yes | ΔΖ°α»ng dαΊ«n ΔαΊΏn tα»p CSV/JSON trΓͺn ΔΔ©a, hoαΊ·c chuα»i nα»i dung JSON/CSV thΓ΄ | |
| slide_number | No | Vα» trΓ slide cαΊ§n tαΊ‘o (tΓnh tα»« 1) | |
| bottom_takeaway | No | KαΊΏt luαΊn hΓ nh Δα»ng dΖ°α»i ΔΓ‘y (>= 24pt) | |
| export_thumbnail | No | Tα»± Δα»ng xuαΊ₯t αΊ£nh thumbnail PNG xem trΖ°α»c | |
| subtitle_context | No | Thanh ngα»― cαΊ£nh tΓ³m tαΊ―t bα»i cαΊ£nh | |
| layout_preference | No | Bα» cα»₯c Ζ°u tiΓͺn (mαΊ·c Δα»nh 'auto' Δα» hα» thα»ng tα»± phΓ’n tΓch cαΊ₯u trΓΊc dα»― liα»u) | auto |
| presentation_path | No | ΔΖ°α»ng dαΊ«n tα»p .pptx cαΊ§n chΓ¨n slide (mαΊ·c Δα»nh tα»p active Bao_Cao_Chu_De11.pptx) | C:/Users/mrduy/Documents/AI/my_quest/thuyet_trinh/Bao_Cao_Chu_De11.pptx |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, so the safety profile is already covered. The description adds useful behavioral facts beyond that β automatic layout inference, enforcement of >=24pt font, an injected presenter badge, optional thumbnail export β but says nothing about what happens to the target .pptx (append vs. overwrite), behavior when presentation_path is missing, or failure modes for unparseable data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that walks from input to output in the right order, with no filler. It is somewhat run-on and spends words re-specifying the badge defaults (44pt, Cyan #00B0F0) that the schema already carries for presenter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter mutating tool with no output schema, the description should say what comes back (file path, slide count, thumbnail path) and confirm whether the target deck is modified in place. It covers the generation pipeline well but leaves the return contract and file-mutation semantics unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description adds a bit more by clarifying that data_source accepts either a file path or a raw JSON/CSV string and by naming the four auto-selectable layouts. It still does not explain how slide_number interacts with the generated 'bα» slide' (single insertion point vs. multi-slide output).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource: read CSV/JSON data, auto-analyze KPIs/comparisons, pick one of four layouts, and emit a finished slide set into PowerPoint. That distinguishes it reasonably well from single-layout siblings such as canva_add_kpi_dashboard or canva_add_swot_matrix, but it never explicitly says it is the 'auto' counterpart to those tools, leaving the differentiation implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'tα»± Δα»ng phΓ’n tΓch... tα»± Δα»ng chα»n layout' suggests this is the tool to reach for when the layout is not yet decided. There is no explicit when-to-use/when-not or direct pointer to canva_add_kpi_dashboard, canva_add_swot_matrix, canva_add_process_timeline for fixed layouts, nor any prerequisite (e.g. that presentation_path must exist).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_get_design_infoGet Canva Design DetailsBRead-only
LαΊ₯y thΓ΄ng tin chi tiαΊΏt mα»t thiαΊΏt kαΊΏ trΓͺn Canva qua Design ID, bao gα»m tiΓͺu Δα», sα» trang, link chα»nh sα»a edit_url vΓ αΊ£nh thumbnail xem trΖ°α»c.
| Name | Required | Description | Default |
|---|---|---|---|
| design_id | Yes | ID cα»§a thiαΊΏt kαΊΏ Canva (vΓ dα»₯: DAHaKPDSZSI) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safe-read profile is covered. The description adds concrete return payload contents (title, page count, edit_url, thumbnail) beyond annotations, but says nothing about auth requirements, failures for invalid/nonexistent design IDs, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with the action and returned payload front-loaded and no filler. It could be sharper by leading with the not-a-list distinction, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with a fully documented schema and no output schema, the description carries the return-value burden reasonably by enumerating the fields returned. The main gap is the absence of failure/empty-case behavior and sibling routing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single design_id parameter is documented in-schema with a format example. The description only restates that the lookup is by Design ID, adding no format or constraint detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific verb + resource ("LαΊ₯y thΓ΄ng tin chi tiαΊΏt mα»t thiαΊΏt kαΊΏ trΓͺn Canva") and enumerates the returned fields (title, page count, edit_url, thumbnail). This clearly distinguishes a single-design detail fetch from a list operation, though it never names a sibling like canva_list_workspace_designs to sharpen the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, and no alternative is named. An agent must infer that this is the lookup path once it already has a design_id, but nothing in the text confirms that or routes it away from listing/export siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_list_taste_palettesList Curated Taste PalettesBRead-onlyIdempotent
Tra cα»©u danh sΓ‘ch 57 bαΊ£ng mΓ u chuαΊ©n thiαΊΏt kαΊΏ cao cαΊ₯p tα»« taste-skill vΓ Corporate Brand (light-neutral, dark, warm, cool, mono-accent).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Sα» lượng bαΊ£ng mΓ u tα»i Δa trαΊ£ vα» | |
| tag_filter | No | Lα»c theo thαΊ» tag: 'light-neutral', 'dark', 'brand', 'mono-accent', 'warm', 'cool' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds useful scope facts β a fixed corpus of 57 palettes drawn from two sources β but says nothing about ordering, truncation by limit, or what a result entry contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the count, sources and palette categories all carry information. It is close to minimal for the amount covered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter, read-only list tool with full schema coverage and no output schema, the description supplies the corpus size and taxonomy an agent needs to judge relevance. Only the return shape and limit behavior remain unstated, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented and the schema's tag_filter even enumerates the exact tag values. The description's parenthetical tag list largely repeats that, and it never mentions the limit parameter, so no meaning is added beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource ('Tra cα»©u danh sΓ‘ch 57 bαΊ£ng mΓ u') and adds the source ('taste-skill vΓ Corporate Brand') plus the palette families covered. It is clearly distinct from the sibling tools (slide/deck/asset builders), though it never states that distinction explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus alternatives, no prerequisites, and no indication of what to do with the returned palettes (e.g. feed into canva_add_tasteful_slide). Usage is only inferable from the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_list_workspace_designsList Canva Designs in WorkspaceCRead-only
Truy vαΊ₯n danh sΓ‘ch cΓ‘c thiαΊΏt kαΊΏ, bΓ i thuyαΊΏt trΓ¬nh gαΊ§n ΔΓ’y trong khΓ΄ng gian lΓ m viα»c Canva cα»§a ngΖ°α»i dΓΉng.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Từ khóa tìm kiếm thiết kế |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds only the recency/workspace scoping and says nothing about result volume, ordering, pagination, or how 'recent' is defined.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler, and the scope qualifiers follow the verb. It is efficient, though very short relative to what an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with one optional parameter and annotations covering safety, the description is close to adequate. It still omits what a returned design record contains and how an unfiltered call behaves, which matters because there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents the single 'query' parameter at 100% coverage, so the baseline is 3. The description does not reference the keyword filter or describe what happens when it is omitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource pair ('Truy vαΊ₯n danh sΓ‘ch cΓ‘c thiαΊΏt kαΊΏ, bΓ i thuyαΊΏt trΓ¬nh') and adds scope ('gαΊ§n ΔΓ’y', 'trong khΓ΄ng gian lΓ m viα»c Canva cα»§a ngΖ°α»i dΓΉng'). This is distinguishable from a detail fetcher like canva_get_design_info, but no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives such as canva_get_design_info or the export tools. The listing intent is only implied by the verb 'list'; no prerequisites, exclusions, or fallback paths are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_read_design_commentsRead Design Comments from Canva CloudBRead-only
Truy vαΊ₯n trα»±c tiαΊΏp cΓ‘c bΓ¬nh luαΊn, luα»ng phαΊ£n hα»i duyα»t bΓ i (review threads) cα»§a hα»i Δα»ng/ngΖ°α»i dΓΉng trΓͺn Canva Cloud qua Canva Connect API (GET /v1/designs/{id}/comments).
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Bα» lα»c trαΊ‘ng thΓ‘i bΓ¬nh luαΊn: 'all', 'open', 'resolved' | all |
| design_id | No | ID thiαΊΏt kαΊΏ Canva Cloud cαΊ§n Δα»c bΓ¬nh luαΊn (mαΊ·c Δα»nh DAHaKPDSZSI) | DAHaKPDSZSI |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and external-network behavior are covered. The description reinforces this by citing a GET-based Canva Connect API call, but adds nothing about pagination, result volume, permission/scope requirements, or what a review thread contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that identifies the resource, the target system, and the API endpoint with no filler. It is dense and partly jargon-heavy (and written in Vietnamese only), but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description is the only place to learn what a returned comment or review thread looks like, and it stays silent on return shape and pagination. For a simple two-parameter read tool with full schema coverage and read-only annotations, this is adequate but leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are documented in the schema, establishing the baseline of 3. The description only implicitly maps design_id into the URL path template and says nothing about the status filter ('all'/'open'/'resolved'), so it adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource β querying comments and review threads for a Canva design β and even names the underlying endpoint (GET /v1/designs/{id}/comments). It is clearly a read operation, which distinguishes it from write-side siblings like canva_auto_fix_from_comment, though that distinction is implicit rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'trα»±c tiαΊΏp' (directly) hints that this is the path for an immediate read against Canva Cloud, but there is no explicit when-to-use, when-not-to-use, or named alternative such as canva_auto_fix_from_comment or canva_get_design_info. The agent must infer the routing decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_sync_brand_kitSync Canva Brand Kit to Taste PalettesA
Truy vαΊ₯n trα»±c tiαΊΏp cΓ‘c bαΊ£ng mΓ u (color palettes) vΓ phΓ΄ng chα»― doanh nghiα»p tα»« tΓ i khoαΊ£n Canva cα»§a ngΖ°α»i dΓΉng qua Canva Connect API (GET /v1/brand-kits), sau ΔΓ³ Δα»ng bα» ΔΓ¨ trα»±c tiαΊΏp vΓ o Taste Palettes Δα» Slide Engine tα»± Δα»ng Γ‘p dα»₯ng.
| Name | Required | Description | Default |
|---|---|---|---|
| brandKitId | No | ID cα»§a Brand Kit cαΊ§n Δα»ng bα» (Δα» trα»ng Δα» lαΊ₯y Brand Kit mαΊ·c Δα»nh) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say readOnlyHint=false and openWorldHint=true; the description adds real value beyond that by stating the operation overwrites ('Δα»ng bα» ΔΓ¨ trα»±c tiαΊΏp') the Taste Palettes and that data is fetched from an external Canva endpoint. It still leaves open what happens to palettes not present in the brand kit, and what auth scope the user must grant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence that moves from source (Canva brand kit) to destination (Taste Palettes) to outcome (Slide Engine auto-apply) without filler. Minor cost: the description is entirely in Vietnamese while the tool name, title, and siblings are English, which adds a small parsing burden.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one optional param, no output schema), and the description covers source, destination, and effect. However, for an overwriting sync operation with openWorldHint=true, it should say whether the overwrite is a full replace or a merge, and whether any result is returned to confirm the sync.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one optional parameter and 100% schema description coverage, the schema already explains that brandKitId selects the kit and defaults to the default brand kit when empty. The description only adds that fonts as well as colors are synced, which is marginal for parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete verb+resource pair: querying brand color palettes and fonts from the user's Canva account via Canva Connect API (GET /v1/brand-kits), then overwriting Taste Palettes so Slide Engine applies them automatically. It also implicitly separates itself from the read-only sibling canva_list_taste_palettes by emphasizing the write-through sync step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: you call this when you want corporate palettes/fonts pushed into Taste Palettes. But there is no explicit when-to-use vs. when-not guidance, no mention of prerequisites such as an authorized Canva Connect session, and no statement on whether to run canva_list_taste_palettes first to inspect the target.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_sync_to_cloudSync Presentation Deck to Canva CloudARead-only
Kiα»m tra vΓ Δα»ng bα» trαΊ‘ng thΓ‘i bΓ i thuyαΊΏt trΓ¬nh vα»i Canva Cloud, Δα»i chiαΊΏu sα» trang, lαΊ₯y link chα»nh sα»a trα»±c tiαΊΏp vΓ link chαΊΏ Δα» trΓ¬nh chiαΊΏu (Present Mode) Δα» ngΖ°α»i dΓΉng thuyαΊΏt trΓ¬nh ngay lαΊp tα»©c.
| Name | Required | Description | Default |
|---|---|---|---|
| design_id | No | ID thiαΊΏt kαΊΏ Canva Cloud (mαΊ·c Δα»nh bΓ i thuyαΊΏt trΓ¬nh DAHaKPDSZSI) | DAHaKPDSZSI |
| presentation_path | No | ΔΖ°α»ng dαΊ«n tα»p .pptx cα»₯c bα» vα»«a chα»nh sα»a Δα» Δα»i chiαΊΏu |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered; the description's added value is telling the agent what comes back (page-count comparison, edit link, Present Mode link). But the word 'Δα»ng bα»' (sync) in the name and description sits awkwardly against a read-only hint, and the description never clarifies whether any state is written or what happens when page counts mismatch, leaving genuine ambiguity for a tool whose name implies mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the action and then lists the three concrete returns, with no filler. It is compact for the amount of information conveyed, though the run-on list format slightly blurs which items are outputs versus inputs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully compensates by spelling out the return payload (page count comparison, edit link, Present Mode link), which is the key thing an agent needs. What it omits is edge-case behaviour β a page-count mismatch, an unmet default design_id, or failure modes on an open-world target.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (design_id with its default deck, presentation_path as the local .pptx to compare) are already documented in structured form. The description adds no syntax, format, or default behaviour beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb pair (check/sync), a specific resource (the presentation deck vs. Canva Cloud), and enumerates the concrete outputs: page-count reconciliation plus edit and Present Mode links. It does not, however, distinguish itself from near-neighbours like canva_get_design_info or canva_export_presentation_deck, which an agent could plausibly confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the presence of 'presentation_path' (a locally edited .pptx) suggests this is called after local edits to reconcile against the cloud copy and hand the user a presentation link. There is no explicit when-to-use statement and no named alternative telling the agent to prefer canva_get_design_info for plain metadata or canva_export_presentation_deck for file export.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_upload_assetUpload Asset to CanvaA
TαΊ£i tα»p hΓ¬nh αΊ£nh tα»« URL ngoΓ i lΓͺn thΖ° viα»n tΓ i sαΊ£n cΓ‘ nhΓ’n/doanh nghiα»p trΓͺn Canva qua Canva Connect API (POST /v1/asset-uploads) vΓ trαΊ£ vα» asset_id.
| Name | Required | Description | Default |
|---|---|---|---|
| imageUrl | Yes | ΔΖ°α»ng dαΊ«n URL cΓ΄ng khai cα»§a tα»p hΓ¬nh αΊ£nh cαΊ§n tαΊ£i lΓͺn Canva | |
| assetName | No | TΓͺn Δα»nh danh cα»§a tΓ i sαΊ£n lΖ°u trΓͺn Canva | canva_asset |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and openWorldHint=true, so the agent knows this performs a write and reaches outside the server. The description confirms and enriches that with the concrete API path, the creation of a new asset in the library, and the returned asset_id. It still omits meaningful operational behavior: authentication requirements, supported file types/size limits, whether the upload is asynchronous, and what happens on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that states action, target, transport and return value without filler. It is slightly dense, packing the endpoint path and return value into the same clause, but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with full schema coverage and no output schema, the description supplies enough: what it uploads, from where, to which library, via which API, and what identifier comes back. The remaining gap is operational caveats (auth, limits, async semantics) rather than core calling information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both imageUrl and assetName documented directly in the schema, so the baseline of 3 applies. The description adds no format, validation or defaulting detail beyond what the schema already states (public URL, default name).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: uploading an image file from an external URL into the personal/business asset library on Canva. It even cites the underlying endpoint (POST /v1/asset-uploads), which leaves no ambiguity about the operation. It does not explicitly contrast itself with the sibling tools, but none of them is an upload tool, so the distinction is effectively implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'tα»« URL ngoΓ i' (from an external URL) conveys that the source must be a reachable external URL, and the asset-library destination signals when this tool applies. There is no explicit when-to-use/when-not guidance, no mention of alternatives, and no stated prerequisites such as public accessibility of the URL or required scopes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
canva_validate_slide_copyValidate Slide Copy (Anti-Slop Engine)BRead-onlyIdempotent
Kiα»m Δα»nh chαΊ₯t lượng nα»i dung slide theo tiΓͺu chuαΊ©n Taste-Skill: loαΊ‘i bα» tα»« sΓ‘o rα»ng AI slop, kiα»m tra sα» liα»u cα»©ng (Hard Facts), ΔαΊΏm mαΊt Δα» tα»« vα»±ng (Word Budget).
| Name | Required | Description | Default |
|---|---|---|---|
| texts | Yes | Danh sΓ‘ch cΓ‘c ΔoαΊ‘n vΔn bαΊ£n trΓͺn slide (tiΓͺu Δα», thαΊ», nα»i dung) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful substance about the three validation passes, though its phrase 'loαΊ‘i bα» tα»« sΓ‘o rα»ng' (remove clichΓ©s) reads like mutation and sits awkwardly against readOnlyHint β it is probably meant as 'flag/detect'. It also says nothing about what a validation result looks like, which matters because there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler; the three checks are enumerated compactly and the standard is named up front. Slight density from mixed jargon ('Taste-Skill', 'Hard Facts', 'Word Budget') but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a validation tool with no output schema, the description should indicate what comes back β a pass/fail verdict, a list of offending phrases, a word-count report β and it does not. Annotations cover safety and the single parameter is fully documented, so the remaining gap is the return contract and workflow placement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter and schema description coverage is 100%, with the schema already describing 'texts' as the list of slide text blocks (title, card, content). The description adds no format, ordering, or granularity guidance beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: quality-validate slide copy against a named 'Taste-Skill' standard, with three concrete checks (AI slop removal, Hard Facts, Word Budget). That is far more informative than the title alone. It does not explicitly distinguish itself from the similarly-scoped sibling canva_audit_entire_deck (deck-level vs. copy-level), leaving that differentiation to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool checks but never when to call it β e.g. before export, after generation, or as a pre-flight gate β nor when to prefer canva_audit_entire_deck or canva_auto_fix_from_comment. An agent must guess the workflow position of this tool.
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.
21 tool updates
v3.1.0- First observed
canva_add_card_comparison - First observed
canva_add_kpi_dashboard - First observed
canva_add_process_timeline - First observed
canva_add_split_architecture - First observed
canva_add_swot_matrix - First observed
canva_add_tasteful_slide - First observed
canva_add_team_grid - First observed
canva_audit_entire_deck - First observed
canva_auto_fix_from_comment - First observed
canva_execute_layout_script - First observed
canva_export_presentation_deck - First observed
canva_export_slide_thumbnail - First observed
canva_generate_deck_from_data - First observed
canva_get_design_info - First observed
canva_list_taste_palettes - First observed
canva_list_workspace_designs - First observed
canva_read_design_comments - First observed
canva_sync_brand_kit - First observed
canva_sync_to_cloud - First observed
canva_upload_asset - First observed
canva_validate_slide_copy
TDQS
Scored across 21 tools
Several tools occupy heavily overlapping territory: canva_generate_deck_from_data auto-selects and builds KPI/SWOT/comparison/timeline layouts that the individual canva_add_* tools also produce, and canva_add_tasteful_slide claims 9 layouts that subsume most of the specialized adders. canva_sync_to_cloud and canva_get_design_info both return page counts, edit URLs and thumbnails, while canva_audit_entire_deck and canva_validate_slide_copy both check slop/hard facts. Only the API-plumbing tools (upload_asset, read_design_comments, sync_brand_kit, list_workspace_designs) are clearly distinct.
All 21 tools share a canva_ prefix and snake_case verb_noun structure (add_*, list_*, get_*, export_*, sync_*, validate_*, audit_*, generate_*). A couple of compound names (auto_fix_from_comment, generate_deck_from_data) stretch the pattern but remain predictable and readable.
21 tools is on the heavy side for a deck-building server, and the count is inflated by six near-duplicate layout adders plus a generic canva_add_tasteful_slide that covers the same ground. Consolidating the layout-specific tools into the generic one would cut the surface roughly in half without losing capability.
The surface covers a full build-audit-export-sync loop plus Canva Connect API reads, but there are notable gaps: no way to post a comment or reply on a design (only read/auto-fix), no delete or duplicate of designs or slides, and no reorder/update-text operation on existing slides. Agents can work around these but will hit dead ends on common collaborative review flows.
Maintenance
Related MCP Connectors
Generate AI slide decks and export native PowerPoint (.pptx) and PDF presentations from chat.
Deterministic, fully editable PowerPoint from typed slide intents. 200+ layouts, brand templates.
Create, edit, export and manage presentations. Requires a paid PPT.AI API merchant account.
Build decks in your own brand, from the AI agent you already use. Then edit them yourself.
Related MCP Servers
AlicenseCqualityCmaintenanceEnables LLMs to automatically generate presentation slides from natural language instructions using 80+ business-oriented templates, with auto-save and PDF export.834,120 npm1AGPL 3.0- FlicenseCqualityDmaintenanceEnables creation and management of Canva presentations through natural language, leveraging LLM for narrative planning and integrating with Canva's API for design operations.28-
- FlicenseCqualityCmaintenanceEnables conversational, deterministic inspection, editing, rendering, and validation of PowerPoint (.pptx) presentations, allowing agentic creation and modification of slides with style preservation and visual verification.34-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to create, edit, and review presentation slides within a self-hosted collaborative editor, with access to shared libraries and discussion tools.4Apache 2.0