diff --git a/src/puppeteer/index.ts b/src/puppeteer/index.ts index 1849c78398..e028b8fd03 100644 --- a/src/puppeteer/index.ts +++ b/src/puppeteer/index.ts @@ -351,17 +351,19 @@ async function handleToolCall(name: string, args: any): Promise case "puppeteer_evaluate": try { await page.evaluate(() => { - window.mcpHelper = { - logs: [], - originalConsole: { ...console }, - }; - - ['log', 'info', 'warn', 'error'].forEach(method => { - (console as any)[method] = (...args: any[]) => { - window.mcpHelper.logs.push(`[${method}] ${args.join(' ')}`); - (window.mcpHelper.originalConsole as any)[method](...args); + if (!window.mcpHelper) { + window.mcpHelper = { + logs: [], + originalConsole: { ...console }, }; - }); + + ['log', 'info', 'warn', 'error'].forEach(method => { + (console as any)[method] = (...args: any[]) => { + window.mcpHelper.logs.push(`[${method}] ${args.join(' ')}`); + (window.mcpHelper.originalConsole as any)[method](...args); + }; + }); + } }); const result = await page.evaluate(args.script);