Skip to main content
Glama
elisbanpaco

Canva MCP Server

by elisbanpaco

🎨 Canva MCP Server

CI License: MIT Node.js Version NPM Version MCP Standard TypeScript Tested with Vitest

Подключайте ваших ИИ-ассистентов (Google Antigravity, Gemini CLI, Claude Desktop, Cursor) напрямую к вашей учётной записи Canva через официальный API (Canva Connect API). Создавайте, ищите, экспортируйте и загружайте дизайны с помощью естественного языка.


⚡ Быстрый старт (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

🧰 Доступные инструменты

После подключения вы можете попросить вашего ИИ:

Инструмент

Что делает?

Пример промпта

canva_list_designs

Список ваших недавних дизайнов с миниатюрами и ссылками для редактирования.

«Покажи мои недавние презентации в Canva»

canva_get_design

Получает детали, страницы и URL-адреса дизайна по его ID.

«Дай мне информацию о дизайне с ID DAHKDKZXFcQ»

canva_create_design

Создаёт новый дизайн (презентацию, документ, пост в Instagram и т. д.).

«Создай пост в Instagram в Canva под названием Запуск 2026»

canva_export_design

Экспортирует дизайн в PNG, JPG, PDF или PPTX и даёт ссылку для скачивания.

«Экспортируй мою презентацию в формат PDF»

canva_list_folders

Просматривает содержимое вашей корневой папки Canva.

«Какие элементы есть в моей основной папке Canva?»

canva_list_folder_items

Перечисляет элементы внутри конкретной папки.

«Покажи мне файлы внутри папки с ID X»

canva_create_folder

Создаёт новую папку в вашем Canva.

«Создай папку под названием Проекты 2026»

canva_upload_asset

Загружает локальное изображение с вашего компьютера в Canva.

«Загрузи изображение ./banner.png в мою учётную запись Canva»

canva_get_auth_status

Проверяет состояние подключения и действительность токенов.

«Проверь, активна ли моя связь с Canva»


🔑 Первоначальная настройка учётных данных

  1. Перейдите на Canva Developers и нажмите Your integrations.

  2. Нажмите Create an integration $\rightarrow$ Выберите Public.

    Создание интеграции Canva

  3. В разделе Credentials скопируйте ваш Client ID и создайте Client Secret.

  4. В разделе Scopes активируйте разрешения (они единственные поддерживаемые):

    • design:content:read, design:content:write, design:meta:read

    • asset:read, asset:write, folder:read, folder:write, app:read

    Настройка Scopes в Canva

  5. В разделе Authentication добавьте точный URL перенаправления: http://127.0.0.1:3000/callback

    Добавление URL перенаправления

Аутентификация (только в первый раз)

Поскольку 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

Инженерные особенности:

  • 🔐 Безопасное хранилище ОС: Токены сохраняются в системном каталоге (~/.config/canva-mcp/ в Linux/Mac или %APPDATA%\canva-mcp в Windows) с правами POSIX 0600 (доступны только вашему пользователю).

  • Мьютекс защиты от коллизий: Предотвращает состояния гонки, когда модель выполняет несколько инструментов параллельно во время обновления токена.

  • 🛡️ Экспоненциальная задержка: Автоматические повторные попытки с экспоненциальной задержкой при ограничениях скорости (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.

A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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