---
title: Canva Integration
---

# Canva Integration

## What it is

Connects Claude sessions to Canva's design platform via the official Canva remote MCP server. When enabled, every spawned Claude session gets Canva tools injected automatically — agents can create designs, search your library, export files, manage brand templates, and more, all through conversation.

## Where to find it

Canva is an integration you switch on from Omniscio's Settings, under **Settings > Channels >
Canva** — one toggle, with no key to paste and no Canva developer account to create. Once it is
on, the tools appear inside your sessions rather than as a panel of their own, and the first
session that uses one opens Canva's own sign-in page in your browser.

## How it behaves

### Setup flow

1. In Omniscio, go to **Settings > Channels > Canva**
2. Enable the toggle

That's it. No API key, no URL to paste, no Canva developer account needed. The first time a session uses a Canva tool, Canva's own OAuth flow opens in your browser to authorize Omniscio — one-time, handled entirely by Canva's server.

### What sessions can do

With Canva enabled, Claude sessions get access to approximately 30 tools covering:

- **Design creation** — create new designs from prompts, generate designs with AI
- **Design search** — find designs across your Canva library
- **Export** — export designs to PDF, PNG, JPG, and other formats
- **Brand templates** — list and autofill brand templates with dynamic data
- **Asset and folder management** — organize assets and folders in your Canva account
- **Comments** — add and read comments on designs
- **Import** — import external designs into Canva
- **Shortlink resolution** — resolve Canva shortlinks to full design URLs

### Limitations

**No granular design editing.** The Canva Connect API does NOT support changing text color, fonts, element positions, or backgrounds programmatically. For detailed visual edits, open the design in Canva directly. This is a Canva API limitation, not an Omniscio one.

**Plan-gated features:**

- Brand templates and autofill require **Canva Enterprise**
- Design resize requires **Canva Pro** or higher

**Rate limits:**

- 20 requests/minute for creation operations
- 100 requests/minute for read operations

**Individual accounts only** for now — team/organization account support is planned for a future release.

### Auth model

Canva uses OAuth 2.0 via browser redirect. The remote MCP server handles the entire flow — no token or credential is stored in Omniscio's config. On first tool use, Canva opens a browser window for authorization. Subsequent sessions reuse that authorization automatically.

### Phase 2 (future)

Phase 1 uses the official remote MCP server as-is. If the official tools prove insufficient for Omniscio's needs (particularly around the editing limitations above), a Phase 2 custom stdio MCP server wrapping the Canva Connect REST API may be built for more granular control. Both phases share the same Omniscio wiring (settings, orchestrator, integration manifest, UI).

## For agents

### How it works

Omniscio injects the Canva MCP server entry into each session's `.mcp.json` at spawn time, alongside any other MCP servers (MemPalace, KMS, Zapier, etc.). The Canva server is **remote** (HTTP transport at `https://mcp.canva.com/mcp`) — no bundled binary, no local subprocess, just a URL. Authentication is handled automatically by the Canva server itself: on the first tool call in a session, Canva opens a browser window for OAuth sign-in. After that initial sign-in, sessions reuse the authorization without prompting again.

### Architecture

| Component            | File                                                   | Purpose                                                      |
| -------------------- | ------------------------------------------------------ | ------------------------------------------------------------ |
| Entry builder        | `src/main/services/canva/mcp-config-entry.ts`          | Builds `McpRemoteServerEntry` with the Canva MCP URL         |
| Orchestrator         | `src/main/services/mcp/mcp-config-orchestrator.ts`     | Composes Canva alongside mempalace/kms/zapier in `.mcp.json` |
| Integration manifest | `src/shared/integrations/canva.ts`                     | `canva` channel-adapter entry in the integration registry    |
| MCP catalog          | `src/renderer/src/features/mcp-servers/mcp-catalog.ts` | Per-session MCP server toggle UI                             |
| MCP selection        | `src/shared/mcp-selection.ts`                          | Declares `canva` as a composed built-in MCP id               |

### Feature flag

- **Setting**: `canvaMcpEnabled` (default `false`)
- When false, the MCP entry is omitted from session `.mcp.json` entirely
- Force-disabled for Search, Ask-Omniscio, and KMS sessions (same as the other built-in MCPs)

## Related

Canva is one of the connected tool servers a session can be given; how that whole layer is
managed is on the [MCP servers](mcp-servers.md) page, and the difference between a connected
tool and the engine's own built-in tools is on the [Agent tools](agent-tools.md) page.
