diff --git a/packages/ui-patterns/src/McpUrlBuilder/assets/warp-icon-dark.svg b/packages/ui-patterns/src/McpUrlBuilder/assets/warp-icon-dark.svg new file mode 100644 index 00000000000..9799154c284 --- /dev/null +++ b/packages/ui-patterns/src/McpUrlBuilder/assets/warp-icon-dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/ui-patterns/src/McpUrlBuilder/assets/warp-icon.svg b/packages/ui-patterns/src/McpUrlBuilder/assets/warp-icon.svg new file mode 100644 index 00000000000..ea1212cbc64 --- /dev/null +++ b/packages/ui-patterns/src/McpUrlBuilder/assets/warp-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/ui-patterns/src/McpUrlBuilder/clients.data.ts b/packages/ui-patterns/src/McpUrlBuilder/clients.data.ts index f1bfecd348a..92e1378a46b 100644 --- a/packages/ui-patterns/src/McpUrlBuilder/clients.data.ts +++ b/packages/ui-patterns/src/McpUrlBuilder/clients.data.ts @@ -240,6 +240,17 @@ export const MCP_CLIENT_DATA: McpClientData[] = [ } }, }, + { + key: 'warp', + label: 'Warp', + icon: 'warp', + hasDistinctDarkIcon: true, + configFile: '~/.warp/.mcp.json', + externalDocsUrl: 'https://docs.warp.dev/agents/capabilities/mcp', + // No transformConfig: Warp natively supports remote MCP servers and accepts + // the standard `mcpServers` config, so the base `{ mcpServers: { supabase: { url } } }` + // shape works both in `~/.warp/.mcp.json` and when pasted into Warp's "+ Add" input. + }, { key: 'goose', label: 'Goose', @@ -394,7 +405,7 @@ export const MCP_CLIENT_GROUPS = [ }, { heading: 'IDE', - keys: ['cursor', 'vscode', 'antigravity', 'kiro', 'windsurf', 'kimi'], + keys: ['cursor', 'vscode', 'antigravity', 'kiro', 'windsurf', 'kimi', 'warp'], }, ] as const diff --git a/packages/ui-patterns/src/McpUrlBuilder/clients.instructions.md.tsx b/packages/ui-patterns/src/McpUrlBuilder/clients.instructions.md.tsx index 670b09ceade..4b03205e608 100644 --- a/packages/ui-patterns/src/McpUrlBuilder/clients.instructions.md.tsx +++ b/packages/ui-patterns/src/McpUrlBuilder/clients.instructions.md.tsx @@ -203,6 +203,22 @@ export const MCP_CLIENT_INSTRUCTIONS: Record = { ), }, + warp: { + alternate: () => ( + <> + + Warp supports remote MCP servers natively, so no local proxy is needed. You can also add + the server from the UI: open the MCP servers page (Settings >{' '} + Agents > MCP Servers, or search for MCP in the + command palette), click + Add, and paste the same JSON. + + + After adding the server, Warp opens a browser window to complete the Supabase OAuth flow + and stores the credentials securely on your device. + + + ), + }, goose: { primary: ({ url }) => ( <> diff --git a/packages/ui-patterns/src/McpUrlBuilder/utils/mcpIconAssets.ts b/packages/ui-patterns/src/McpUrlBuilder/utils/mcpIconAssets.ts index cb27dd3fd29..38d5738a32a 100644 --- a/packages/ui-patterns/src/McpUrlBuilder/utils/mcpIconAssets.ts +++ b/packages/ui-patterns/src/McpUrlBuilder/utils/mcpIconAssets.ts @@ -21,6 +21,8 @@ import opencodeIcon from '../assets/opencode-icon.svg' import perplexityDarkIcon from '../assets/perplexity-icon-dark.svg' import perplexityIcon from '../assets/perplexity-icon.svg' import vscodeIcon from '../assets/vscode-icon.svg' +import warpDarkIcon from '../assets/warp-icon-dark.svg' +import warpIcon from '../assets/warp-icon.svg' import windsurfDarkIcon from '../assets/windsurf-icon-dark.svg' import windsurfIcon from '../assets/windsurf-icon.svg' @@ -45,6 +47,7 @@ const MCP_CLIENT_ICON_ASSETS = { opencode: { light: opencodeIcon, dark: opencodeDarkIcon }, perplexity: { light: perplexityIcon, dark: perplexityDarkIcon }, vscode: { light: vscodeIcon, dark: vscodeIcon }, + warp: { light: warpIcon, dark: warpDarkIcon }, windsurf: { light: windsurfIcon, dark: windsurfDarkIcon }, } satisfies Record