mcpField
S

shotbot-mcp

Local
@shotbot.netBrowser Automation

About shotbot-mcp

Screenshot API for AI agents: capture any public URL as JPEG, PNG, WebP, AVIF, or PDF.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"net-shotbot-shotbot": {
"command": "npx",
"args": [
"-y",
"shotbot-mcp"
],
"env": {
"SHOTBOT_API_KEY": "<SHOTBOT_API_KEY>"
}
}
}
}
Run commandnpx -y shotbot-mcp
Environment variables to set
SHOTBOT_API_KEYSecretYour Shotbot API key (12 characters). Get a free one at https://www.shotbot.net/screenshot-api-key/

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmshotbot-mcp2.0.1

Tools

4

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
cdnbooleanNoWhen true, publish the result to the public CDN and return a permanent image URL. Default: captures are private (not uploaded to the CDN); retrieve them via the download URL from get_status, which stays fetchable until it auto-expires after a short retention window.
urlstringYesPublic http/https URL to capture (required)
nojsbooleanNoDisable JavaScript before loading the page.
waitintegerNoSeconds to wait after page load before capture. Free: 0-5, Pro: 0-30. Default: 5.
frameenumNoDecorative frame composited around the rendered image (ignored for PDF). Variants: rounded (corner-clipped, no padding), shadow (drop shadow + rounded corners), browser_chrome / browser_chrome_dark (browser window with traffic-lights + URL bar, light/dark), mobile/mobile_light (smartphone mockup, dark/light bezel), tablet/tablet_light (tablet mockup, dark/light bezel), laptop (laptop mockup), polaroid (white border + soft shadow), gradient (rounded screenshot on a lime-accent gradient backdrop), shotbot_brand (lime corner brackets). Free accounts get a tiny shotbot.fr/.net mark bottom-right on any non-empty frame. Pro accounts get a clean frame on ALL variants. | rounded | shadow | browser_chrome | browser_chrome_dark | mobile | mobile_light | tablet | tablet_light | laptop | polaroid | gradient | shotbot_brand
hidpibooleanNoRender at 2× device pixel ratio (retina / HiDPI). Doubles the output resolution.
ratiostringNoCrop ratio, e.g. "16:9" (default), "4:3", "1:1", "9:16".
formatenumNoOutput format. Default: jpg. png, webp, webp_lossless, avif, pdf require Pro (non-Pro accounts are limited to jpg).jpg | png | webp | webp_lossless | avif | pdf
presetenumNoNamed output bundle | fills viewport_width / output_size / crop_height. og=1200×630 (social card), mobile=390×844 (iPhone), square=1080×1080, reel=1080×1920, pinterest=1000×1500, youtube_thumbnail=1280×720, tablet=768×1024. Pro presets: desktop=1440×900, desktop_hd=1920×1080, twitter_header=1500×500, linkedin_banner=1584×396, hero_banner=1920×600. | og | mobile | youtube_thumbnail | square | reel | pinterest | tablet | desktop | desktop_hd | twitter_header | linkedin_banner | hero_banner
cookiesarrayNoCookies injected before navigation (e.g. to capture pages behind a session). Max 50. Pro only.
fullpagebooleanNoCapture the full page height (max 30000 px). Default: false.
selectorstringNoCSS selector: clips output to the matching element. Pro only, non-PDF.
block_adsbooleanNoBlock ads and trackers. Pro only.
http_authobjectNoHTTP Basic Auth credentials for password-protected pages. Pro only.
http_auth.passstringNo
http_auth.userstringYes
pdf_scalenumberNoPDF render scale, 0.10-2.00 (format=pdf only). Default 1.0.
scroll_tostringNoCSS selector for an element to scroll into view (top of frame) before capturing. Typically an element id, e.g. "#pricing". Resolved via querySelector. Unlike selector, it does not clip output. Mutually exclusive with scroll_offset_px; missing element is a no-op. No-op for fullpage/PDF/selector. Pro only.
crop_heightintegerNoCustom output height in px, cropped from top. Max 30000. Pro only.
output_sizeintegerNoOutput image width in px. Defaults to viewport_width.
callback_urlstringNoHTTPS URL to POST the result to when done. Skips polling.
color_schemeenumNoEmulate prefers-color-scheme media query.dark | light
pdf_landscapebooleanNoRender the PDF in landscape orientation (format=pdf only).
pdf_margin_mmintegerNoPDF page margin in millimetres, 0-50 (format=pdf only). Default 10.
pdf_page_sizeenumNoPDF page size (format=pdf only). Default A4.A4 | A3 | A5 | Letter | Legal | Tabloid
render_regionenumNoGeographic render location, using a real local IP. fr-paris is the default and free; ca-montreal, sg-singapore (beta), au-sydney (beta), vn-hanoi (beta) are Pro. | fr-paris | ca-montreal | sg-singapore | au-sydney | vn-hanoi
viewport_widthintegerNoBrowser viewport width in px. Free: 390, 768, 1280. Shotbot Pro: any custom width 280-3840 (CSS / responsive testing). Default: 1280.
autoplay_videosbooleanNoLaunch Chromium with --autoplay-policy=no-user-gesture-required so unmuted <video autoplay> elements start playing without a user gesture. Useful for pages with hero videos. Pro only.
callback_secretstringNoShared secret echoed in callback payload for verification.
dismiss_cookiesenumNoHandle cookie banners automatically. Pro only. | accept | reject
omit_backgroundbooleanNoRender with a transparent viewport backdrop (Chromium omitBackground). Visible on PNG/WebP/AVIF; JPG flattens to black. No effect on PDF. Pro only.
scroll_offset_pxintegerNoScroll down this many px (0-30000) before capturing, so the frame starts lower. Mutually exclusive with scroll_to. No-op for fullpage/PDF/selector. Pro only.
emulate_print_mediabooleanNoApply the page's print stylesheet (page.emulateMediaType("print")) before capture. Useful for capturing print layouts as an image. No additional effect on PDF (already in print mode). Pro only.
scroll_before_capturebooleanNoScroll through the full page before capturing so lazy-loaded content (images, infinite scroll, content below the fold) is rendered. Recommended with fullpage=true. Pro only.
prefers_reduced_motionbooleanNoEmulate the prefers-reduced-motion: reduce CSS media feature. Well-built sites use it to skip or shorten animations (framer-motion, GSAP, AOS, IntersectionObserver reveals), so captures show the settled state instead of mid-animation frames. Free tier.

Details

The maintainer has not added details yet. Check the README in the repository.

Comments

Markdown supported

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.