summaryrefslogtreecommitdiff
path: root/packages/cli/src/config/config.ts
diff options
context:
space:
mode:
authorTyler <[email protected]>2025-07-07 09:45:58 -0700
committerGitHub <[email protected]>2025-07-07 16:45:58 +0000
commit229ae03631b40f6997ca7244517a6a6f9b368f74 (patch)
tree85c8834cc6234116f0d204623ab82d8f233b27a6 /packages/cli/src/config/config.ts
parent355fb4ac676820ebcca76c985284798dc40ed653 (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.ts20
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({