diff options
| author | Tyler <[email protected]> | 2025-07-07 09:45:58 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-07 16:45:58 +0000 |
| commit | 229ae03631b40f6997ca7244517a6a6f9b368f74 (patch) | |
| tree | 85c8834cc6234116f0d204623ab82d8f233b27a6 /packages/cli/src/config/config.ts | |
| parent | 355fb4ac676820ebcca76c985284798dc40ed653 (diff) | |
Add --allowed_mcp_server_names flag (#3464)
Diffstat (limited to 'packages/cli/src/config/config.ts')
| -rw-r--r-- | packages/cli/src/config/config.ts | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index 7eed1db7..b32ae50c 100644 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -48,6 +48,7 @@ interface CliArgs { telemetryTarget: string | undefined; telemetryOtlpEndpoint: string | undefined; telemetryLogPrompts: boolean | undefined; + allowed_mcp_server_names: string | undefined; } async function parseArguments(): Promise<CliArgs> { @@ -123,6 +124,10 @@ async function parseArguments(): Promise<CliArgs> { description: 'Enables checkpointing of file edits', default: false, }) + .option('allowed_mcp_server_names', { + type: 'string', + description: 'Allowed MCP server names', + }) .version(await getCliVersion()) // This will enable the --version flag based on package.json .alias('v', 'version') .help() @@ -186,9 +191,22 @@ export async function loadCliConfig( extensionContextFilePaths, ); - const mcpServers = mergeMcpServers(settings, extensions); + let mcpServers = mergeMcpServers(settings, extensions); const excludeTools = mergeExcludeTools(settings, extensions); + if (argv.allowed_mcp_server_names) { + const allowedNames = new Set( + argv.allowed_mcp_server_names.split(',').filter(Boolean), + ); + if (allowedNames.size > 0) { + mcpServers = Object.fromEntries( + Object.entries(mcpServers).filter(([key]) => allowedNames.has(key)), + ); + } else { + mcpServers = {}; + } + } + const sandboxConfig = await loadSandboxConfig(settings, argv); return new Config({ |
