# How to connect Canva MCP with VS Code

```json
{
  "title": "How to connect Canva MCP with VS Code",
  "toolkit": "Canva",
  "toolkit_slug": "canva",
  "framework": "VS Code",
  "framework_slug": "vscode",
  "url": "https://composio.dev/toolkits/canva/framework/vscode",
  "markdown_url": "https://composio.dev/toolkits/canva/framework/vscode.md",
  "updated_at": "2026-05-06T08:05:01.606Z"
}
```

## Introduction

### How to connect Canva MCP with VS Code
VS Code is the most popular code editor out there. With its recent AI makeover, it can do more than just help you write code. You can connect your applications to it and let LLMs automate many of the mundane tasks in your workflow.
In this guide, I will explain how to connect Canva with VS Code in the most secure and robust way possible via Composio.

## Also integrate Canva with

- [ChatGPT](https://composio.dev/toolkits/canva/framework/chatgpt)
- [OpenAI Agents SDK](https://composio.dev/toolkits/canva/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/canva/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/canva/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/canva/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/canva/framework/codex)
- [Cursor](https://composio.dev/toolkits/canva/framework/cursor)
- [OpenCode](https://composio.dev/toolkits/canva/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/canva/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/canva/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/canva/framework/cli)
- [Google ADK](https://composio.dev/toolkits/canva/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/canva/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/canva/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/canva/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/canva/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/canva/framework/crew-ai)

## TL;DR

### Why use Composio?
Composio provides:
- Access to 1,000+ managed apps from a single MCP endpoint. This makes it convenient for agents to run cross-app workflows.
- Programmatic tool calling. Allows LLMs to write its code in a remote workbench to handle complex tool chaining. Reduces to-and-fro with LLMs for frequent tool calling.
- Large tool response handling outside the LLM context. This minimizes context bloat from large tool responses.
- Dynamic just-in-time access to thousands of tools across hundreds of apps. Composio loads the tools your agent needs, so LLMs are not overwhelmed by tools they do not need.

## Connect Canva to VS Code

### Integrate Canva MCP with VS Code
### 1. Install with one click
Click the button below to add Composio to VS Code. You will be prompted to authorize. This requires VS Code 1.99+ with GitHub Copilot.
[+Install in VS Code](vscode:mcp/install?%7B%22name%22%3A%22composio%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fconnect.composio.dev%2Fmcp%22%7D)
### 2. Or add manually
Open or create .vscode/mcp.json in your project root and add the following configuration:

```bash
{
  "servers": {
    "composio": {
      "type": "http",
      "url": "https://connect.composio.dev/mcp"
    }
  }
}
```

## What is the Canva MCP server, and what's possible with it?

The Canva MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Canva account. It provides structured and secure access to your Canva designs, templates, folders, assets, and user details, so your agent can create designs, organize projects, manage assets, and collaborate on feedback for you.
- Automated design creation and asset integration: Direct your agent to generate new Canva designs using templates or custom dimensions, and add assets from your projects automatically.
- Seamless folder and project organization: Have the agent create user or subfolders to keep your Canva projects structured and easily accessible.
- Asset management and cleanup: Let your agent fetch upload statuses, manage, or delete assets by ID, helping you keep your design library up to date.
- Collaborative design feedback: Empower your agent to add comments or reply within designs, making it easy to facilitate feedback and teamwork directly in Canva.
- User and team information retrieval: Quickly obtain user or team details, allowing your agent to personalize interactions and automate workflows based on your Canva account info.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST` | Access user specific brand templates list | This year, brand template ids will change; integrations storing them must update within 6 months. also, api use requires canva enterprise membership. |
| `CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSET` | Create canva design with optional asset | Create a new canva design using a preset or custom dimensions, and add an asset with `asset id` from a user's project using relevant apis. |
| `CANVA_CREATE_COMMENT_REPLY_IN_DESIGN` | Create comment reply in design | This preview api allows replying to comments within a design on canva, with a limit of 100 replies per comment. users should note potential unannounced changes, and that preview apis are not eligible for public integrations. |
| `CANVA_CREATE_DESIGN_COMMENT_IN_PREVIEW_API` | Create design comment in preview api | This api is in preview and may change without notice; integrations using it won't pass review. it allows creating comments on a design, with a limit of 1000 comments per design. |
| `CANVA_CREATE_USER_OR_SUB_FOLDER` | Create user or sub folder | This api creates a folder in a canva user's projects at the top level or within another folder, returning the new folder's id and additional details upon success. |
| `CANVA_DELETE_ASSET_BY_ID` | Delete asset by id | You can delete an asset by specifying its `assetid`. this operation mirrors the behavior in the canva ui. deleting an item moves it to the trash. deleting an asset doesn't remove it from designs that already use it. |
| `CANVA_EXCHANGE_OAUTH20_ACCESS_OR_REFRESH_TOKEN` | Exchange oauth 2 0 access or refresh token | The oauth 2.0 endpoint issues time-limited (4-hour) access tokens of up to 4kb for user authorization via codes or refresh tokens. it requires client id/secret for authentication. |
| `CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS` | Fetch asset upload job status | Summarize asset upload outcome by repeatedly calling the endpoint until a 'success' or 'failed' status is received after using the create asset upload job api. |
| `CANVA_FETCH_CANVA_CONNECT_SIGNING_PUBLIC_KEYS` | Fetch canva connect signing public keys | The api for verifying canva webhooks, 'connect/keys,' is in preview, meaning unstable, not for public integrations, and provides a rotating jwk for signature verification to prevent replay attacks. cache keys for efficiency. |
| `CANVA_FETCH_CURRENT_USER_DETAILS` | Fetch current user details | Returns the user id, team id, and display name of the user account associated with the provided access token. |
| `CANVA_FETCH_DESIGN_METADATA_AND_ACCESS_INFORMATION` | Fetch design metadata and access information | Gets the metadata for a design. this includes owner information, urls for editing and viewing, and thumbnail information. |
| `CANVA_GET_DESIGN_EXPORT_JOB_RESULT` | Get design export job result | Get the outcome of a canva design export job; if done, receive download links for the design’s pages. for details, visit the create design export job api documentation. |
| `CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOB` | Initiate canva design autofill job | Upcoming brand template id updates require migration within 6 months. canva enterprise users can auto-fill designs using various data types, including experimental chart data. monitor jobs with specific api. |
| `CANVA_INITIATES_CANVA_DESIGN_EXPORT_JOB` | Initiates canva design export job | Canva's new job feature exports designs in multiple formats using a design id, with provided download links. the export status can be tracked via an api. exports with 'pro' quality may fail if the design contains unpaid premium elements. |
| `CANVA_LIST_DESIGN_PAGES_WITH_PAGINATION` | List design pages with pagination | Preview api for canva: subject to unannounced changes and not for public integrations. lists metadata for design pages with optional `offset` and `limit`; not applicable to all design types. |
| `CANVA_LIST_FOLDER_ITEMS_BY_TYPE_WITH_SORTING` | List folder items by type with sorting | Lists the items in a folder, including each item's `type`. folders can contain: - other folders. - designs, such as instagram posts, presentations, and documents ([canva docs](https://www.canva.com/create/documents/)). - image assets. |
| `CANVA_LIST_USER_DESIGNS` | List User Designs | Provides a summary of canva user designs, includes search filtering, and allows showing both self-created and shared designs with sorting options. |
| `CANVA_MOVE_ITEM_TO_SPECIFIED_FOLDER` | Move item to specified folder | Transfers an item to a different folder by specifying both the destination folder's id and the item's id. if the item is in various folders, an error occurs; manual relocation via canva ui is required. |
| `CANVA_REMOVE_FOLDER_AND_MOVE_CONTENTS_TO_TRASH` | Remove folder and move contents to trash | Deletes a folder by moving the user's content to trash and reassigning other users' content to their top-level projects. |
| `CANVA_RETRIEVE_APP_PUBLIC_KEY_SET` | Retrieve app public key set | Returns the json web key set (public keys) of an app. these keys are used to verify jwts sent to app backends. |
| `CANVA_RETRIEVE_A_SPECIFIC_DESIGN_COMMENT` | Retrieve a specific design comment | This preview api is subject to unannounced changes and can't be used in public integrations. it retrieves a comment, details of which are on canva help center. |
| `CANVA_RETRIEVE_ASSET_METADATA_BY_ID` | Retrieve asset metadata by id | You can retrieve the metadata of an asset by specifying its `assetid`. |
| `CANVA_RETRIEVE_BRAND_TEMPLATE_DATASET_DEFINITION` | Retrieve brand template dataset definition | Canva's brand template ids will change later this year, including a 6-month integration migration. api access requires enterprise membership, providing autofill for images, text, and charts, although chart data could change during preview. |
| `CANVA_RETRIEVE_CANVA_ENTERPRISE_BRAND_TEMPLATE_METADATA` | Retrieve canva enterprise brand template metadata | Upcoming update will change brand template ids; integrations must migrate within 6 months. api use requires canva enterprise membership. |
| `CANVA_RETRIEVE_DESIGN_AUTOFILL_JOB_STATUS` | Retrieve design autofill job status | Api users with canva enterprise membership can retrieve design autofill job results, potentially requiring multiple requests until a `success` or `failed` status is received. |
| `CANVA_RETRIEVE_DESIGN_IMPORT_JOB_STATUS` | Retrieve design import job status | Gets the status and results of design import jobs created using the [create design import job api](https://www.canva.dev/docs/connect/api-reference/design-imports/create-design-import-job/). |
| `CANVA_RETRIEVE_FOLDER_DETAILS_BY_ID` | Retrieve folder details by id | Gets the name and other details of a folder using a folder's `folderid`. |
| `CANVA_RETRIEVE_USER_PROFILE_DATA` | Retrieveuserprofiledata | Currently, this returns the display name of the user account associated with the provided access token. more user information is expected to be included in the future. |
| `CANVA_REVOKE_OAUTH_TOKENS` | Revoke oauth tokens | Revoke a refresh token to end its lineage and user consent, requiring re-authentication. authenticate using either basic access with base64-encoded credentials or body parameters with client id and secret. |
| `CANVA_UPDATE_ASSET_S_NAME_AND_TAGS_BY_ID` | Update asset s name and tags by id | You can update the name and tags of an asset by specifying its `assetid`. updating the tags replaces all existing tags of the asset. |
| `CANVA_UPDATE_FOLDER_DETAILS_BY_ID` | Update folder details by id | Updates a folder's details using its `folderid`. currently, you can only update a folder's name. |
| `CANVA_VALIDATE_OAUTH_TOKEN_PROPERTIES` | Validate oauth token properties | Check an access token's validity and properties via introspection, requiring authentication. use basic access (base64 encoded `client id:client secret`) or body parameters for credentialing. |

## Supported Triggers

None listed.

## Creating MCP Server - Stand-alone vs Composio SDK

Once connected, VS Code can access the Canva MCP server via Composio to run the app actions you authorize, directly from your coding workflow.

## Complete Code

None listed.

## Conclusion

### Way Forward
Now that Canva is connected, extend your setup by connecting the other apps you already use every day, so your agent can run true cross-app workflows end to end.
- Connect Calendar to turn threads into scheduled meetings automatically.
- Connect Slack or Teams to post summaries, approvals, and alerts where your team works.
- Connect Notion, Linear, Jira, or Asana to convert requests into tickets, tasks, and docs.
- Connect Drive, Dropbox, or OneDrive to fetch, file, and share attachments without manual steps.
- Connect HubSpot or Salesforce to log customer context, update records, and draft follow-ups.
Start with one workflow you do repeatedly, then keep adding apps as you find new handoffs. With everything behind a single MCP endpoint, your agent can coordinate multiple tools safely and reliably in one conversation.

## How to build Canva MCP Agent with another framework

- [ChatGPT](https://composio.dev/toolkits/canva/framework/chatgpt)
- [OpenAI Agents SDK](https://composio.dev/toolkits/canva/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/canva/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/canva/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/canva/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/canva/framework/codex)
- [Cursor](https://composio.dev/toolkits/canva/framework/cursor)
- [OpenCode](https://composio.dev/toolkits/canva/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/canva/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/canva/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/canva/framework/cli)
- [Google ADK](https://composio.dev/toolkits/canva/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/canva/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/canva/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/canva/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/canva/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/canva/framework/crew-ai)

## Related Toolkits

- [Figma](https://composio.dev/toolkits/figma) - Figma is a collaborative interface design tool for teams and individuals. It streamlines design workflows with real-time collaboration and easy sharing.
- [Abyssale](https://composio.dev/toolkits/abyssale) - Abyssale is a creative automation platform for generating images, videos, GIFs, PDFs, and HTML5 content programmatically. It streamlines and scales visual content production for marketing, design, and operations teams.
- [Alttext ai](https://composio.dev/toolkits/alttext_ai) - AltText.ai is a service that generates alt text for images automatically. It helps boost accessibility and SEO for your visual content.
- [Bannerbear](https://composio.dev/toolkits/bannerbear) - Bannerbear is an API-driven platform for generating images and videos automatically at scale. It helps businesses create custom graphics, social visuals, and marketing assets using powerful templates.
- [Claid ai](https://composio.dev/toolkits/claid_ai) - Claid.ai delivers AI-driven image editing APIs for tasks like background removal, upscaling, and color correction. It helps automate and enhance image workflows with powerful, developer-friendly tools.
- [Cloudinary](https://composio.dev/toolkits/cloudinary) - Cloudinary is a cloud-based platform for managing, uploading, and transforming images and videos. It streamlines media workflows and delivers optimized assets globally.
- [Cults](https://composio.dev/toolkits/cults) - Cults is a digital marketplace for 3D printing models, connecting designers and makers. It lets creators share, sell, and discover a huge variety of printable designs easily.
- [DeepImage](https://composio.dev/toolkits/deepimage) - DeepImage is an AI-powered image enhancer and upscaler. Get higher-quality images with just a few clicks.
- [Dreamstudio](https://composio.dev/toolkits/dreamstudio) - DreamStudio is Stability AI’s platform for generating and editing images with AI. It lets you easily turn ideas into stunning visuals, fast.
- [Fal.ai](https://composio.dev/toolkits/fal_ai) - Fal.ai is a generative media platform offering 600+ AI models for images, video, voice, and audio. Developers use Fal.ai for fast, scalable access to cutting-edge generative AI tools.
- [Html to image](https://composio.dev/toolkits/html_to_image) - Html to image converts HTML and CSS into images or captures web page screenshots. Instantly generate visuals from code or web content—no manual screenshots needed.
- [Imagior](https://composio.dev/toolkits/imagior) - Imagior is an AI-powered image generation platform that lets you create and customize images using dynamic templates and APIs. Perfect for businesses and creators needing fast, scalable visuals without design hassle.
- [Imejis io](https://composio.dev/toolkits/imejis_io) - Imejis io is an API-based image generation platform with powerful customization and template support. It lets you create and modify images in seconds, no manual design work required.
- [Imgix](https://composio.dev/toolkits/imgix) - Imgix is a real-time image processing and delivery service for developers. It helps you optimize, transform, and deliver images efficiently at any scale.
- [Kraken io](https://composio.dev/toolkits/kraken_io) - Kraken.io is an image optimization and compression platform. It helps you shrink image file sizes while keeping visual quality intact.
- [Logo dev](https://composio.dev/toolkits/logo_dev) - Logo.dev is an API and database for high-resolution company logos and brand metadata. Instantly fetch official logos from any domain without scraping or manual searching.
- [Miro](https://composio.dev/toolkits/miro) - Miro is a collaborative online whiteboard platform for teams to brainstorm, design, and manage projects visually. It streamlines teamwork by enabling real-time idea sharing, diagramming, and workflow planning in a single space.
- [Mural](https://composio.dev/toolkits/mural) - Mural is a digital whiteboard platform for distributed visual collaboration. It helps teams brainstorm, map ideas, and diagram together in real time.
- [Pexels](https://composio.dev/toolkits/pexels) - Pexels is a free stock library offering high-quality photos and videos via API. Instantly boost your app or website with stunning visuals for any use case.
- [Placid](https://composio.dev/toolkits/placid) - Placid is a creative automation toolkit that generates images, PDFs, and videos from custom templates via API. Effortlessly automate creative workflows and dynamic content creation at scale.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Canva MCP?

With a standalone Canva MCP server, the agents and LLMs can only access a fixed set of Canva tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Canva and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with VS Code?

Yes, you can. VS Code fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Canva tools.

### Can I manage the permissions and scopes for Canva while using Tool Router?

Yes, absolutely. You can configure which Canva scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Canva data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
