Skip to content

Commit 0915d98

Browse files
committed
ignoreDefaultArg support
1 parent 5d94acb commit 0915d98

2 files changed

Lines changed: 18 additions & 6 deletions

File tree

src/browser.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,13 @@ interface McpLaunchOptions {
142142
width: number;
143143
height: number;
144144
};
145-
args?: string[];
145+
chromeArgs?: string[];
146+
ignoreDefaultChromeArgs?: string[];
146147
devtools: boolean;
147148
}
148149

149150
export async function launch(options: McpLaunchOptions): Promise<Browser> {
151+
console.log('🔥', options);
150152
const {channel, executablePath, headless, isolated} = options;
151153
const profileDirName =
152154
channel && channel !== 'stable'
@@ -167,9 +169,14 @@ export async function launch(options: McpLaunchOptions): Promise<Browser> {
167169
}
168170

169171
const args: LaunchOptions['args'] = [
170-
...(options.args ?? []),
171-
'--hide-crash-restore-bubble',
172+
...(options.chromeArgs ?? []),
173+
'--hide-crash-resore-bubble',
172174
];
175+
const ignoreDefaultArgs: LaunchOptions['ignoreDefaultArgs'] =
176+
options.ignoreDefaultChromeArgs ?? false;
177+
178+
console.log(ignoreDefaultArgs);
179+
173180
if (headless) {
174181
args.push('--screen-info={3840x2160}');
175182
}
@@ -194,6 +201,7 @@ export async function launch(options: McpLaunchOptions): Promise<Browser> {
194201
pipe: true,
195202
headless,
196203
args,
204+
ignoreDefaultArgs: ignoreDefaultArgs,
197205
acceptInsecureCerts: options.acceptInsecureCerts,
198206
handleDevToolsAsPage: true,
199207
});

src/main.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,12 @@ server.server.setRequestHandler(SetLevelRequestSchema, () => {
5454

5555
let context: McpContext;
5656
async function getContext(): Promise<McpContext> {
57-
const extraArgs: string[] = (args.chromeArg ?? []).map(String);
57+
const chromeArgs: string[] = (args.chromeArg ?? []).map(String);
58+
const ignoreDefaultChromeArgs: string[] = (
59+
args.ignoreDefaultChromeArg ?? []
60+
).map(String);
5861
if (args.proxyServer) {
59-
extraArgs.push(`--proxy-server=${args.proxyServer}`);
62+
chromeArgs.push(`--proxy-server=${args.proxyServer}`);
6063
}
6164
const devtools = args.experimentalDevtools ?? false;
6265
const browser =
@@ -78,7 +81,8 @@ async function getContext(): Promise<McpContext> {
7881
userDataDir: args.userDataDir,
7982
logFile,
8083
viewport: args.viewport,
81-
args: extraArgs,
84+
chromeArgs,
85+
ignoreDefaultChromeArgs,
8286
acceptInsecureCerts: args.acceptInsecureCerts,
8387
devtools,
8488
});

0 commit comments

Comments
 (0)