browser_console_messages
Retrieve console messages from web pages to debug JavaScript errors, warnings, and logs during browser automation with Playwright.
Instructions
Returns all console messages
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| level | No | Level of the console messages to return. Each level includes the messages of more severe levels. Defaults to "info". | info |
Implementation Reference
- src/tools/console.ts:29-42 (handler)Executes the tool logic: retrieves console messages from the current browser tab, formats them as a log string, and prepares an action to return the log as text content.handle: async context => { const messages = context.currentTabOrDie().consoleMessages(); const log = messages.map(message => `[${message.type().toUpperCase()}] ${message.text()}`).join('\n'); return { code: [`// <internal code to get console messages>`], action: async () => { return { content: [{ type: 'text', text: log }] }; }, captureSnapshot: false, waitForNetwork: false, }; },
- src/tools/console.ts:22-28 (schema)Defines the tool's schema including name, title, description, empty input schema (no parameters), and readOnly type.schema: { name: 'browser_console_messages', title: 'Get console messages', description: 'Returns all console messages', inputSchema: z.object({}), type: 'readOnly', },
- src/tools/console.ts:45-47 (registration)Exports the defined tool for registration in the MCP tools system.export default [ console, ];
- src/tools/console.ts:20-43 (registration)Defines the tool using defineTool, which likely handles the registration with name 'browser_console_messages'.const console = defineTool({ capability: 'core', schema: { name: 'browser_console_messages', title: 'Get console messages', description: 'Returns all console messages', inputSchema: z.object({}), type: 'readOnly', }, handle: async context => { const messages = context.currentTabOrDie().consoleMessages(); const log = messages.map(message => `[${message.type().toUpperCase()}] ${message.text()}`).join('\n'); return { code: [`// <internal code to get console messages>`], action: async () => { return { content: [{ type: 'text', text: log }] }; }, captureSnapshot: false, waitForNetwork: false, }; }, });