diff options
| author | Tyler <[email protected]> | 2025-07-09 11:38:38 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-09 18:38:38 +0000 |
| commit | 6c12f9e0d902c60fa5e01422018ce773c405da8d (patch) | |
| tree | b35dbfef6f33a934a74f50bc0b174f73fd00533c /packages/cli/src | |
| parent | 017a0a6c863e1dfc0f62ec0817cf84aebc6304fe (diff) | |
Use yargs array type for the allowedMcpServerNames flag instead of processing the list directly ourselves. (#3600)
Diffstat (limited to 'packages/cli/src')
| -rw-r--r-- | packages/cli/src/config/config.test.ts | 12 | ||||
| -rw-r--r-- | packages/cli/src/config/config.ts | 9 |
2 files changed, 12 insertions, 9 deletions
diff --git a/packages/cli/src/config/config.test.ts b/packages/cli/src/config/config.test.ts index 35b420e9..f002fd84 100644 --- a/packages/cli/src/config/config.test.ts +++ b/packages/cli/src/config/config.test.ts @@ -527,7 +527,9 @@ describe('loadCliConfig with allowed-mcp-server-names', () => { 'node', 'script.js', '--allowed-mcp-server-names', - 'server1,server3', + 'server1', + '--allowed-mcp-server-names', + 'server3', ]; const config = await loadCliConfig(baseSettings, [], 'test-session'); expect(config.getMcpServers()).toEqual({ @@ -541,7 +543,9 @@ describe('loadCliConfig with allowed-mcp-server-names', () => { 'node', 'script.js', '--allowed-mcp-server-names', - 'server1,server4', + 'server1', + '--allowed-mcp-server-names', + 'server4', ]; const config = await loadCliConfig(baseSettings, [], 'test-session'); expect(config.getMcpServers()).toEqual({ @@ -549,10 +553,10 @@ describe('loadCliConfig with allowed-mcp-server-names', () => { }); }); - it('should allow all MCP servers if the flag is an empty string', async () => { + it('should allow no MCP servers if the flag is provided but empty', async () => { process.argv = ['node', 'script.js', '--allowed-mcp-server-names', '']; const config = await loadCliConfig(baseSettings, [], 'test-session'); - expect(config.getMcpServers()).toEqual(baseSettings.mcpServers); + expect(config.getMcpServers()).toEqual({}); }); }); diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index b30685c3..ca38814a 100644 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -50,7 +50,7 @@ interface CliArgs { telemetryTarget: string | undefined; telemetryOtlpEndpoint: string | undefined; telemetryLogPrompts: boolean | undefined; - allowedMcpServerNames: string | undefined; + allowedMcpServerNames: string[] | undefined; extensions: string[] | undefined; listExtensions: boolean | undefined; } @@ -152,7 +152,8 @@ async function parseArguments(): Promise<CliArgs> { default: false, }) .option('allowed-mcp-server-names', { - type: 'string', + type: 'array', + string: true, description: 'Allowed MCP server names', }) .option('extensions', { @@ -247,9 +248,7 @@ export async function loadCliConfig( const excludeTools = mergeExcludeTools(settings, activeExtensions); if (argv.allowedMcpServerNames) { - const allowedNames = new Set( - argv.allowedMcpServerNames.split(',').filter(Boolean), - ); + const allowedNames = new Set(argv.allowedMcpServerNames.filter(Boolean)); if (allowedNames.size > 0) { mcpServers = Object.fromEntries( Object.entries(mcpServers).filter(([key]) => allowedNames.has(key)), |
