Skip to main content
Glama

Windows Automation MCP Server

browser_launch

Launch and control web browsers programmatically for automated testing, web scraping, or browser-based workflows. Supports headless mode for background operations and session management.

Instructions

启动浏览器

Input Schema

NameRequiredDescriptionDefault
headlessNo是否无头模式(可选,默认 false)
sessionIdNo会话 ID(可选)

Input Schema (JSON Schema)

{ "properties": { "headless": { "description": "是否无头模式(可选,默认 false)", "type": "boolean" }, "sessionId": { "description": "会话 ID(可选)", "type": "string" } }, "type": "object" }

Implementation Reference

  • The handler function for browser_launch that launches a Puppeteer browser instance, creates a new page, and stores them in maps keyed by sessionId.
    async launchBrowser(headless = false, sessionId = 'default') { try { if (this.browsers.has(sessionId)) { return { success: true, message: '浏览器已存在', sessionId }; } const browser = await this.puppeteer.launch({ headless, defaultViewport: null, args: ['--start-maximized'] }); const page = await browser.newPage(); this.browsers.set(sessionId, browser); this.pages.set(sessionId, page); return { success: true, message: '浏览器已启动', sessionId }; } catch (error) { return { success: false, error: error.message }; } }
  • The tool schema definition for browser_launch, including name, description, and inputSchema for headless and sessionId parameters.
    { name: 'browser_launch', description: '启动浏览器', inputSchema: { type: 'object', properties: { headless: { type: 'boolean', description: '是否无头模式(可选,默认 false)' }, sessionId: { type: 'string', description: '会话 ID(可选)' }, }, }, },
  • The switch statement in executeTool that registers and routes browser_launch to its handler function.
    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}`); } }
  • The canHandle method that checks if browser_launch is one of the supported tools.
    canHandle(toolName) { const tools = ['browser_launch', 'browser_navigate', 'browser_click', 'browser_type', 'browser_screenshot', 'browser_get_text', 'browser_close']; return tools.includes(toolName); }

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