browser_navigate
Navigate to specified web pages using browser automation within Windows systems. This tool directs browsers to URLs for automated testing, data extraction, or workflow automation.
Instructions
导航到网页
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 网页 URL | |
| sessionId | No | 会话 ID(可选) |
Implementation Reference
- src/tools/browser.js:169-183 (handler)Core handler function that navigates to the specified URL using Puppeteer page.goto(), waits for network idle, retrieves page title, and returns structured result.
async navigate(url, sessionId = 'default') { try { const page = this.pages.get(sessionId); if (!page) { return { success: false, error: '浏览器未启动,请先调用 browser_launch' }; } await page.goto(url, { waitUntil: 'networkidle2' }); const title = await page.title(); return { success: true, url, title, message: '导航成功' }; } catch (error) { return { success: false, error: error.message }; } } - src/tools/browser.js:38-49 (schema)Input schema definition for the browser_navigate tool, specifying required 'url' parameter and optional 'sessionId'.
{ name: 'browser_navigate', description: '导航到网页', inputSchema: { type: 'object', properties: { url: { type: 'string', description: '网页 URL' }, sessionId: { type: 'string', description: '会话 ID(可选)' }, }, required: ['url'], }, }, - src/tools/browser.js:112-116 (registration)Registers browser_navigate in the canHandle method for tool routing in the server.
canHandle(toolName) { const tools = ['browser_launch', 'browser_navigate', 'browser_click', 'browser_type', 'browser_screenshot', 'browser_get_text', 'browser_close']; return tools.includes(toolName); } - src/tools/browser.js:118-144 (registration)executeTool method with switch case that registers and dispatches browser_navigate to its handler.
async executeTool(name, args) { if (!this.puppeteerAvailable) { return { success: false, error: 'puppeteer 未安装。请运行: npm install puppeteer' }; } switch (name) { case 'browser_launch': return await this.launchBrowser(args.headless, args.sessionId); case 'browser_navigate': return await this.navigate(args.url, args.sessionId); case 'browser_click': return await this.click(args.selector, args.sessionId); case 'browser_type': return await this.type(args.selector, args.text, args.sessionId); case 'browser_screenshot': return await this.screenshot(args.path, args.fullPage, args.sessionId); case 'browser_get_text': return await this.getText(args.selector, args.sessionId); case 'browser_close': return await this.closeBrowser(args.sessionId); default: throw new Error(`未知工具: ${name}`); } } - src/server.js:43-52 (registration)Instantiates and registers BrowserTools instance in the MCP server's tools collection for discovery and execution.
this.tools = { filesystem: new FileSystemTools(), process: new ProcessTools(), mouseKeyboard: new MouseKeyboardTools(), window: new WindowTools(), screen: new ScreenTools(), clipboard: new ClipboardTools(), powershell: new PowerShellTools(), browser: new BrowserTools(), };