Canva MCP — Workspace Assistant (PoC)
Provides tools for generating design briefs and staging assets for Canva, enabling AI agents to create design briefs and prepare asset manifests for Canva's API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Canva MCP — Workspace Assistant (PoC)generate a design brief for a cafe with green palette"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
canva-mcp — Canva Workspace Assistant (PoC)
A proof-of-concept MCP (Model Context Protocol) server that augments the @canva/cli MCP capabilities with custom workspace-assistant tools for design brief generation and asset staging — structured on the Delivery Pilot 7-stage self-learning framework with 7 dedicated AI agents.
Quickstart
The MCP server code lives in 5_Symbols/mcp-server/:
cd 5_Symbols/mcp-server
# Install dependencies
npm install
# Build TypeScript
npm run build
# Start the custom MCP server (stdio)
npm start
# Development mode with hot-reload
npm run dev
# Launch the native Canva CLI MCP server
npm run mcpSee 5_Symbols/mcp_server.md for MCP host configuration (Claude Desktop / Cursor / VS Code) and the PoC checklist.
Related MCP server: Canva API MCP Server
Secrets — Azure Key Vault
All secrets are stored in the existing Azure Key Vault dp-kv-deliverypilot (/vaults/dp-kv-deliverypilot/secrets). Do not create a new Key Vault.
# Get a secret
5_Symbols/toolbox/secrets.sh get canva-mcp-CANVA-CLIENT-ID
# Save a secret
5_Symbols/toolbox/secrets.sh set canva-mcp-CANVA-CLIENT-ID "<value>"Secret (vault name) | Env var | Purpose |
|
| Canva Developer App Client ID |
|
| Canva Developer App Client Secret |
Agentic Workflow
graph TD
USER["User Task"]
RA["Real Agent<br/>1_Real_Unknown<br/>Coordinator: OKRs, tasks, risks"]
EA["Environment Agent<br/>2_Environment<br/>Blueprints, tools, deps, costs, context"]
SA["Simulation Agent<br/>3_Simulation<br/>Visual designs, mockups, versions"]
FA["Formula Agent<br/>4_Formula<br/>Specs, approval gate"]
SYA["Symbols Agent<br/>5_Symbols<br/>Code implementation"]
TA["Test Agent<br/>7_Testing_Known<br/>Smoke tests, code reviews"]
SEA["Semblance Agent<br/>6_Semblance<br/>Error fixes, lessons, sub-agents"]
LOG["llm_thinking_log.md<br/>Agent Communication Hub"]
USER --> RA
RA -->|dispatches| EA
EA -->|blueprints| SA
SA -->|designs| FA
FA -->|specs + approval| SYA
SYA -->|code| TA
TA -->|errors found| SEA
SEA -->|lessons + fixes| RA
RA --> LOG
EA --> LOG
SA --> LOG
FA --> LOG
SYA --> LOG
TA --> LOG
SEA --> LOG
style RA fill:#8b5cf6,color:#fff
style EA fill:#06b6d4,color:#fff
style SA fill:#10b981,color:#fff
style FA fill:#f59e0b,color:#fff
style SYA fill:#ef4444,color:#fff
style TA fill:#3b82f6,color:#fff
style SEA fill:#ec4899,color:#fff
style LOG fill:#1e293b,color:#94a3b8How the agents communicate: All 7 agents write their reasoning to 4_Formula/llm_thinking_log.md. Upstream agents log their decisions; downstream agents read those logs before acting. The Semblance Agent closes the loop by feeding resolved errors and lessons back to the Real Agent.
🧠 Cognitive Mapping — 7 Stages to Self-Learning
Stage | Folder | Cognitive Step | Agent |
1 |
| Active Ignorance — State what you don't know | Real Agent |
2 |
| Mental Sandbox — Build context and constraints | Environment Agent |
3 |
| Visualization — Make the invisible visible | Simulation Agent |
4 |
| Synthesis — Plan, spec, and decide | Formula Agent |
5 |
| Execution — Turn plans into reality | Symbols Agent |
7 |
| Validation — Prove it works | Test Agent |
6 |
| Feedback Loop — Learn from errors, improve | Semblance Agent |
Project Structure
canva-mcp/
├── 1_Real_Unknown/ # Problem statement, OKRs, tasks, risks
├── 2_Environment/ # Architecture, setup guides, tools, MCP docs
├── 3_Simulation/ # Design workflow, image prompts
├── 4_Formula/ # Specs, decisions, LLM thinking log
├── 5_Symbols/ # Code — the MCP server lives here
│ ├── mcp-server/ # TypeScript MCP server (src/, tools/)
│ ├── rules/ # Coding standards
│ └── toolbox/ # nav_sync, smoke_test, secrets.sh
├── 6_Semblance/ # Error logs, fixes, lessons learned
├── 7_Testing_Known/ # Smoke tests, validation reports
├── agents.md # Agent coordination rules
└── index.html # GitHub Pages entry pointHow to use
Fork or clone this repo
Read
agents.mdfor agent coordination rulesRead
1_Real_Unknown/prompts.mdfor the project management frameworkStart with
1_Real_Unknown/— define your problemLet AI agents guide you through each stage
🎠 Simulation Gallery
The home page carousel auto-plays the real screenshots of the Canva connection journey, loaded from 3_Simulation/carousel_config.json:
Connector OAuth (7 steps) — team-admin restriction → admin whitelists the AI Connector → consent → PKCE auth-code callback (
3_Simulation/canva_oauth_01–07)Canva CLI login (3 steps) — CLI blocked by team admin → admin whitelists Canva CLI → "Successfully logged in to Canva CLI" (
3_Simulation/canva_cli_01–03)
See it live on the project home page · full step-by-step narration in 3_Simulation/image_prompts.md · workflow in 3_Simulation/design_workflow.md.
The Connect API integration (OC-AZ9VpNJiU0ps) is submitted for Canva review (in queue since 2026-07-12) — status tracked in 2_Environment/mcp.md.
Links
GitHub Pages: https://rifaterdemsahin.github.io/canva-mcp/
GitHub: canva-mcp
Template: delivery-pilot-template
LinkedIn: rifaterdemsahin
YouTube: @RifatErdemSahin
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityCmaintenanceA hybrid MCP server that proxies Pencil's native design tools and adds utilities for .pen file management, enabling design token extraction, layer trees, diffs, and batch export.Last updatedMIT
- FlicenseDqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server for interacting with Canva's API. It enables managing designs, brands, assets, and users through natural language.Last updated98
- Alicense-qualityDmaintenanceA Model Context Protocol (MCP) server for Canva integration. Connect Claude Code or any MCP-compatible AI client to your Canva account to search designs, generate AI designs, edit content, manage folders, and collaborate through comments.Last updated2MIT
- AlicenseAqualityAmaintenanceBridges MCP clients to Affinity by Canva's local MCP server, exposing tools for script execution, rendering, and SDK documentation.Last updated1613MIT
Related MCP Connectors
MCP server for generating rough-draft project plans from natural-language prompts.
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rifaterdemsahin/canva-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server