diff --git a/internal/agents/antigravity/adapter.go b/internal/agents/antigravity/adapter.go index bad5a8298..2705e9ea8 100644 --- a/internal/agents/antigravity/adapter.go +++ b/internal/agents/antigravity/adapter.go @@ -105,7 +105,8 @@ func (a *Adapter) MCPStrategy() model.MCPStrategy { // --- MCP --- func (a *Adapter) MCPConfigPath(homeDir string, _ string) string { - return filepath.Join(a.antigravityVariantDir(homeDir), "mcp_config.json") + // Antigravity uses a shared global config for MCP across CLI, Desktop, and IDE. + return filepath.Join(homeDir, ".gemini", "config", "mcp_config.json") } // --- Optional capabilities --- diff --git a/internal/agents/antigravity/adapter_test.go b/internal/agents/antigravity/adapter_test.go index 3813b704d..939fbdd30 100644 --- a/internal/agents/antigravity/adapter_test.go +++ b/internal/agents/antigravity/adapter_test.go @@ -174,8 +174,9 @@ func TestConfigPathsCLIOnly(t *testing.T) { if got := a.SettingsPath(home); got != filepath.Join(cliDir, "settings.json") { t.Fatalf("SettingsPath() = %q, want %q", got, filepath.Join(cliDir, "settings.json")) } - if got := a.MCPConfigPath(home, "ctx7"); got != filepath.Join(cliDir, "mcp_config.json") { - t.Fatalf("MCPConfigPath() = %q, want %q", got, filepath.Join(cliDir, "mcp_config.json")) + wantMCP := filepath.Join(home, ".gemini", "config", "mcp_config.json") + if got := a.MCPConfigPath(home, "ctx7"); got != wantMCP { + t.Fatalf("MCPConfigPath() = %q, want %q", got, wantMCP) } } @@ -193,8 +194,9 @@ func TestConfigPathsDesktopOnly(t *testing.T) { if got := a.SettingsPath(home); got != filepath.Join(desktopDir, "settings.json") { t.Fatalf("SettingsPath() = %q, want %q", got, filepath.Join(desktopDir, "settings.json")) } - if got := a.MCPConfigPath(home, "ctx7"); got != filepath.Join(desktopDir, "mcp_config.json") { - t.Fatalf("MCPConfigPath() = %q, want %q", got, filepath.Join(desktopDir, "mcp_config.json")) + wantMCP := filepath.Join(home, ".gemini", "config", "mcp_config.json") + if got := a.MCPConfigPath(home, "ctx7"); got != wantMCP { + t.Fatalf("MCPConfigPath() = %q, want %q", got, wantMCP) } } diff --git a/internal/components/engram/inject_test.go b/internal/components/engram/inject_test.go index 488064f5e..aacb39ceb 100644 --- a/internal/components/engram/inject_test.go +++ b/internal/components/engram/inject_test.go @@ -557,7 +557,7 @@ func TestInjectGeminiToolsFlagPresent(t *testing.T) { } } -func TestInjectAntigravityWritesMCPToCLIConfig(t *testing.T) { +func TestInjectAntigravityWritesMCPToGlobalConfig(t *testing.T) { home := t.TempDir() result, err := Inject(home, antigravityAdapter()) @@ -568,10 +568,10 @@ func TestInjectAntigravityWritesMCPToCLIConfig(t *testing.T) { t.Fatalf("Inject(antigravity) changed = false") } - cliMCPPath := filepath.Join(home, ".gemini", "antigravity-cli", "mcp_config.json") - content, err := os.ReadFile(cliMCPPath) + globalMCPPath := filepath.Join(home, ".gemini", "config", "mcp_config.json") + content, err := os.ReadFile(globalMCPPath) if err != nil { - t.Fatalf("ReadFile(%q) error = %v", cliMCPPath, err) + t.Fatalf("ReadFile(%q) error = %v", globalMCPPath, err) } text := string(content) if !strings.Contains(text, `"args": [`) || !strings.Contains(text, `"mcp"`) { diff --git a/internal/components/golden_test.go b/internal/components/golden_test.go index 2589cd7da..fc813b05f 100644 --- a/internal/components/golden_test.go +++ b/internal/components/golden_test.go @@ -896,8 +896,8 @@ func TestGoldenEngram_Antigravity(t *testing.T) { t.Fatalf("engram.Inject(antigravity) changed = false") } - // MCP config written to ~/.gemini/antigravity-cli/mcp_config.json. - mcpJSON := readTestFile(t, filepath.Join(home, ".gemini", "antigravity-cli", "mcp_config.json")) + // MCP config written to ~/.gemini/config/mcp_config.json. + mcpJSON := readTestFile(t, filepath.Join(home, ".gemini", "config", "mcp_config.json")) assertGolden(t, "engram-antigravity-mcp.golden", mcpJSON) // GEMINI.md must contain the engram-protocol section.