browser_navigate
Automate web browser navigation to any URL. Input a URL and the tool directs the browser to load that page, enabling subsequent interactions.
Instructions
Navigate to a URL
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to navigate to |
Implementation Reference
- src/tools/browserTools.ts:48-67 (handler)Handler implementation for browser_navigate tool - uses stateManager.getDriver() to get the Selenium WebDriver and calls driver.get(url) to navigate to a URL.
server.tool( 'browser_navigate', 'Navigate to a URL', { url: z.string().describe('URL to navigate to'), }, async ({ url }) => { try { const driver = stateManager.getDriver(); await driver.get(url); return { content: [{ type: 'text', text: `Navigated to ${url}` }], }; } catch (e) { return { content: [{ type: 'text', text: `Error navigating: ${(e as Error).message}` }], }; } } ); - src/tools/browserTools.ts:51-53 (schema)Input schema for browser_navigate tool - expects a single 'url' parameter of type string.
{ url: z.string().describe('URL to navigate to'), }, - src/tools/browserTools.ts:7-9 (registration)The registerBrowserTools function is where browser_navigate is registered as a tool on the MCP server via server.tool().
export function registerBrowserTools(server: McpServer, stateManager: StateManager) { server.tool( 'browser_open', - src/tools/index.ts:8-13 (registration)The registerAllTools function is called by the server initialization and invokes registerBrowserTools which registers browser_navigate.
export function registerAllTools(server: McpServer, stateManager: StateManager): void { registerBrowserTools(server, stateManager); registerElementTools(server, stateManager); registerActionTools(server, stateManager); registerCookieTools(server, stateManager); } - src/utils/helpers.ts:18-27 (helper)StateManager.getDriver() is the helper method used by browser_navigate to retrieve the active Selenium WebDriver session for navigation.
getDriver(): WebDriver { if (!this.state.currentSession) { throw new Error('No active browser session'); } const driver = this.state.drivers.get(this.state.currentSession); if (!driver) { throw new Error('No active browser session'); } return driver; }