browser_console_messages
Access browser console messages to debug web applications and track runtime logs in real time.
Instructions
browser console messages
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/browser_tools.js:561-591 (handler)The core handler function that retrieves console messages from the browser page. It initializes a console message listener on the page (if not already set up) and returns all captured console messages with their type, text, location, and timestamp.
async function browserConsoleMessages() { try { const page = await getPage(); // Set up console message collection if not already done if (!page._consoleMessages) { page._consoleMessages = []; page.on('console', msg => { page._consoleMessages.push({ type: msg.type(), text: msg.text(), location: msg.location(), timestamp: new Date().toISOString() }); }); } return { success: true, messages: page._consoleMessages || [], count: (page._consoleMessages || []).length }; } catch (error) { logger.error(`Error getting console messages: ${error.message}`); return { success: false, message: error.message }; } } - src/mcp/server.js:127-136 (registration)Tool registration: 'browser_console_messages' is listed in the browserExtras array (line 129) and gets a generated description. Also appears in the tools/call switch case (line 286) where it calls browserTools.browserConsoleMessages().
const browserExtras = [ { n:'browser_navigate_back' }, { n:'browser_navigate_forward' }, { n:'browser_hover' }, { n:'browser_drag' }, { n:'browser_select_option' }, { n:'browser_press_key' }, { n:'browser_snapshot' }, { n:'browser_console_messages' }, { n:'browser_network_requests' }, { n:'browser_tab_list' }, { n:'browser_tab_new' }, { n:'browser_tab_select' }, { n:'browser_tab_close' }, { n:'browser_file_upload' }, { n:'browser_wait' }, { n:'browser_wait_for' }, { n:'browser_resize' }, { n:'browser_handle_dialog' } ]; for (const b of browserExtras) { tools.push({ name: b.n, description: b.n.replace(/_/g,' '), inputSchema: { type:'object', properties:{} } }); } - src/mcp/server.js:134-136 (schema)The input schema for 'browser_console_messages' is an empty object (no parameters required), as generated by the loop on line 135 for all browserExtras tools.
for (const b of browserExtras) { tools.push({ name: b.n, description: b.n.replace(/_/g,' '), inputSchema: { type:'object', properties:{} } }); } - src/tools/browser_tools.js:91-100 (helper)The getPage() helper function used by browserConsoleMessages to obtain the current browser page instance.
async function getPage() { if (!page || page.isClosed()) { const browser = await getBrowser(); if (!context) { context = await browser.newContext(); } page = await context.newPage(); } return page; }