diff --git a/packages/connections/src/mcp-presets.test.ts b/packages/connections/src/mcp-presets.test.ts index 338a2ca5..63768e1b 100644 --- a/packages/connections/src/mcp-presets.test.ts +++ b/packages/connections/src/mcp-presets.test.ts @@ -13,6 +13,7 @@ describe("MCP_PRESETS", () => { expect(slugs).toEqual( [ "attio", + "canva", "exa", "github-mcp", "granola", @@ -79,6 +80,7 @@ describe("MCP_PRESETS", () => { railway: "https://mcp.railway.com", posthog: "https://mcp.posthog.com/mcp", sumble: "https://mcp.sumble.com/", + canva: "https://mcp.canva.com/mcp", }); }); @@ -105,4 +107,9 @@ describe("MCP_PRESETS", () => { test("mcpPresetBySlug returns undefined for an unknown slug", () => { expect(mcpPresetBySlug("not-a-preset")).toBeUndefined(); }); + + test("Canva is a DCR-verified OAuth preset with no simple-icons mark yet", () => { + expect(mcpPresetBySlug("canva")?.connectionMode).toBe("oauth"); + expect(mcpPresetBySlug("canva")?.icon).toBeUndefined(); + }); }); diff --git a/packages/connections/src/mcp-presets.ts b/packages/connections/src/mcp-presets.ts index 72aefc2e..e208aa0b 100644 --- a/packages/connections/src/mcp-presets.ts +++ b/packages/connections/src/mcp-presets.ts @@ -130,6 +130,17 @@ export const MCP_PRESETS: readonly McpPreset[] = [ connectionMode: "oauth", docsUrl: "https://sumble.com/guides/account-research", }, + { + // No simple-icons listing for Canva (CL-6647) — same gap as Granola + // and Sumble above, so this card falls back to the initial-letter + // tile rather than risk a hand-traced or doctored mark. + slug: "canva", + displayName: "Canva", + description: "Design decks, docs, and graphics.", + url: "https://mcp.canva.com/mcp", + connectionMode: "oauth", + docsUrl: "https://www.canva.dev/docs/mcp/", + }, ]; export const MCP_PRESET_CONNECTOR_IDS: readonly string[] = MCP_PRESETS.flatMap( diff --git a/workflows/assistant/test/manager-tools-scenario.test.ts b/workflows/assistant/test/manager-tools-scenario.test.ts index b8a5e80c..a9915eff 100644 --- a/workflows/assistant/test/manager-tools-scenario.test.ts +++ b/workflows/assistant/test/manager-tools-scenario.test.ts @@ -333,7 +333,7 @@ async function runScenario( new AbortController().signal, ); expect(String(afterConnect.content)).toContain( - "Not connected: GitHub MCP, Notion, Sentry, Attio, Railway, PostHog, Sumble.", + "Not connected: GitHub MCP, Notion, Sentry, Attio, Railway, PostHog, Sumble, Canva.", ); expect(String(afterConnect.content)).toContain( "Connected: Granola, Exa, Linear.",