diff --git a/package-lock.json b/package-lock.json index 193bdbb..636bf16 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13 +1,13 @@ { "name": "concurrent-browser-mcp", - "version": "1.4.0", + "version": "1.5.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "concurrent-browser-mcp", - "version": "1.4.0", - "license": "MIT", + "version": "1.5.0", + "license": "Apache-2.0", "dependencies": { "@modelcontextprotocol/sdk": "^0.6.0", "chalk": "^5.3.0", diff --git a/src/browser-manager.ts b/src/browser-manager.ts index a5fc16f..b8b093c 100644 --- a/src/browser-manager.ts +++ b/src/browser-manager.ts @@ -213,6 +213,7 @@ export class BrowserManager { browserType: config.browserType, headless: config.headless, viewport: config.viewport, + responsive: config.viewport === null, proxy: effectiveProxy, metadata }, diff --git a/src/tools.ts b/src/tools.ts index 7ea6f6b..89cb3dd 100644 --- a/src/tools.ts +++ b/src/tools.ts @@ -40,7 +40,12 @@ export class BrowserTools { width: { type: 'number', default: 1280 }, height: { type: 'number', default: 720 } }, - description: 'Viewport size' + description: 'Viewport size (ignored if responsive is true)' + }, + responsive: { + type: 'boolean', + description: 'Enable responsive mode with no fixed viewport (passes null to Playwright)', + default: false }, userAgent: { type: 'string', @@ -500,7 +505,8 @@ export class BrowserTools { { browserType: args.browserType || 'chromium', headless: args.headless ?? true, - viewport: args.viewport || { width: 1280, height: 720 }, + viewport: args.responsive ? null : (args.viewport || { width: 1280, height: 720 }), + responsive: args.responsive ?? false, userAgent: args.userAgent }, args.metadata diff --git a/src/types.ts b/src/types.ts index c0079fd..6735fb3 100644 --- a/src/types.ts +++ b/src/types.ts @@ -26,7 +26,8 @@ export interface BrowserConfig { viewport?: { width: number; height: number; - }; + } | null; + responsive?: boolean; userAgent?: string; proxy?: ProxyConfig; contextOptions?: {