diff --git a/apps/docs/public/img/mcp-clients/antigravity-icon.svg b/apps/docs/public/img/mcp-clients/antigravity-icon.svg new file mode 100644 index 00000000000..9e1d3a45513 --- /dev/null +++ b/apps/docs/public/img/mcp-clients/antigravity-icon.svg @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/studio/public/img/mcp-clients/antigravity-icon.svg b/apps/studio/public/img/mcp-clients/antigravity-icon.svg new file mode 100644 index 00000000000..9e1d3a45513 --- /dev/null +++ b/apps/studio/public/img/mcp-clients/antigravity-icon.svg @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/ui-patterns/src/McpUrlBuilder/constants.tsx b/packages/ui-patterns/src/McpUrlBuilder/constants.tsx index ca673eb7eb9..f6b494652a9 100644 --- a/packages/ui-patterns/src/McpUrlBuilder/constants.tsx +++ b/packages/ui-patterns/src/McpUrlBuilder/constants.tsx @@ -1,6 +1,7 @@ import { CodeBlock } from 'ui/src/components/CodeBlock' import type { + AntigravityMcpConfig, ClaudeCodeMcpConfig, CodexMcpConfig, FactoryMcpConfig, @@ -306,6 +307,42 @@ export const MCP_CLIENTS: McpClient[] = [ ) }, }, + { + key: 'antigravity', + label: 'Antigravity', + icon: 'antigravity', + configFile: '~/.gemini/antigravity/mcp_config.json', + externalDocsUrl: 'https://antigravity.google/docs/mcp', + transformConfig: (config): AntigravityMcpConfig => { + return { + mcpServers: { + supabase: { + serverUrl: config.mcpServers.supabase.url, + }, + }, + } + }, + alternateInstructions: (_config, _onCopy) => ( +
+

+ After saving the config, restart Antigravity. It will prompt you to complete the OAuth + flow to authenticate with Supabase. +

+

+ To edit the config from within Antigravity, click the ยทยทยท menu at the top + of the Agent pane > MCP Servers >{' '} + Manage MCP Servers > View raw config. From the Manage + MCP Servers page you can also Refresh server configs and enable/disable + servers. +

+

+ If you run into authentication issues, open the command palette and run{' '} + Authentication: Remove Dynamic Authentication Providers to clear cached + OAuth credentials and re-authenticate. +

+
+ ), + }, { key: 'windsurf', label: 'Windsurf', diff --git a/packages/ui-patterns/src/McpUrlBuilder/types.ts b/packages/ui-patterns/src/McpUrlBuilder/types.ts index d5912e56887..8d7cb59ed44 100644 --- a/packages/ui-patterns/src/McpUrlBuilder/types.ts +++ b/packages/ui-patterns/src/McpUrlBuilder/types.ts @@ -158,8 +158,17 @@ export interface OpenCodeMcpConfig { } } +export interface AntigravityMcpConfig { + mcpServers: { + supabase: { + serverUrl: string + } + } +} + // Union of all possible config types export type McpClientConfig = + | AntigravityMcpConfig | ClaudeCodeMcpConfig | ClaudeDesktopMcpConfig | CodexMcpConfig @@ -198,6 +207,14 @@ export function isOpenCodeMcpConfig(config: McpClientConfig): config is OpenCode return '$schema' in config && 'mcp' in config && 'supabase' in config.mcp } +export function isAntigravityMcpConfig(config: McpClientConfig): config is AntigravityMcpConfig { + return ( + 'mcpServers' in config && + 'supabase' in config.mcpServers && + 'serverUrl' in config.mcpServers.supabase + ) +} + export function isMcpServersConfig( config: McpClientConfig ): config is McpClientBaseConfig | ClaudeCodeMcpConfig | FactoryMcpConfig { @@ -221,6 +238,9 @@ export function getMcpUrl(config: McpClientConfig): string { if (isOpenCodeMcpConfig(config)) { return config.mcp.supabase.url } + if (isAntigravityMcpConfig(config)) { + return config.mcpServers.supabase.serverUrl + } if (isMcpServersConfig(config)) { return config.mcpServers.supabase.url }