@@ -64,34 +64,37 @@ async function getContext(): Promise<McpContext> {
6464 const ignoreDefaultChromeArgs : string [ ] = (
6565 args . ignoreDefaultChromeArg ?? [ ]
6666 ) . map ( String ) ;
67+ if ( args . categoryExtension ) {
68+ chromeArgs . push ( '--enable-unsafe-extension-debugging' ) ;
69+ }
6770 if ( args . proxyServer ) {
6871 chromeArgs . push ( `--proxy-server=${ args . proxyServer } ` ) ;
6972 }
7073 const devtools = args . experimentalDevtools ?? false ;
7174 const browser =
7275 args . browserUrl || args . wsEndpoint || args . autoConnect
7376 ? await ensureBrowserConnected ( {
74- browserURL : args . browserUrl ,
75- wsEndpoint : args . wsEndpoint ,
76- wsHeaders : args . wsHeaders ,
77- // Important: only pass channel, if autoConnect is true.
78- channel : args . autoConnect ? ( args . channel as Channel ) : undefined ,
79- userDataDir : args . userDataDir ,
80- devtools,
81- } )
77+ browserURL : args . browserUrl ,
78+ wsEndpoint : args . wsEndpoint ,
79+ wsHeaders : args . wsHeaders ,
80+ // Important: only pass channel, if autoConnect is true.
81+ channel : args . autoConnect ? ( args . channel as Channel ) : undefined ,
82+ userDataDir : args . userDataDir ,
83+ devtools,
84+ } )
8285 : await ensureBrowserLaunched ( {
83- headless : args . headless ,
84- executablePath : args . executablePath ,
85- channel : args . channel as Channel ,
86- isolated : args . isolated ?? false ,
87- userDataDir : args . userDataDir ,
88- logFile,
89- viewport : args . viewport ,
90- chromeArgs,
91- ignoreDefaultChromeArgs,
92- acceptInsecureCerts : args . acceptInsecureCerts ,
93- devtools,
94- } ) ;
86+ headless : args . headless ,
87+ executablePath : args . executablePath ,
88+ channel : args . channel as Channel ,
89+ isolated : args . isolated ?? false ,
90+ userDataDir : args . userDataDir ,
91+ logFile,
92+ viewport : args . viewport ,
93+ chromeArgs,
94+ ignoreDefaultChromeArgs,
95+ acceptInsecureCerts : args . acceptInsecureCerts ,
96+ devtools,
97+ } ) ;
9598
9699 if ( context ?. browser !== browser ) {
97100 context = await McpContext . from ( browser , logger , {
@@ -139,6 +142,12 @@ function registerTool(tool: ToolDefinition): void {
139142 ) {
140143 return ;
141144 }
145+ if (
146+ tool . annotations . category === ToolCategory . EXTENSION &&
147+ args . categoryExtension === false
148+ ) {
149+ return ;
150+ }
142151 if (
143152 tool . annotations . conditions ?. includes ( 'computerVision' ) &&
144153 ! args . experimentalVision
0 commit comments