diff options
| author | Olcan <[email protected]> | 2025-05-16 16:29:03 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-05-16 16:29:03 -0700 |
| commit | d9bd2b0e144560c8a82806bfb021a028c7cd43c9 (patch) | |
| tree | 3573b27b520d6a83b56a16da41ecab700ddf2a26 /packages/cli/src | |
| parent | e158a0d59f46df4a8b76a7118c7cc10226fdb1c5 (diff) | |
improved mcp support, including standard "mcpServers" setting with multiple named servers with command/args/env/cwd (#392)
Diffstat (limited to 'packages/cli/src')
| -rw-r--r-- | packages/cli/src/config/config.ts | 1 | ||||
| -rw-r--r-- | packages/cli/src/config/settings.ts | 5 |
2 files changed, 5 insertions, 1 deletions
diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index 12a65440..c0ec38af 100644 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -402,6 +402,7 @@ export async function loadCliConfig(settings: Settings): Promise<Config> { settings.toolDiscoveryCommand, settings.toolCallCommand, settings.mcpServerCommand, + settings.mcpServers, userAgent, memoryContent, fileCount, 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<string, StdioServerParameters>; // Add other settings here. } @@ -67,9 +69,10 @@ export class LoadedSettings { setValue( scope: SettingScope, key: keyof Settings, - value: string | undefined, + value: string | Record<string, StdioServerParameters> | undefined, ): void { const settingsFile = this.forScope(scope); + // @ts-expect-error - value can be string | Record<string, StdioServerParameters> settingsFile.settings[key] = value; this._merged = this.computeMergedSettings(); saveSettings(settingsFile); |
