Canva API MCP Server
by mattcoatsworth
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.
View on GitHub
Last updated: N/A
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
Getting Started
- Clone this repository
- Install dependencies:
npm install
- Copy
.env.example
to.env
and add your Canva API credentials:CANVA_APP_ID=your_app_id CANVA_API_KEY=your_api_key
- Start the server:
npm run dev
Testing with MCP Inspector
To test the server with the MCP Inspector:
npm run inspect
This 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