MCP server that lets agents capture full-page or element screenshots of websites (built with Puppeteer, supports auth/session persistence, default-browser mode, etc.).
https://github.com/ananddtyagi/webpage-screenshot-mcpYour AI agent can now see what you're building. This MCP server gives Claude, Cursor, or any MCP-compatible tool the ability to capture full-page screenshots, element-specific captures, and even handle authenticated pages that require manual login.
When you're building web apps with AI assistance, you constantly find yourself describing what's on screen or manually taking screenshots to show your agent what went wrong. This server eliminates that back-and-forth entirely.
Your agent can now:
Unlike basic screenshot tools that fail on anything requiring auth, this server handles the messy reality of modern web apps:
Manual Login Support: Opens your actual browser, lets you log in normally (2FA, OAuth, whatever), then saves those cookies for future screenshots. No more trying to reverse-engineer authentication flows.
Session Persistence: Keep the same browser tab open across multiple tool calls. Perfect for multi-step workflows where your agent needs to screenshot different pages within the same user session.
Your Actual Browser: Uses your system's default browser with all your extensions, saved passwords, and profiles intact. No more "works in Puppeteer but not in real browsers" surprises.
screenshot-pageFull-page or viewport captures with extensive customization:
{
"url": "https://your-app.dev/dashboard",
"fullPage": true,
"useSavedAuth": true,
"useDefaultBrowser": true,
"visibleBrowser": true
}
screenshot-elementTarget specific components using CSS selectors:
{
"url": "https://your-app.dev",
"selector": ".user-profile-card",
"padding": 10,
"useSavedAuth": true
}
login-and-waitHandles manual authentication flows:
{
"url": "https://your-app.dev/login",
"waitMinutes": 3,
"successIndicator": ".dashboard",
"useDefaultBrowser": true
}
clear-auth-cookiesClean slate when you need it:
{
"url": "https://your-app.dev"
}
Here's how this typically plays out when building admin panels, user dashboards, or any authenticated features:
login-and-wait to authenticate manually in your real browserscreenshot-page with reuseAuthPage: truescreenshot-element to capture just the parts you're working onFrontend Development: "Take a screenshot of the mobile layout at 375px width, then show me how the navigation looks on desktop"
Component Documentation: "Screenshot each variation of this button component for the design system"
Bug Reproduction: "Show me what the user sees when they hit this error state on the checkout page"
Progressive Web App Testing: "Capture how this looks when installed as a PWA vs in the browser"
Clone and build:
git clone https://github.com/ananddtyagi/webpage-screenshot-mcp.git
cd webpage-screenshot-mcp
npm install && npm run build
Add to Claude Desktop or Cursor:
"webpage-screenshot": {
"command": "node",
"args": ["~/path/to/webpage-screenshot-mcp/dist/index.js"]
}
Works on macOS (Chrome, Edge, Safari), Windows (Chrome, Edge), and Linux (Chrome, Chromium). Falls back gracefully to Puppeteer's bundled Chromium if your default browser isn't detected.
This server transforms how you build web applications with AI assistance. Instead of describing visual problems or manually taking screenshots, your agent can see exactly what you're building and provide targeted, visual feedback throughout your development process.