@@ -58,34 +58,37 @@ async function getContext(): Promise<McpContext> {
5858 const ignoreDefaultChromeArgs : string [ ] = (
5959 args . ignoreDefaultChromeArg ?? [ ]
6060 ) . map ( String ) ;
61+ if ( args . categoryExtension ) {
62+ chromeArgs . push ( '--enable-unsafe-extension-debugging' ) ;
63+ }
6164 if ( args . proxyServer ) {
6265 chromeArgs . push ( `--proxy-server=${ args . proxyServer } ` ) ;
6366 }
6467 const devtools = args . experimentalDevtools ?? false ;
6568 const browser =
6669 args . browserUrl || args . wsEndpoint || args . autoConnect
6770 ? await ensureBrowserConnected ( {
68- browserURL : args . browserUrl ,
69- wsEndpoint : args . wsEndpoint ,
70- wsHeaders : args . wsHeaders ,
71- // Important: only pass channel, if autoConnect is true.
72- channel : args . autoConnect ? ( args . channel as Channel ) : undefined ,
73- userDataDir : args . userDataDir ,
74- devtools,
75- } )
71+ browserURL : args . browserUrl ,
72+ wsEndpoint : args . wsEndpoint ,
73+ wsHeaders : args . wsHeaders ,
74+ // Important: only pass channel, if autoConnect is true.
75+ channel : args . autoConnect ? ( args . channel as Channel ) : undefined ,
76+ userDataDir : args . userDataDir ,
77+ devtools,
78+ } )
7679 : await ensureBrowserLaunched ( {
77- headless : args . headless ,
78- executablePath : args . executablePath ,
79- channel : args . channel as Channel ,
80- isolated : args . isolated ?? false ,
81- userDataDir : args . userDataDir ,
82- logFile,
83- viewport : args . viewport ,
84- chromeArgs,
85- ignoreDefaultChromeArgs,
86- acceptInsecureCerts : args . acceptInsecureCerts ,
87- devtools,
88- } ) ;
80+ headless : args . headless ,
81+ executablePath : args . executablePath ,
82+ channel : args . channel as Channel ,
83+ isolated : args . isolated ?? false ,
84+ userDataDir : args . userDataDir ,
85+ logFile,
86+ viewport : args . viewport ,
87+ chromeArgs,
88+ ignoreDefaultChromeArgs,
89+ acceptInsecureCerts : args . acceptInsecureCerts ,
90+ devtools,
91+ } ) ;
8992
9093 if ( context ?. browser !== browser ) {
9194 context = await McpContext . from ( browser , logger , {
@@ -133,6 +136,12 @@ function registerTool(tool: ToolDefinition): void {
133136 ) {
134137 return ;
135138 }
139+ if (
140+ tool . annotations . category === ToolCategory . EXTENSION &&
141+ args . categoryExtension === false
142+ ) {
143+ return ;
144+ }
136145 if (
137146 tool . annotations . conditions ?. includes ( 'computerVision' ) &&
138147 ! args . experimentalVision
0 commit comments