Canva API MCP Server logo

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

  1. Clone this repository
  2. Install dependencies:
    npm install
    
  3. Copy .env.example to .env and add your Canva API credentials:
    CANVA_APP_ID=your_app_id
    CANVA_API_KEY=your_api_key
    
  4. 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 design
  • list_designs - List designs with optional pagination

Brand Management

  • get_brand - Get information about a specific brand
  • list_brands - List brands with optional pagination

Asset Management

  • get_asset - Get information about a specific asset
  • list_assets - List assets with optional filtering and pagination
  • upload_image - Upload an image to Canva from a URL

User Management

  • get_user - Get information about a specific user
  • list_users - List users with optional pagination

Available Resources

Documentation

  • canva://overview - General API overview
  • canva://getting-started - Getting started guide
  • canva://authentication - Authentication information
  • canva://designs - Designs API documentation
  • canva://brands - Brands API documentation
  • canva://assets - Assets API documentation
  • canva://users - Users API documentation

Entity Resources

  • canva://design/{designId} - Information about a specific design
  • canva://brand/{brandId} - Information about a specific brand
  • canva://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