screenshot
Capture browser screenshots in PNG or JPEG format, including full-page scrolling captures, for documentation, testing, or visual analysis.
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)Handler function that launches a browser if needed, takes a screenshot using Playwright's page.screenshot with specified format and fullPage options, converts to base64, and returns as image content.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 using Zod for the screenshot tool parameters: optional format (png or jpeg) and fullPage boolean.{ format: z.enum(["png", "jpeg"]).optional().describe("Image format"), fullPage: z.boolean().optional().describe("Capture full scrollable page"), },
- server.js:62-82 (registration)Registration of the 'screenshot' tool using McpServer.tool, including schema and inline handler.// Convenience: Take screenshot (returns base64 image) 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}`, }, ], }; } );