Canva API MCP Server
Provides tools for managing designs, brands, assets, and users in Canva.
Click on "Deploy 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 API MCP Server list my recent designs"
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 API MCP Server
A comprehensive Model Context Protocol (MCP) server for interacting with Canva's API. This server provides tools and resources for managing designs, brands, assets, and users in Canva.
Features
Complete coverage of Canva API endpoints
Tools for all major API operations
Resources for documentation and entity details
Mock data support for testing without API credentials
Related MCP server: Anytype MCP Server
Getting Started
Clone this repository
Install dependencies:
npm installCopy
.env.exampleto.envand add your Canva API credentials:CANVA_APP_ID=your_app_id CANVA_API_KEY=your_api_keyStart the server:
npm run dev
Testing with MCP Inspector
To test the server with the MCP Inspector:
npm run inspectThis will open a web interface where you can:
Browse and test all available tools
Access resources
View server logs
Available Tools
Design Management
get_design- Get information about a specific designlist_designs- List designs with optional pagination
Brand Management
get_brand- Get information about a specific brandlist_brands- List brands with optional pagination
Asset Management
get_asset- Get information about a specific assetlist_assets- List assets with optional filtering and paginationupload_image- Upload an image to Canva from a URL
User Management
get_user- Get information about a specific userlist_users- List users with optional pagination
Available Resources
Documentation
canva://overview- General API overviewcanva://getting-started- Getting started guidecanva://authentication- Authentication informationcanva://designs- Designs API documentationcanva://brands- Brands API documentationcanva://assets- Assets API documentationcanva://users- Users API documentation
Entity Resources
canva://design/{designId}- Information about a specific designcanva://brand/{brandId}- Information about a specific brandcanva://asset/{assetId}- Information about a specific asset
Mock Data
If no API credentials are provided, the server will use mock data for all responses. This is useful for testing and development.
License
MIT
Available Tools
9 toolsget_assetD
Inputs: assetId (required).
get_brandD
Inputs: brandId (required).
get_designD
Inputs: designId (required).
get_userD
Inputs: userId (required).
list_assetsD
Inputs: type, limit, startAfter.
list_brandsD
Inputs: limit, startAfter.
list_designsD
Inputs: limit, startAfter.
list_usersD
Inputs: limit, startAfter.
upload_imageD
Inputs: url (required), title, brandId.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
The get/list pairs for each resource are distinct and easy to differentiate. The only potential confusion is 'upload_image' versus 'get_asset'/'list_assets', but the verb 'upload' clearly indicates a different action. Without descriptions, the boundaries between asset, design, user, and brand are clear from the names.
Most tools follow a consistent verb_noun pattern with 'get_' for singular resources and 'list_' for plural collections (e.g., get_user, list_users). The exception is 'upload_image', which uses a different verb and breaks the otherwise predictable pattern. The mix is minor but noticeable.
With 9 tools, the count is within the typical well-scoped range. Each resource has a get and list tool, which is reasonable for a read-focused server. The count feels appropriate for the apparent scope, though the lack of mutating tools may make the set feel slightly thin for a full API server.
The tool surface is severely incomplete for a Canva API. Only get and list operations are present for assets, users, designs, and brands, with no create, update, or delete functionality. 'upload_image' provides some creation capability for assets, but the rest of the resources have no way to create or modify them, leaving significant gaps for agents.
Maintenance
Related MCP Connectors
The Canva MCP server connects AI assistants (like Claude, ChatGPT, and Cursor) to Canva's API, enabling them to create and manage designs directly within chat conversations. Key capabilities include generating new designs from prompts, autofilling templates, searching and resizing existing designs, importing files from URLs, exporting designs as PDFs or images, and managing folders and comments without switching between tools.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Create, search, edit, and export designs and assets from Canva.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Related MCP Servers
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables interaction with the Canvas Learning Management System API, allowing users to manage courses, assignments, enrollments, and grades within Canvas.543,290 npm104JavaScriptMIT
- AlicenseNot gradedqualityBmaintenanceA Model Context Protocol (MCP) server implementation that enables AI assistants to interact with Anytype's API through natural language, allowing users to manage their knowledge base through conversation.2,277 npm538MIT
- AlicenseNot gradedqualityDmaintenanceA 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.2MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server for Canvas Medical API/SDK development assistance, providing streamlined access to Canvas Medical documentation and AI-powered development tools.1MIT