canva
MCP server from mattcoatsworth/canva-mcp-server
claude mcp add --transport stdio mattcoatsworth-canva-mcp-server node server.js \ --env CANVA_APP_ID="your_app_id" \ --env CANVA_API_KEY="your_api_key"
How to use
This MCP server provides a comprehensive interface to Canva's API, exposing endpoints and tools to manage designs, brands, assets, and users. When you run the server, you’ll gain access to a suite of commands such as get_design, list_designs, get_brand, list_brands, get_asset, list_assets, upload_image, get_user, and list_users. These tools are designed to mirror Canva’s API operations, and the MCP Inspector interface lets you browse and test each endpoint, view responses, and inspect available resources and documentation. If you don’t have API credentials, the server can operate with mock data to facilitate development and testing.
To explore and use the tools, start the server with the Inspector enabled and navigate through the Tools pane to call specific endpoints, supply parameters (like IDs and pagination options), and review structured responses. The Resources section provides documentation endpoints such as canva://designs, canva://brands, canva://assets, and canva://users to help you understand request formats and response shapes. Mock data will be returned when credentials are not provided, ensuring you can prototype flows without real Canva access.
How to install
Prerequisites:
- Node.js and npm installed on your system
- Access to Canva API credentials (optional for mock mode)
Installation steps:
-
Clone the repository git clone https://github.com/<owner>/mattcoatsworth-canva-mcp-server.git cd mattcoatsworth-canva-mcp-server
-
Install dependencies npm install
-
Configure environment
- Copy the example env file and add your Canva credentials (if available)
cp .env.example .env
Edit .env to include your Canva API credentials
nano .env - Required variables (example): CANVA_APP_ID=your_app_id CANVA_API_KEY=your_api_key
- Copy the example env file and add your Canva credentials (if available)
cp .env.example .env
-
Run the server npm run dev
-
(Optional) Test with MCP Inspector npm run inspect
Notes:
- If you don’t have Canva credentials, the server will operate in mock data mode by default.
Additional notes
Tips and common issues:
- Ensure CANVA_APP_ID and CANVA_API_KEY are set in the environment (.env) or in the runtime environment; missing credentials will fall back to mock data but may limit real API interactions.
- Use the MCP Inspector (npm run inspect) to explore all available tools and endpoints, and to generate sample requests.
- If you modify any design, brand, or asset endpoints, remember to review pagination options (e.g., list_designs, list_assets) to handle large result sets.
- The Documentation and Entity Resources in the MCP Inspector provide quick access to endpoint schemas and response formats (e.g., canva://design/{designId}, canva://brand/{brandId}).
- For debugging, check server logs via the Inspector to diagnose failed API calls or authentication issues.
Related MCP Servers
zen
Selfhosted notes app. Single golang binary, notes stored as markdown within SQLite, full-text search, very low resource usage
MCP -Deepseek_R1
A Model Context Protocol (MCP) server implementation connecting Claude Desktop with DeepSeek's language models (R1/V3)
mcp-fhir
A Model Context Protocol implementation for FHIR
mcp
Inkdrop Model Context Protocol Server
mcp-appium-gestures
This is a Model Context Protocol (MCP) server providing resources and tools for Appium mobile gestures using Actions API..
dubco -npm
The (Unofficial) dubco-mcp-server enables AI assistants to manage Dub.co short links via the Model Context Protocol. It provides three MCP tools: create_link for generating new short URLs, update_link for modifying existing links, and delete_link for removing short links.