diff --git a/apps/web/components/connect-ai-modal.tsx b/apps/web/components/connect-ai-modal.tsx index 9a46a045..f4da2de1 100644 --- a/apps/web/components/connect-ai-modal.tsx +++ b/apps/web/components/connect-ai-modal.tsx @@ -49,6 +49,7 @@ import type { Project } from "@lib/types" import { motion, AnimatePresence } from "motion/react" const clients = { + antigravity: "Antigravity", chatgpt: "ChatGPT", codex: "Codex", cursor: "Cursor", @@ -399,7 +400,9 @@ export function ConnectAIModal({ src={ key === "mcp-url" ? "/mcp-icon.svg" - : `/mcp-supported-tools/${key === "claude-code" ? "claude" : key}.png` + : key === "antigravity" + ? "/mcp-supported-tools/antigravity.png" + : `/mcp-supported-tools/${key === "claude-code" ? "claude" : key}.png` } width={20} /> diff --git a/apps/web/components/integrations-view.tsx b/apps/web/components/integrations-view.tsx index dc0876da..fe8233f6 100644 --- a/apps/web/components/integrations-view.tsx +++ b/apps/web/components/integrations-view.tsx @@ -155,6 +155,7 @@ type ListedApiKey = { type ItemKind = "plugin" | "connector" | "client" | "mcp-client" | "import" type MCPClientKey = + | "antigravity" | "chatgpt" | "codex" | "cursor" @@ -172,6 +173,13 @@ const MCP_CLIENTS: Array<{ simpleTitle?: string dev?: boolean }> = [ + { + key: "antigravity", + name: "Antigravity", + tagline: "MCP config for Antigravity", + simpleTitle: "Bring your memory into Antigravity", + dev: true, + }, { key: "cursor", name: "Cursor", @@ -236,6 +244,7 @@ const MCP_CLIENTS: Array<{ function mcpClientIconSrc(key: MCPClientKey): string { if (key === "mcp-url") return "/mcp-icon.svg" + if (key === "antigravity") return "/mcp-supported-tools/antigravity.png" const file = key === "claude-code" ? "claude" : key return `/mcp-supported-tools/${file}.png` } diff --git a/apps/web/components/mcp-modal/mcp-detail-view.tsx b/apps/web/components/mcp-modal/mcp-detail-view.tsx index 61b176e2..c72c61f3 100644 --- a/apps/web/components/mcp-modal/mcp-detail-view.tsx +++ b/apps/web/components/mcp-modal/mcp-detail-view.tsx @@ -93,6 +93,7 @@ function McpCodeBlock({ } const clients = { + antigravity: "Antigravity", chatgpt: "ChatGPT", codex: "Codex", cursor: "Cursor", @@ -131,6 +132,7 @@ const MCP_CATEGORIES: { { label: "IDEs", items: [ + { key: "antigravity", title: "Antigravity", subtitle: "AI IDE" }, { key: "cursor", title: "Cursor", subtitle: "AI IDE" }, { key: "vscode", title: "VS Code", subtitle: "IDE" }, { key: "cline", title: "Cline", subtitle: "VS Code extension" }, @@ -145,6 +147,7 @@ const MCP_CATEGORIES: { function clientIconSrc(key: ClientKey) { if (key === "mcp-url") return "/mcp-icon.svg" + if (key === "antigravity") return "/mcp-supported-tools/antigravity.png" const file = key === "claude-code" ? "claude" : key return `/mcp-supported-tools/${file}.png` } diff --git a/apps/web/lib/mcp-client-setup.ts b/apps/web/lib/mcp-client-setup.ts index c983971c..80d3cc70 100644 --- a/apps/web/lib/mcp-client-setup.ts +++ b/apps/web/lib/mcp-client-setup.ts @@ -13,6 +13,7 @@ const DEFAULT_SETUP: McpSetupAvailability = { * manual instructions and one-click (CLI / deeplink / URL copy). */ export const MCP_CLIENT_SETUP: Record = { + antigravity: { manual: true, oneClick: true }, chatgpt: { manual: true, oneClick: false }, cline: { manual: false, oneClick: true }, } diff --git a/apps/web/lib/mcp-manual-instructions.ts b/apps/web/lib/mcp-manual-instructions.ts index fef869e8..e5ecfd38 100644 --- a/apps/web/lib/mcp-manual-instructions.ts +++ b/apps/web/lib/mcp-manual-instructions.ts @@ -8,6 +8,14 @@ export const SUPERMEMORY_MCP_OAUTH_JSON = `{ } }` +export const ANTIGRAVITY_MCP_SNIPPET = `{ + "mcpServers": { + "supermemory": { + "serverUrl": "${CHATGPT_REMOTE_MCP_URL}" + } + } +}` + export function buildMcpUrlRemoteJson(apiKeyPlaceholder: string) { return `{ "supermemory-mcp": { @@ -52,6 +60,14 @@ export function getManualInstallEntry(clientKey: string): ManualInstallEntry { return { kind: "chatgpt" } case "mcp-url": return { kind: "generic-remote" } + case "antigravity": + return { + kind: "file", + paths: + "Antigravity: ~/.gemini/config/mcp_config.json. Merge the block into your existing [mcp_servers] section.", + snippet: ANTIGRAVITY_MCP_SNIPPET, + format: "json", + } case "codex": return { kind: "file", diff --git a/apps/web/public/mcp-supported-tools/antigravity.png b/apps/web/public/mcp-supported-tools/antigravity.png new file mode 100644 index 00000000..5ac8a477 Binary files /dev/null and b/apps/web/public/mcp-supported-tools/antigravity.png differ