canva-mcp-server
Provides tools for searching, creating, and exporting designs through the Canva Connect API, enabling programmatic management of Canva design assets.
Click on "Install 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-mcp-serverCreate a new Instagram post design for our summer sale"
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-mcp-server
Educational MCP (Model Context Protocol) server that connects an AI agent to the Canva Connect API. Built as classroom material about creative media with AI — it shows in practice how an MCP server is structured.
What it does
It exposes 3 tools that an AI agent (Claude, etc.) can call:
Tool | What it does |
| Finds existing designs in the Canva account by title |
| Creates a new blank design (poster, presentation, Instagram post, etc.) |
| Exports a design as PNG, JPG, PDF, PPTX, GIF, or MP4 |
Related MCP server: mcp-toolbox
Project structure
canva-mcp-server/
├── package.json
├── tsconfig.json
├── src/
│ ├── index.ts # ponto de entrada, registra as ferramentas
│ ├── constants.ts
│ ├── services/canva.ts # cliente HTTP + tratamento de erros da API
│ └── tools/ # uma ferramenta por arquivo
│ ├── searchDesigns.ts
│ ├── createDesign.ts
│ └── exportDesign.ts1. Install dependencies
cd canva-mcp-server
npm install2. Get a Canva Access Token
The Canva Connect API uses OAuth 2.0 (Authorization Code + PKCE). Step-by-step:
Access the Canva Developer Portal and create an app (type "Connect API integration").
Note down the Client ID and the Client Secret.
Set up a Redirect URI (for local tests, something like
http://127.0.0.1:3333/callback).Define the required scopes, at minimum:
design:content:read,design:content:write,design:meta:read,asset:read.Follow Canva’s OAuth flow (authorization in the browser → exchange of the
codefor anaccess_token) — the official guide is at https://www.canva.dev/docs/connect/authentication/. For a class, the simplest approach is to use Postman/Insomnia with the built-in OAuth2 flow, or the example script from the Canva Developer Portal itself.Keep the obtained
access_token(it expires — for continuous reuse, you would need to implement the refresh token; this is an advanced exercise for the class).
3. Set up the environment variable
export CANVA_ACCESS_TOKEN="seu_access_token_aqui"(There is a .env.example in the repository with the same template, if you prefer to use a .env file.)
4. Build and execution
npm run build
npm startFor development with automatic reload:
npm run dev5. Connect to Claude Code / Claude Desktop
Add to your mcp config (e.g., the project’s .claude/settings.json or claude_desktop_config.json):
{
"mcpServers": {
"canva": {
"command": "node",
"args": ["/caminho/absoluto/para/canva-mcp-server/dist/index.js"],
"env": {
"CANVA_ACCESS_TOKEN": "seu_access_token_aqui"
}
}
}
}6. Test with the MCP Inspector
npx @modelcontextprotocol/inspector node dist/index.jsThis opens an interface to call the tools manually and see the results — great for demonstrating in class before connecting to a real agent.
Ideas for class exercises
Add a
canva_list_brand_templatestool (use brand templates).Implement automatic access token refresh.
Add support for
response_format(markdown vs JSON) as in the MCP best practices guide.Switch the transport from stdio to Streamable HTTP and run it as a service.
Licença
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that connects to Pollinations.ai API, enabling AI models to generate and download images and text through natural language commands.39Apache 2.0
- AlicenseNot gradedqualityDmaintenanceA comprehensive MCP server enabling LLMs to execute commands, manage files, interact with Figma, search the web, generate images, and more, extending their capabilities beyond text generation.Apache 2.0
- FlicenseDqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server for interacting with Canva's API. It enables managing designs, brands, assets, and users through natural language.98
- 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
Related MCP Connectors
Connect AI agents to Flato's editable canvas runtime through a hosted MCP server.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
An MCP server that gives your AI access to the source code and docs of all public github repos
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GUIPETAV/canva-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server