browser_snapshot
Capture a snapshot of the current browser state for use in automation workflows.
Instructions
browser snapshot
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/browser_tools.js:484-506 (handler)The core handler for browser_snapshot. Uses Playwright's page.accessibility.snapshot() to capture the accessibility tree of the current page and returns it along with URL and title.
async function browserSnapshot() { try { const page = await getPage(); // Get accessibility tree const snapshot = await page.accessibility.snapshot(); return { success: true, message: 'Accessibility snapshot captured', snapshot, url: page.url(), title: await page.title() }; } catch (error) { logger.error(`Error getting snapshot: ${error.message}`); return { success: false, message: error.message }; } } - src/mcp/server.js:127-136 (registration)Registration of browser_snapshot as a tool in the MCP tools/list response, alongside other browser extras. No input schema required.
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:284-284 (registration)Dispatch routing: when tool 'browser_snapshot' is called, it calls browserTools.browserSnapshot() with no arguments.
case 'browser_snapshot': data = await browserTools.browserSnapshot(); break; - src/tools/browser_tools.js:1141-1162 (helper)Export of browserSnapshot function from browser_tools.js for use by server.js and other consumers.
// Capture browserTakeScreenshot, browserSnapshot, browserPdfSave, // Tab management browserTabList, browserTabNew, browserTabSelect, browserTabClose, // Utilities browserConsoleMessages, browserFileUpload, browserWait, browserWaitFor, browserResize, browserHandleDialog, browserClose, browserInstall, browserNetworkRequests }; - Example generation script: provides empty arguments for browser_snapshot tool.
case 'browser_snapshot': return {};