Skip to main content
Glama
eva-wanxin-git

Windows Automation MCP Server

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

TableJSON Schema
NameRequiredDescriptionDefault
urlYes网页 URL
sessionIdNo会话 ID(可选)

Implementation Reference

  • 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 }; } }
  • 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'], }, },
  • 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); }
  • 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(), };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/eva-wanxin-git/windows-automation-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server