browser_navigate
Direct the browser to a specified URL to initiate automated web accessibility scans, enabling WCAG compliance checks with visual and JSON reports for remediation.
Instructions
Navigate to a URL
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to navigate to |
Implementation Reference
- src/tools/navigate.ts:33-39 (handler)Handler function that executes the browser_navigate tool: ensures an active tab, navigates to the specified URL, includes a snapshot in the response, and adds the equivalent Playwright code.handle: async (context, params, response) => { const tab = await context.ensureTab(); await tab.navigate(params.url); response.setIncludeSnapshot(); response.addCode(`await page.goto('${params.url}');`); },
- src/tools/navigate.ts:23-31 (schema)Input schema definition for the browser_navigate tool, specifying the required 'url' parameter.schema: { name: 'browser_navigate', title: 'Navigate to a URL', description: 'Navigate to a URL', inputSchema: z.object({ url: z.string().describe('The URL to navigate to'), }), type: 'destructive', },
- src/tools.ts:38-56 (registration)Registration of all tools, including browser_navigate from the navigate module, into the allTools array used by the backend.export const allTools: Tool<any>[] = [ ...common, ...console, ...dialogs, ...evaluate, ...files, ...form, ...install, ...keyboard, ...navigate, ...network, ...mouse, ...pdf, ...screenshot, ...snapshot, ...tabs, ...wait, ...verify, ];
- src/browserServerBackend.ts:65-83 (registration)MCP backend callTool method that dispatches to the specific tool handler by name, including browser_navigate.async callTool(name: string, rawArguments: mcpServer.CallToolRequest['params']['arguments']) { const tool = this._tools.find(tool => tool.schema.name === name)!; if (!tool) throw new Error(`Tool "${name}" not found`); const parsedArguments = tool.schema.inputSchema.parse(rawArguments || {}); const context = this._context!; const response = new Response(context, name, parsedArguments); context.setRunningTool(name); try { await tool.handle(context, parsedArguments, response); await response.finish(); this._sessionLog?.logResponse(response); } catch (error: any) { response.addError(String(error)); } finally { context.setRunningTool(undefined); } return response.serialize(); }
- src/browserServerBackend.ts:38-41 (registration)BrowserServerBackend constructor initializes _tools using filteredTools, which includes browser_navigate.constructor(config: FullConfig, factory: BrowserContextFactory) { this._config = config; this._browserContextFactory = factory; this._tools = filteredTools(config);