From d9bd2b0e144560c8a82806bfb021a028c7cd43c9 Mon Sep 17 00:00:00 2001 From: Olcan Date: Fri, 16 May 2025 16:29:03 -0700 Subject: improved mcp support, including standard "mcpServers" setting with multiple named servers with command/args/env/cwd (#392) --- packages/cli/src/config/settings.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'packages/cli/src/config/settings.ts') diff --git a/packages/cli/src/config/settings.ts b/packages/cli/src/config/settings.ts index ab65160c..fa8a545d 100644 --- a/packages/cli/src/config/settings.ts +++ b/packages/cli/src/config/settings.ts @@ -7,6 +7,7 @@ import * as fs from 'fs'; import * as path from 'path'; import { homedir } from 'os'; +import { StdioServerParameters } from '@modelcontextprotocol/sdk/client/stdio.js'; export const SETTINGS_DIRECTORY_NAME = '.gemini'; export const USER_SETTINGS_DIR = path.join(homedir(), SETTINGS_DIRECTORY_NAME); @@ -23,6 +24,7 @@ export interface Settings { toolDiscoveryCommand?: string; toolCallCommand?: string; mcpServerCommand?: string; + mcpServers?: Record; // Add other settings here. } @@ -67,9 +69,10 @@ export class LoadedSettings { setValue( scope: SettingScope, key: keyof Settings, - value: string | undefined, + value: string | Record | undefined, ): void { const settingsFile = this.forScope(scope); + // @ts-expect-error - value can be string | Record settingsFile.settings[key] = value; this._merged = this.computeMergedSettings(); saveSettings(settingsFile); -- cgit v1.2.3