browser_navigate
Direct web browsers to specified URLs using structured input, enabling precise navigation for web interactions without requiring visual models or screenshots.
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)The handler function that executes the browser_navigate tool: ensures a tab, navigates to the URL, includes snapshot in response, and adds the goto 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)Schema definition for browser_navigate tool specifying name, title, description, input URL parameter, and destructive type.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:36-52 (registration)Registration of browser_navigate by spreading the navigate tools (imported line 24) into the allTools array used by backends.export const allTools: Tool<any>[] = [ ...common, ...console, ...dialogs, ...evaluate, ...files, ...install, ...keyboard, ...navigate, ...network, ...mouse, ...pdf, ...screenshot, ...snapshot, ...tabs, ...wait, ];
- src/browserServerBackend.ts:50-50 (registration)In BrowserServerBackend constructor, assigns filtered tools (including browser_navigate) to _tools, which provides tools() for MCP server and callTool invokes their handlers.this._tools = filteredTools(config);