screenshot
Capture browser screenshots in PNG or JPEG format, with options for full-page scrolling capture using Chrome DevTools Protocol.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Image format | |
| fullPage | No | Capture full scrollable page |
Implementation Reference
- server.js:69-81 (handler)The handler function for the 'screenshot' tool. It captures a screenshot of the current page using Playwright's page.screenshot method and returns the image as a base64-encoded data URL in the MCP response format.async ({ format = "png", fullPage = false }) => { const { page } = await ensureBrowser(); const buffer = await page.screenshot({ type: format, fullPage }); return { content: [ { type: "image", data: buffer.toString("base64"), mimeType: `image/${format}`, }, ], }; }
- server.js:65-68 (schema)Input schema for the 'screenshot' tool using Zod, defining optional parameters for image format and full page capture.{ format: z.enum(["png", "jpeg"]).optional().describe("Image format"), fullPage: z.boolean().optional().describe("Capture full scrollable page"), },
- server.js:63-82 (registration)Registration of the 'screenshot' tool using McpServer.tool, including input schema and handler function.server.tool( "screenshot", { format: z.enum(["png", "jpeg"]).optional().describe("Image format"), fullPage: z.boolean().optional().describe("Capture full scrollable page"), }, async ({ format = "png", fullPage = false }) => { const { page } = await ensureBrowser(); const buffer = await page.screenshot({ type: format, fullPage }); return { content: [ { type: "image", data: buffer.toString("base64"), mimeType: `image/${format}`, }, ], }; } );