Canva MCP Server
🎨 Canva MCP Server
AI 어시스턴트(Google Antigravity, Gemini CLI, Claude Desktop, Cursor)를 공식 API(Canva Connect API)를 통해 Canva 계정에 직접 연결하세요. 자연어로 디자인을 만들고, 검색하고, 내보내고, 업로드할 수 있습니다.
⚡ 빠른 시작 (Quickstart)
1. npx를 통한 직접 설정
저장소를 클론할 필요 없이 npx로 직접 실행할 수 있습니다:
🤖 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
🧰 사용 가능한 도구
연결이 완료되면 AI에게 다음과 같이 요청할 수 있습니다:
도구 | 기능 | 프롬프트 예시 |
| 최근 디자인을 썸네일 및 편집 링크와 함께 나열합니다. | "Canva에서 내 최근 프레젠테이션을 보여 줘" |
| ID로 디자인의 세부 정보, 페이지 및 URL을 가져옵니다. | "ID가 DAHKDKZXFcQ인 디자인의 정보를 알려 줘" |
| 새 디자인(프레젠테이션, 문서, Instagram 게시물 등)을 만듭니다. | "Canva에 '2026 출시'라는 제목의 Instagram 게시물을 만들어 줘" |
| 디자인을 PNG, JPG, PDF 또는 PPTX로 내보내고 다운로드 링크를 제공합니다. | "내 프레젠테이션을 PDF 형식으로 내보내 줘" |
| Canva 루트 폴더의 내용을 탐색합니다. | "Canva 기본 폴더에 어떤 항목이 있지?" |
| 특정 폴더 안의 항목을 나열합니다. | "ID가 X인 폴더 안의 파일들을 보여 줘" |
| Canva에 새 폴더를 만듭니다. | "'2026 프로젝트'라는 폴더를 만들어 줘" |
| 컴퓨터의 로컬 이미지를 Canva에 업로드합니다. | "./banner.png 이미지를 내 Canva 계정에 업로드해 줘" |
| 연결 상태와 토큰 유효성을 확인합니다. | "Canva 연결이 활성 상태인지 확인해 줘" |
🔑 자격 증명 초기 설정
Canva Developers에 접속하여 **
Your integrations**를 클릭하세요.**
Create an integration**을 클릭하고 $\rightarrow$ **Public**을 선택하세요.
**
Credentials**에서 Client ID를 복사하고 Client Secret을 생성하세요.**
Scopes**에서 권한을 활성화하세요(유일하게 호환되는 권한입니다):design:content:read,design:content:write,design:meta:readasset:read,asset:write,folder:read,folder:write,app:read

**
Authentication**에서 정확한 리디렉션 URL을 추가하세요:http://127.0.0.1:3000/callback
인증 (처음 한 번만)
Canva는 사용자별 자격 증명을 요구하므로, 터미널을 열고 다음을 실행하여 인증하고 토큰을 안전하게 저장하세요:
# 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-auth확인을 위해 브라우저가 열립니다. 완료! 토큰은 운영 체제에 0600 권한으로 저장됩니다.
🏗️ 아키텍처 및 보안
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 estructurado엔지니어링 특징:
🔐 안전한 OS 자격 증명 보관소: 토큰은 시스템 디렉터리(
~/.config/canva-mcp/Linux/Mac 또는%APPDATA%\canva-mcpWindows)에 POSIX0600권한(사용자만 읽을 수 있음)으로 저장됩니다.⚡ 충돌 방지 뮤텍스: 토큰 갱신 중 모델이 여러 도구를 병렬로 실행할 때 발생하는 경쟁 조건을 방지합니다.
🛡️ 지수 백오프: 비율 제한(
HTTP 429) 및 일시적 장애(5xx)에 대해 지수 백오프로 자동 재시도합니다.🧪 100% 테스트 커버리지: Vitest를 사용한 완전한 단위 테스트 스위트.
🧪 테스트 및 개발
# Ejecutar suite de pruebas unitarias
pnpm test
# Verificación estricta de tipos TypeScript
pnpm typecheck
# Compilar paquete de producción
pnpm build📄 라이선스
이 프로젝트는 MIT 라이선스 하에 있습니다. 자세한 내용은 LICENSE 파일을 참조하세요.
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