Skip to content

Built for people who want to own their automations. Join the waitlist for an invite.

Package listing

@kody/canva-mcp

src/list-designs.ts

23 lines · 520 B · TypeScript
import { canvaMcpSetupMessage, callCanvaMcp, firstArray } from './mcp.ts'

type Input = { query?: string; limit?: number }

export default async function listDesigns(input: Input = {}) {
	const mcp = await callCanvaMcp(
		[
  "list_designs",
  "listDesigns",
  "search",
  "get_designs"
],
		{ query: input.query?.trim() || undefined, limit: input.limit ?? 10 },
	)
	if (!mcp) {
		throw new Error(canvaMcpSetupMessage())
	}
	return {
		via: 'mcp',
		tool: mcp.tool,
		designs: firstArray(mcp.result) ?? mcp.result,
	}
}