Canva MCP Server
Integrates with Canva, providing tools to list designs, retrieve design details, create designs (e.g., presentations, documents, Instagram posts), export designs to PNG/JPG/PDF/PPTX, manage folders, upload assets, and check authentication status via the Canva Connect 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 ServerCreate a new Instagram post design titled 'Spring Sale' in Canva."
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 Server
Connect your AI assistants (Google Antigravity, Gemini CLI, Claude Desktop, Cursor) directly to your Canva account through the official API (Canva Connect API). Create, search, export, and upload designs using natural language.
⚡ Quickstart
1. Direct Setup via npx
You can run it directly with npx without needing to clone the repository:
🤖 Google Antigravity / Gemini CLI (~/.gemini/config/mcp_config.json)
{
"mcpServers": {
"canva": {
"command": "npx",
"args": ["-y", "@elisbanpaco/mcp-canva-gemini-cli"],
"env": {
"CANVA_CLIENT_ID": "tu_client_id",
"CANVA_CLIENT_SECRET": "tu_client_secret"
}
}
}
}🟣 Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"canva": {
"command": "npx",
"args": ["-y", "@elisbanpaco/mcp-canva-gemini-cli"],
"env": {
"CANVA_CLIENT_ID": "tu_client_id",
"CANVA_CLIENT_SECRET": "tu_client_secret"
}
}
}
}💻 Cursor IDE (.cursor/mcp.json)
{
"mcpServers": {
"canva": {
"command": "npx",
"args": ["-y", "@elisbanpaco/mcp-canva-gemini-cli"],
"env": {
"CANVA_CLIENT_ID": "tu_client_id",
"CANVA_CLIENT_SECRET": "tu_client_secret"
}
}
}
}Related MCP server: Canvelete
🧰 Available Tools
Once connected, you can ask your AI:
Tool | What does it do? | Example Prompt |
| Lists your recent designs with thumbnails and editing links. | "Show me my recent presentations in Canva" |
| Gets the details, pages, and URLs of a design by its ID. | "Give me the information for the design with ID DAHKDKZXFcQ" |
| Creates a new design (presentation, document, Instagram post, etc.). | "Create an Instagram post in Canva titled Launch 2026" |
| Exports a design to PNG, JPG, PDF, or PPTX and gives you the download link. | "Export my presentation to PDF format" |
| Explores the contents of your Canva root folder. | "What items do I have in my main Canva folder?" |
| Lists the items inside a specific folder. | "Show me the files inside the folder with ID X" |
| Creates a new folder in your Canva. | "Create a folder called Projects 2026" |
| Uploads a local image from your computer to Canva. | "Upload the image ./banner.png to my Canva account" |
| Verifies the connection status and validity of the tokens. | "Check if my Canva connection is active" |
🔑 Initial Credential Setup
Go to Canva Developers and click on
Your integrations.Click on
Create an integration$\rightarrow$ ChoosePublic.
In
Credentials, copy your Client ID and generate your Client Secret.In
Scopes, enable the permissions (these are the only supported ones):design:content:read,design:content:write,design:meta:readasset:read,asset:write,folder:read,folder:write,app:read

In
Authentication, add the exact redirect URL:http://127.0.0.1:3000/callback
Authentication (First time only)
Since Canva requires per-user credentials, open your terminal and run this to authenticate and securely store your tokens:
# En Linux/macOS
export CANVA_CLIENT_ID="tu_client_id"
export CANVA_CLIENT_SECRET="tu_client_secret"
npx -p @elisbanpaco/mcp-canva-gemini-cli mcp-canva-auth
# En Windows (PowerShell)
$env:CANVA_CLIENT_ID="tu_client_id"
$env:CANVA_CLIENT_SECRET="tu_client_secret"
npx -p @elisbanpaco/mcp-canva-gemini-cli mcp-canva-authYour browser will open to confirm. Done! Your tokens will be saved with 0600 permissions on your operating system.
🏗️ Architecture and Security
sequenceDiagram
autonumber
actor User as Usuario / Asistente IA
participant MCP as Canva MCP Server (Stdio)
participant Vault as Bóveda de Tokens (~/.config/canva-mcp)
participant CanvaOAuth as Canva OAuth2 (PKCE S256)
participant CanvaAPI as Canva Connect API (REST v1)
Note over User,CanvaAPI: 1. Flujo de Autenticación (pnpm auth)
MCP->>CanvaOAuth: Inicia flujo PKCE con desafío SHA-256
CanvaOAuth-->>MCP: Redirección con Código de Autorización
MCP->>CanvaOAuth: Intercambio de código por Tokens de acceso
CanvaOAuth-->>MCP: Access Token + Refresh Token
MCP->>Vault: Guarda en almacenamiento seguro (Permisos 0600)
Note over User,CanvaAPI: 2. Ejecución de Herramientas en Tiempo Real
User->>MCP: Llama a herramienta (ej. canva_list_designs)
MCP->>Vault: Carga token válido (Auto-renovación con Mutex)
MCP->>CanvaAPI: Petición HTTP Bearer con Exponential Backoff
CanvaAPI-->>MCP: Respuesta JSON con metadatos y URLs
MCP-->>User: Resultado estructuradoEngineering Features:
🔐 Secure OS Vault: Tokens are stored in the system directory (
~/.config/canva-mcp/on Linux/Mac or%APPDATA%\canva-mcpon Windows) with POSIX0600permissions (readable only by your user).⚡ Anti-collision Mutex: Prevents race conditions when the model runs multiple tools in parallel during token renewal.
🛡️ Exponential Backoff: Automatic retries with exponential backoff on rate limits (
HTTP 429) and temporary outages (5xx).🧪 100% Test Coverage: Complete unit test suite with Vitest.
🧪 Testing and Development
# Ejecutar suite de pruebas unitarias
pnpm test
# Verificación estricta de tipos TypeScript
pnpm typecheck
# Compilar paquete de producción
pnpm build📄 License
This project is licensed under the MIT license. See the LICENSE file for more details.
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
- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to generate presentations, documents, and webpages through the Gamma.app API with support for custom themes, tones, audiences, and image generation.16
- AlicenseNot gradedqualityDmaintenanceEnables programmatic design creation and manipulation on the Canvelete platform through AI assistants. Supports design management, canvas element manipulation, template application, asset management, and real-time synchronization with the design editor.25MIT
- AlicenseBqualityBmaintenanceEnables AI assistants to manage Canvas LMS courses, announcements, rubrics, assignments, modules, pages, and student data via the Canvas API.603612MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to generate Gamma presentations, documents, and social media posts using the Gamma.app API.2612MIT
Related MCP Connectors
Sync Lightroom, Figma, Dropbox & Canva assets to WordPress and Shopify via natural language.
Sync Lightroom, Figma, Dropbox & Canva assets to WordPress and Shopify via natural language.
Connect AI assistants to Stellary projects, boards, documents, and governed agent workflows.
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/elisbanpaco/mcp-canva-gemini-cli'
If you have feedback or need assistance with the MCP directory API, please join our Discord server