design
Canva MCP Integration for Codex
Connect Canva to Codex through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect Canva to Codex
Use KosmoKrator as a local MCP proxy for Codex so coding sessions can reach selected integrations with explicit write policy.
Register kosmo mcp:serve as a local stdio server and choose the integration allowlist. The gateway is local, scoped to this integration, and starts with
--write=deny so Codex can inspect read-capable tools without receiving write access by default.
Canva MCP Config for Codex
Keep write access denied or ask-based unless the workspace is trusted.
{
"mcpServers": {
"kosmokrator-canva": {
"type": "stdio",
"command": "kosmo",
"args": [
"mcp:serve",
"--integration=canva",
"--write=deny"
]
}
}
} Run the Gateway Manually
kosmokrator mcp:serve --integration=canva --write=deny Why Use KosmoKrator Here
Expose only Canva instead of a broad multi-service tool list.
Reuse credentials already configured for the KosmoKrator CLI and Lua runtime.
Start read-only, then opt into ask or allow for trusted workspaces.
Canva Tools Visible to Codex
Codex sees stable MCP tool names generated from the Canva integration catalog.
| MCP tool | Source function | Type | Description |
|---|---|---|---|
integration__canva__canva_list_designs | canva.canva_list_designs | Read | List designs the user has access to in Canva. Supports filtering by search query and design type. Returns design titles and IDs that can be used with canva_get_design. |
integration__canva__canva_get_design | canva.canva_get_design | Read | Get details of a specific Canva design by its ID, including title, type, dimensions, and URLs. |
integration__canva__canva_create_design | canva.canva_create_design | Write | Create a new design in Canva. Specify a title and optionally a type (e.g., "presentation", "poster") and dimensions (width/height in pixels). |
integration__canva__canva_list_folders | canva.canva_list_folders | Read | List folders the user has access to in Canva. Returns folder names and IDs that can be used with canva_get_folder. |
integration__canva__canva_get_folder | canva.canva_get_folder | Read | Get details of a specific Canva folder by its ID, including name and contained items. |
integration__canva__canva_upload_asset | canva.canva_upload_asset | Write | Upload an asset to Canva from a URL. The file is imported into the user's Canva account and can optionally be placed in a specific folder. |
integration__canva__canva_get_current_user | canva.canva_get_current_user | Read | Get the authenticated Canva user's profile information, including display name and user ID. |