Skip to main content
Glama

πŸš€ Canva MCP Pro (v3.1 Enterprise-Grade)

License: MIT Node.js TypeScript MCP A2A Protocol skills.sh Security Evaluations

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-pptx and Pillow:

    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

canva_add_kpi_dashboard

Visual

Hero Metrics $56\text{ pt}$, state tags, diagnostic insight boxes $\ge 24\text{ pt}$.

2

canva_add_card_comparison

Visual

4–5 scenario comparison columns with highlighted hero border.

3

canva_add_split_architecture

Visual

Dual-panel parallel architecture stream + bottom takeaway banner.

4

canva_generate_deck_from_data

Visual

Ingests raw CSV/JSON, auto-selects best layout, and outputs a complete deck.

5

canva_execute_layout_script

Visual

Local code sandbox (Python/JS) for batch vector math and coordinate calculation.

6

canva_get_design_info

Connect

Fetches Canva Cloud design metadata (id, title, page count, URLs).

7

canva_list_workspace_designs

Connect

Searches and lists presentations in the user's Canva Workspace.

8

canva_export_presentation_deck

Connect

Exports Canva presentation to PPTX, PDF, PNG, or JPG.

9

canva_sync_to_cloud

Connect

Synchronizes local deck state with Canva Cloud, generating present mode URL.

10

canva_upload_asset

Connect

Uploads images to Canva Enterprise Asset library (POST /v1/asset-uploads).

11

canva_sync_brand_kit

Connect

Fetches brand colors and fonts from Canva Brand Kit directly into palettes.

12

canva_read_design_comments

Connect

Reads comments and reviewer feedback directly from Canva Cloud.

13

canva_auto_fix_from_comment

Connect

Parses review comments and updates slide engine layouts automatically.

14

canva_list_taste_palettes

Taste

Queries 57 curated design palettes (corporate-navy, cool-white-slate, etc.).

15

canva_validate_slide_copy

Taste

Anti-slop copy validator detecting vague marketing buzzwords.

16

canva_export_slide_thumbnail

Taste

Exports crisp $1280 \times 720$ PNG previews of any slide.

17

canva_audit_entire_deck

Taste

Comprehensive presentation quality inspector checking typography, badges, and facts.

18

canva_add_tasteful_slide

Taste

Unified dispatcher supporting 9 specialized AI/ML slide layouts.

19

canva_add_process_timeline

Taste

Horizontal sequential roadmap (3–5 steps) with rounded number badges.

20

canva_add_swot_matrix

Taste

$2 \times 2$ SWOT grid with brand-aligned quadrant colors.

21

canva_add_team_grid

Taste

Professional team card grid ($2 \times 2$ or $3 \times 2$) with initials avatar circles.


🧠 Integrated Agentic Skills (skills/)

  1. canva-deck-builder: 5-step operational workflow to convert raw outlines into polished presentation decks.

  2. canva-brand-auditor: Rigorous quality assurance scoring decks against font size floor ($\ge 24\text{ pt}$), presenter badges, and anti-slop copy.

  3. canva-swot-analyst: Strategic SWOT matrix designer with balanced quadrant typography.

  4. 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:

  1. 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.

  2. Dry-Run Safe Preview Mode (preview_mode: true):

    • In canva_auto_fix_from_comment, passing preview_mode: true returns a complete layout diff, planned color palette, and predicted Taste score without mutating the original PowerPoint file.

  3. OAuth 2.1 Specification Metadata:

    • Run npm run oauth to 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:


πŸ“¦ 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 test

Expected 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 tools
canva_add_card_comparisonAdd Card Comparison Matrix SlideB
Idempotent

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.

NameRequiredDescriptionDefault
titleYesTiΓͺu đề slide
columnsYesDanh sΓ‘ch tα»« 2 Δ‘αΊΏn 4 cα»™t so sΓ‘nh
presenterNoTΓͺn người trΓ¬nh bΓ y
slide_numberYesVα»‹ trΓ­ slide
bottom_takeawayNoKαΊΏt luαΊ­n tα»•ng hợp dΖ°α»›i chΓ’n slide
presentation_pathYesĐường dαΊ«n tệp .pptx

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 SlideB
Idempotent

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).

NameRequiredDescriptionDefault
titleYesTiΓͺu đề slide
presenterNoTΓͺn người trΓ¬nh bΓ y hiển thα»‹ huy hiệu gΓ³c trΓͺn bΓͺn phαΊ£i
kpi_metricsYesDanh sΓ‘ch tα»« 2 Δ‘αΊΏn 4 chỉ sα»‘ KPI lα»›n dΓ n hΓ ng ngang
slide_numberYesVα»‹ trΓ­ slide (tΓ­nh tα»« 1)
diagnostic_boxesNoTα»‘i Δ‘a 2 hα»™p chαΊ©n Δ‘oΓ‘n phΓ’n tΓ­ch phΓ­a dΖ°α»›i
subtitle_contextNoThanh ngα»― cαΊ£nh tΓ³m tαΊ―t bα»‘i cαΊ£nh thiαΊΏt lαΊ­p Δ‘αΊ§u vΓ o
presentation_pathYesĐường dαΊ«n tệp .pptx bΓ i thuyαΊΏt trΓ¬nh

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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)B
Idempotent

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).

NameRequiredDescriptionDefault
stepsYesDanh sÑch từ 3 đến 5 bước lộ trình
titleYesTiΓͺu đề slide
design_idNoID thiαΊΏt kαΊΏ Canva Cloud (vΓ­ dα»₯: DAHaKPDSZSI) nαΊΏu Δ‘α»‘i chiαΊΏu cloud
presenterNoHuy hiệu người trΓ¬nh bΓ y gΓ³c trΓͺn bΓͺn phαΊ£i (44pt, Cyan #00B0F0)LΓͺ Anh Duy
palette_idNoID bαΊ£ng mΓ u tα»« taste-skill (mαΊ·c Δ‘α»‹nh 'corporate-navy')corporate-navy
slide_numberNoVα»‹ trΓ­ slide (tΓ­nh tα»« 1)
bottom_takeawayNoKết luận / Lộ trình hành động dưới đÑy (>= 24pt)
export_thumbnailNoTα»± Δ‘α»™ng xuαΊ₯t αΊ£nh thumbnail PNG xem trΖ°α»›c
subtitle_contextNoThanh ngα»― cαΊ£nh tΓ³m tαΊ―t bα»‘i cαΊ£nh
presentation_pathNoĐườ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

B3.2/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

There is no when-to-use guidance, no 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 SlideA
Idempotent

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.

NameRequiredDescriptionDefault
titleYesTiΓͺu đề slide
presenterNoTΓͺn người trΓ¬nh bΓ y
left_panelYes
right_panelYes
slide_numberYesVα»‹ trΓ­ slide
bottom_bannerNo
presentation_pathYesĐường dαΊ«n tệp .pptx

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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)A
Idempotent

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).

NameRequiredDescriptionDefault
titleYesTiΓͺu đề slide
threatsYesDanh sΓ‘ch cΓ‘c ThΓ‘ch thα»©c (Threats, 1-3 gαΊ‘ch Δ‘αΊ§u dΓ²ng)
design_idNoID thiαΊΏt kαΊΏ Canva Cloud (vΓ­ dα»₯: DAHaKPDSZSI) nαΊΏu Δ‘α»‘i chiαΊΏu cloud
presenterNoHuy hiệu người trΓ¬nh bΓ y gΓ³c trΓͺn bΓͺn phαΊ£i (44pt, Cyan #00B0F0)LΓͺ Anh Duy
strengthsYesDanh sΓ‘ch cΓ‘c Điểm mαΊ‘nh (Strengths, 1-3 gαΊ‘ch Δ‘αΊ§u dΓ²ng)
palette_idNoID bαΊ£ng mΓ u tα»« taste-skill (mαΊ·c Δ‘α»‹nh 'corporate-navy')corporate-navy
weaknessesYesDanh sΓ‘ch cΓ‘c Điểm yαΊΏu (Weaknesses, 1-3 gαΊ‘ch Δ‘αΊ§u dΓ²ng)
slide_numberNoVα»‹ trΓ­ slide (tΓ­nh tα»« 1)
opportunitiesYesDanh sΓ‘ch cΓ‘c CΖ‘ hα»™i (Opportunities, 1-3 gαΊ‘ch Δ‘αΊ§u dΓ²ng)
bottom_takeawayNoKαΊΏt luαΊ­n / ChiαΊΏn lược tα»•ng thể dΖ°α»›i Δ‘Γ‘y (>= 24pt)
export_thumbnailNoTα»± Δ‘α»™ng xuαΊ₯t αΊ£nh thumbnail PNG xem trΖ°α»›c
subtitle_contextNoThanh ngα»― cαΊ£nh tΓ³m tαΊ―t bα»‘i cαΊ£nh
presentation_pathNoĐườ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

A3.5/5.0
Behavior4/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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)B
Idempotent

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.

NameRequiredDescriptionDefault
titleYesTiΓͺu đề chΓ­nh slide (chuαΊ©n >= 35pt bold)
columnsNoDΓΉng cho bα»‘ cα»₯c card_comparison
design_idNoID thiαΊΏt kαΊΏ Canva Cloud (vΓ­ dα»₯: DAHaKPDSZSI) nαΊΏu Δ‘α»‘i chiαΊΏu cloud
presenterNoTΓͺn người trΓ¬nh bΓ y hiển thα»‹ huy hiệu Cyan (#00B0F0, 44pt) gΓ³c trΓͺn phαΊ£iLΓͺ Anh Duy
swot_dataNoDΓΉng cho bα»‘ cα»₯c swot_matrix (ma trαΊ­n 2x2 bo gΓ³c vα»›i 4 mΓ u Δ‘αΊ‘i diện)
left_panelNoDΓΉng cho bα»‘ cα»₯c split_architecture
palette_idNoID bαΊ£ng mΓ u tα»« taste-skill (vΓ­ dα»₯: 'corporate-navy', 'cool-white-slate', 'white-link-blue')corporate-navy
kpi_metricsNoDΓΉng cho bα»‘ cα»₯c kpi_dashboard
layout_typeYesKiểu bα»‘ cα»₯c slide: kpi_dashboard, card_comparison, split_architecture, pipeline_flow, confusion_matrix, native_chart, process_timeline, swot_matrix, team_grid
right_panelNoDΓΉng cho bα»‘ cα»₯c split_architecture
slide_numberNoVα»‹ trΓ­ slide (tΓ­nh tα»« 1)
team_membersNoDΓΉng cho bα»‘ cα»₯c team_grid (lΖ°α»›i thαΊ» tα»« 2 Δ‘αΊΏn 6 thΓ nh viΓͺn)
bottom_bannerNoDΓΉng cho bα»‘ cα»₯c split_architecture
pipeline_stepsNoDΓΉng cho bα»‘ cα»₯c pipeline_flow
timeline_stepsNoDΓΉng cho bα»‘ cα»₯c process_timeline (tα»« 3 Δ‘αΊΏn 5 bΖ°α»›c)
bottom_takeawayNoKαΊΏt luαΊ­n hΓ nh Δ‘α»™ng dΖ°α»›i Δ‘Γ‘y (>= 24pt)
diagnostic_boxesNoDΓΉng cho bα»‘ cα»₯c kpi_dashboard
export_thumbnailNoTα»± Δ‘α»™ng xuαΊ₯t αΊ£nh thumbnail PNG xem trΖ°α»›c vΓ o Artifacts
subtitle_contextNoDΓ²ng tΓ³m tαΊ―t bα»‘i cαΊ£nh hoαΊ·c thanh dαΊ«n nhαΊ­p phΓ­a trΓͺn (>= 24pt)
native_chart_dataNoDΓΉng cho bα»‘ cα»₯c native_chart
presentation_pathNoĐườ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_dataNoDΓΉng cho bα»‘ cα»₯c confusion_matrix

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is given; the 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)B
Idempotent

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).

NameRequiredDescriptionDefault
titleYesTiΓͺu đề slide
membersYesDanh sΓ‘ch tα»« 2 Δ‘αΊΏn 6 thΓ nh viΓͺn trong Δ‘α»™i ngΕ©
design_idNoID thiαΊΏt kαΊΏ Canva Cloud (vΓ­ dα»₯: DAHaKPDSZSI) nαΊΏu Δ‘α»‘i chiαΊΏu cloud
presenterNoHuy hiệu người trΓ¬nh bΓ y gΓ³c trΓͺn bΓͺn phαΊ£i (44pt, Cyan #00B0F0)LΓͺ Anh Duy
palette_idNoID bαΊ£ng mΓ u tα»« taste-skill (mαΊ·c Δ‘α»‹nh 'corporate-navy')corporate-navy
slide_numberNoVα»‹ trΓ­ slide (tΓ­nh tα»« 1)
bottom_takeawayNoKết luận / Năng lực đội ngũ dưới đÑy (>= 24pt)
export_thumbnailNoTα»± Δ‘α»™ng xuαΊ₯t αΊ£nh thumbnail PNG xem trΖ°α»›c
subtitle_contextNoThanh ngα»― cαΊ£nh tΓ³m tαΊ―t bα»‘i cαΊ£nh
presentation_pathNoĐườ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

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use 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)B
Read-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).

NameRequiredDescriptionDefault
presentation_pathYesĐường dαΊ«n tệp .pptx bΓ i thuyαΊΏt trΓ¬nh

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
design_idNoID thiαΊΏt kαΊΏ Canva Cloud (mαΊ·c Δ‘α»‹nh DAHaKPDSZSI)DAHaKPDSZSI
comment_idNoID cα»§a bΓ¬nh luαΊ­n trΓͺn Canva để tα»± Δ‘α»™ng lαΊ₯y nα»™i dung
comment_textNoNα»™i dung phαΊ£n hα»“i / yΓͺu cαΊ§u sα»­a Δ‘α»•i (nαΊΏu khΓ΄ng truyền comment_id)
slide_numberNoVα»‹ trΓ­ slide cαΊ§n chỉnh sα»­a (tΓ­nh tα»« 1)
export_thumbnailNoTα»± Δ‘α»™ng xuαΊ₯t αΊ£nh thumbnail PNG sau khi sα»­a
presentation_pathNoĐường dαΊ«n tệp .pptx cαΊ§n cαΊ­p nhαΊ­tC:/Users/mrduy/Documents/AI/my_quest/thuyet_trinh/Bao_Cao_Chu_De11.pptx

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

There is no when-to-use / when-not-to-use 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 SandboxB
Destructive

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.

NameRequiredDescriptionDefault
codeYesĐoαΊ‘n mΓ£ kα»‹ch bαΊ£n thα»±c thi trong Sandbox
script_typeNoNgΓ΄n ngα»― kα»‹ch bαΊ£n thα»±c thi: 'python' (khuyΓͺn dΓΉng vα»›i python-pptx) hoαΊ·c 'javascript'python
slide_numberNoSα»‘ thα»© tα»± slide mα»₯c tiΓͺu (tΓΉy chọn nαΊΏu cαΊ§n xuαΊ₯t αΊ£nh thumbnail sau khi chαΊ‘y)
export_thumbnailNoTα»± Δ‘α»™ng xuαΊ₯t αΊ£nh thumbnail PNG xem trΖ°α»›c nαΊΏu cΓ³ chỉ Δ‘α»‹nh slide_number
presentation_pathNoĐường dαΊ«n tệp .pptx mα»₯c tiΓͺuC:/Users/mrduy/Documents/AI/my_quest/thuyet_trinh/Bao_Cao_Chu_De11.pptx
confirmation_tokenNoMΓ£ 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

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
formatNoĐịnh dαΊ‘ng tệp kαΊΏt xuαΊ₯tpptx
design_idYesID cα»§a thiαΊΏt kαΊΏ Canva cαΊ§n xuαΊ₯t

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

There is no statement of when to use this 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 PNGB
Idempotent

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.

NameRequiredDescriptionDefault
output_pathNoĐường dαΊ«n tệp αΊ£nh PNG Δ‘Γ­ch (tΓΉy chọn)
slide_numberYesSα»‘ thα»© tα»± slide (bαΊ―t Δ‘αΊ§u tα»« 1)
presentation_pathYesĐường dαΊ«n tệp .pptx

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 DataA
Idempotent

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).

NameRequiredDescriptionDefault
titleNoTiΓͺu đề slide (tΓΉy chọn, tα»± Δ‘α»™ng suy luαΊ­n tα»« dα»― liệu nαΊΏu để trα»‘ng)
design_idNoID thiαΊΏt kαΊΏ Canva Cloud (vΓ­ dα»₯: DAHaKPDSZSI) nαΊΏu Δ‘α»‘i chiαΊΏu cloud
presenterNoTΓͺn người trΓ¬nh bΓ y hiển thα»‹ huy hiệu (44pt, Cyan #00B0F0)LΓͺ Anh Duy
palette_idNoID bαΊ£ng mΓ u tα»« taste-skill (mαΊ·c Δ‘α»‹nh 'corporate-navy')corporate-navy
data_sourceYesĐường dαΊ«n Δ‘αΊΏn tệp CSV/JSON trΓͺn Δ‘Δ©a, hoαΊ·c chuα»—i nα»™i dung JSON/CSV thΓ΄
slide_numberNoVα»‹ trΓ­ slide cαΊ§n tαΊ‘o (tΓ­nh tα»« 1)
bottom_takeawayNoKαΊΏt luαΊ­n hΓ nh Δ‘α»™ng dΖ°α»›i Δ‘Γ‘y (>= 24pt)
export_thumbnailNoTα»± Δ‘α»™ng xuαΊ₯t αΊ£nh thumbnail PNG xem trΖ°α»›c
subtitle_contextNoThanh ngα»― cαΊ£nh tΓ³m tαΊ―t bα»‘i cαΊ£nh
layout_preferenceNoBα»‘ 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_pathNoĐườ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

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 DetailsB
Read-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.

NameRequiredDescriptionDefault
design_idYesID cα»§a thiαΊΏt kαΊΏ Canva (vΓ­ dα»₯: DAHaKPDSZSI)

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is given, 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 PalettesB
Read-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).

NameRequiredDescriptionDefault
limitNoSα»‘ lượng bαΊ£ng mΓ u tα»‘i Δ‘a trαΊ£ về
tag_filterNoLọc theo thẻ tag: 'light-neutral', 'dark', 'brand', 'mono-accent', 'warm', 'cool'

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

There is no statement of when to 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 WorkspaceC
Read-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.

NameRequiredDescriptionDefault
queryNoTừ khóa tìm kiếm thiết kế

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

There is no statement of when to use this tool versus 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 CloudB
Read-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).

NameRequiredDescriptionDefault
statusNoBα»™ lọc trαΊ‘ng thΓ‘i bΓ¬nh luαΊ­n: 'all', 'open', 'resolved'all
design_idNoID thiαΊΏt kαΊΏ Canva Cloud cαΊ§n đọc bΓ¬nh luαΊ­n (mαΊ·c Δ‘α»‹nh DAHaKPDSZSI)DAHaKPDSZSI

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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

With no output schema, the description 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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
brandKitIdNoID cα»§a Brand Kit cαΊ§n Δ‘α»“ng bα»™ (để trα»‘ng để lαΊ₯y Brand Kit mαΊ·c Δ‘α»‹nh)

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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

The tool is simple (one optional 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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 CloudA
Read-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.

NameRequiredDescriptionDefault
design_idNoID thiết kế Canva Cloud (mặc định bài thuyết trình DAHaKPDSZSI)DAHaKPDSZSI
presentation_pathNoĐường dαΊ«n tệp .pptx cα»₯c bα»™ vα»«a chỉnh sα»­a để Δ‘α»‘i chiαΊΏu

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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

With no output schema, the description 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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

NameRequiredDescriptionDefault
imageUrlYesĐường dαΊ«n URL cΓ΄ng khai cα»§a tệp hΓ¬nh αΊ£nh cαΊ§n tαΊ£i lΓͺn Canva
assetNameNoTΓͺn Δ‘α»‹nh danh cα»§a tΓ i sαΊ£n lΖ°u trΓͺn Canvacanva_asset

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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

The description names a specific verb and resource: 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.

Usage Guidelines3/5

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)B
Read-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).

NameRequiredDescriptionDefault
textsYesDanh sΓ‘ch cΓ‘c Δ‘oαΊ‘n vΔƒn bαΊ£n trΓͺn slide (tiΓͺu đề, thαΊ», nα»™i dung)

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 21 tool updatesv3.1.0
    • First observedcanva_add_card_comparison
    • First observedcanva_add_kpi_dashboard
    • First observedcanva_add_process_timeline
    • First observedcanva_add_split_architecture
    • First observedcanva_add_swot_matrix
    • First observedcanva_add_tasteful_slide
    • First observedcanva_add_team_grid
    • First observedcanva_audit_entire_deck
    • First observedcanva_auto_fix_from_comment
    • First observedcanva_execute_layout_script
    • First observedcanva_export_presentation_deck
    • First observedcanva_export_slide_thumbnail
    • First observedcanva_generate_deck_from_data
    • First observedcanva_get_design_info
    • First observedcanva_list_taste_palettes
    • First observedcanva_list_workspace_designs
    • First observedcanva_read_design_comments
    • First observedcanva_sync_brand_kit
    • First observedcanva_sync_to_cloud
    • First observedcanva_upload_asset
    • First observedcanva_validate_slide_copy

TDQS

B3.1/5.0

Scored across 21 tools

Disambiguation2/5

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.

Naming Consistency4/5

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.

Tool Count3/5

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.

Completeness3/5

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

ActivityMaintained
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    C
    maintenance
    Enables LLMs to automatically generate presentation slides from natural language instructions using 80+ business-oriented templates, with auto-save and PDF export.
    83
    4,120 npm
    1
    AGPL 3.0
  • F
    license
    C
    quality
    C
    maintenance
    Enables 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
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to create, edit, and review presentation slides within a self-hosted collaborative editor, with access to shared libraries and discussion tools.
    4
    Apache 2.0