About screenshotty
screenshotty is an MCP server for capturing web pages and rendering HTML as images or PDFs. It serves users of MCP clients who need inline image results, with options for page capture and HTML rendering.
Key features
- 01Capture web pages as PNG, JPEG, or WebP
- 02Render HTML as images
- 03Generate PDFs from pages or HTML
- 04Configure viewport, selectors, and appearance
- 05Return hosted URLs and inline images
Use cases
- 01Inspect a webpage at a mobile viewport
- 02Save a webpage as a PDF
- 03Render a social card or chart from HTML
MCP support
Exposes `screenshot_url`, `screenshot_html`, and `generate_pdf` tools to MCP clients for web capture and rendering.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y screenshotty-mcpSCREENSHOTTY_API_KEYSecretScreenshotty API key from https://screenshotty.link/dashboard/api-keysLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
3Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Page to capture (http:// or https://) |
| format | enum | No | Image format. Default pngpng | jpeg | webp |
| adblock | boolean | No | Block ads |
| wait_ms | integer | No | Extra wait before capturing, in ms |
| selector | string | No | CSS selector of a single element to capture |
| full_page | boolean | No | Capture the whole scrollable page. Default true |
| light_mode | enum | No | Force light or dark color schemedefault | light | dark |
| viewport_width | integer | No | Viewport width in pixels. Default 1920 |
| viewport_height | integer | No | Viewport height in pixels. Default 1080 |
| block_cookie_banner | boolean | No | Hide cookie consent banners |
| device_scale_factor | integer | No | 1 = standard, 2 = retina, 3 = high-dpi |
Details
From the project READMEscreenshotty-mcp
Model Context Protocol server for the Screenshotty screenshot API. Lets Claude, Cursor, Cline, and any other MCP client capture web pages — or render HTML — as images or PDFs, and see the result, since images come back inline.
Get an API key
Sign up at https://screenshotty.link/sign-up?utm_source=mcp (250 screenshots/month free, no credit card) and copy a key from Dashboard → API Keys.
Configure your client
Claude Code
claude mcp add screenshotty --env SCREENSHOTTY_API_KEY=your_key -- npx -y screenshotty-mcp
Claude Desktop / Cursor / Cline
{
"mcpServers": {
"screenshotty": {
"command": "npx",
"args": ["-y", "screenshotty-mcp"],
"env": {
"SCREENSHOTTY_API_KEY": "your_key"
}
}
}
}
Claude Desktop config lives at ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows).
Tools
| Tool | What it does |
|---|---|
screenshot_url | Screenshot a page (PNG, JPEG, WebP). Returns the hosted URL, plus the image inline when it is 2 MB or smaller. Options: viewport, full page, CSS selector, wait, ad blocking, cookie-banner blocking, light/dark mode, device scale factor. |
screenshot_html | Render an HTML document (inline CSS/JS; public http(s) assets only) to PNG, JPEG, or WebP — social cards, charts, email previews. Returns the URL plus the image inline. |
generate_pdf | Render a page (url) or an HTML document (html) to PDF. Returns the hosted PDF URL. |
Example prompts: "Screenshot https://example.com on a 390px-wide viewport and tell me what's broken on mobile", "Save our pricing page as a PDF", "Design a 1200×630 Open Graph card for this blog post and render it".
Environment variables
| Variable | Required | Default |
|---|---|---|
SCREENSHOTTY_API_KEY | yes | — |
SCREENSHOTTY_API_URL | no | https://api.screenshotty.link |
Development
npm install
npm run build
SCREENSHOTTY_API_KEY=your_key npx @modelcontextprotocol/inspector node dist/index.js
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.