Canva MCP — Workspace Assistant (PoC)
A proof-of-concept MCP server that augments the Canva CLI with custom tools for generating design briefs and staging assets for the Canva API.
README
Canva MCP — Workspace Assistant (PoC)
A proof-of-concept MCP (Model Context Protocol) server that augments the @canva/cli MCP capabilities with custom workspace-assistant tools for design brief generation and asset staging.
Quickstart
# Install dependencies
npm install
# Build TypeScript
npm run build
# Start the custom MCP server (stdio)
npm start
# Development mode with hot-reload
npm run dev
# Launch the native Canva CLI MCP server
npm run mcp
Connecting to MCP Hosts
Claude Desktop / Cursor / VS Code
Copy mcp-config.json into your MCP client configuration and set the environment variables:
| Variable | Description |
|---|---|
CANVA_CLIENT_ID |
Canva Developer App Client ID |
CANVA_CLIENT_SECRET |
Canva Developer App Client Secret |
For Cursor: Settings → Features → MCP Servers → Add new server, paste the mcpServers block from mcp-config.json.
For Claude Desktop: Edit claude_desktop_config.json and add the mcpServers block.
For VS Code: Use the GitHub Copilot Chat MCP configuration or the VS Code MCP extension.
PoC Checklist
This proof of concept validates:
- [x] MCP Server lifecycle — Stdio server start, tool list, and tool call handling via
@modelcontextprotocol/sdk. - [x] Custom tool:
generate_design_brief— Accepts structured input (client name, description, brand colors, deliverables, tone) and returns a formatted Canva Design Kit brief. - [x] Custom tool:
stage_assets— Accepts image URLs and returns a JSON asset manifest that can be consumed by the Canva Assets API. - [ ] Canva SDK compliance — Verify the manifest output matches Canva's
POST /v1/brand-assetsexpected schema. - [ ] End-to-end asset sync — Wire the
stage_assetsmanifest to the Canva CLI MCP for actual upload.
Project Structure
canva-mcp/
├── src/
│ └── index.ts # MCP server entry point, tool registration
├── tools/
│ ├── design-brief.ts # generate_design_brief tool implementation
│ └── asset-stager.ts # stage_assets tool implementation
├── package.json
├── tsconfig.json
├── mcp-config.json # Ready-to-use MCP host configuration
└── .env.example # Environment variable template
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.