set_viewport_size
Adjust browser viewport dimensions in pixels for responsive testing and layout verification. Specify width and height to simulate different screen sizes.
Instructions
Set viewport dimensions in pixels.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| width | Yes | Width in pixels | |
| height | Yes | Height in pixels |
Implementation Reference
- src/tools/utilities.ts:143-164 (handler)The MCP tool handler function that validates input parameters (width, height), retrieves the Firefox instance, calls the underlying setViewportSize method, and returns a formatted success or error response.export async function handleSetViewportSize(args: unknown): Promise<McpToolResponse> { try { const { width, height } = args as { width: number; height: number }; if (typeof width !== 'number' || width <= 0) { throw new Error('width parameter is required and must be a positive number'); } if (typeof height !== 'number' || height <= 0) { throw new Error('height parameter is required and must be a positive number'); } const { getFirefox } = await import('../index.js'); const firefox = await getFirefox(); await firefox.setViewportSize(width, height); return successResponse(`✅ ${width}x${height}`); } catch (error) { return errorResponse(error as Error); } }
- src/tools/utilities.ts:50-67 (schema)The tool definition object specifying name, description, and input schema (object with required numeric width/height properties).export const setViewportSizeTool = { name: 'set_viewport_size', description: 'Set viewport dimensions in pixels.', inputSchema: { type: 'object', properties: { width: { type: 'number', description: 'Width in pixels', }, height: { type: 'number', description: 'Height in pixels', }, }, required: ['width', 'height'], }, };
- src/index.ts:146-146 (registration)Registers the tool handler in the central toolHandlers Map used by the MCP server to dispatch CallTool requests.['set_viewport_size', tools.handleSetViewportSize],
- src/index.ts:190-190 (registration)Adds the tool definition to the allTools array served in response to ListTools requests.tools.setViewportSizeTool,
- src/firefox/pages.ts:40-42 (helper)Underlying browser automation helper: uses Selenium WebDriver to set the browser window/viewport size via setRect.async setViewportSize(width: number, height: number): Promise<void> { await this.driver.manage().window().setRect({ width, height }); }