Skip to main content
Glama

rendex_screenshot

Capture screenshots or PDFs from URLs, HTML, or Markdown. Supports full-page capture, custom viewports, dark mode, ad blocking, and CSS/JS injection.

Instructions

Capture a screenshot or PDF of any webpage, raw HTML, or Markdown. Supports full-page capture, dark mode, ad blocking, custom viewports, CSS/JS injection, cookie/header injection, PDF output, HTML and Markdown rendering, and progressive fallback for heavy sites. Returns partial renders on timeout by default (bestAttempt mode).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoThe webpage URL to capture. Mutually exclusive with 'html' and 'markdown'.
htmlNoRaw HTML to render and capture. Mutually exclusive with 'url' and 'markdown'. Great for invoices, social cards, email templates, OG images.
markdownNoMarkdown to render to an image or PDF. Mutually exclusive with 'url' and 'html'. The server converts it to HTML before rendering. Great for reports, release notes, README snapshots, documentation cards.
formatNoOutput format — png (lossless), jpeg (smaller), webp (smallest), or pdf (document). Use pdf for invoices, reports, archival.png
fullPageNoCapture the full scrollable page instead of just the viewport
darkModeNoEmulate dark color scheme (prefers-color-scheme: dark)
widthNoViewport width in pixels (320-3840)
heightNoViewport height in pixels (240-2160)
qualityNoImage quality 1-100 (JPEG/WebP only, ignored for PNG/PDF)
delayNoMilliseconds to wait after page load before capture (useful for JS-rendered content)
blockAdsNoBlock ads and trackers before capture
blockResourceTypesNoBlock specific resource types to speed up capture. E.g. ['font', 'image'] for text-only screenshots.
deviceScaleFactorNoDevice pixel ratio (1 = standard, 2 = retina). Defaults to 2× Retina.
deviceNoDevice preset that sets viewport, scale factor, and user agent in one shot. E.g. 'iphone_15' for a mobile screenshot. Overrides width/height/deviceScaleFactor/userAgent.
timeoutNoMaximum seconds to wait for page load (5-60). Cloudflare has a 60s hard cap.
waitUntilNoPage readiness event. networkidle2 (default) is best for most sites. Use domcontentloaded for speed, networkidle0 for completeness.networkidle2
waitForSelectorNoCSS selector to wait for before capture. Essential for SPAs (e.g. '.main-content', '#app-loaded')
bestAttemptNoIf true (default), capture whatever is rendered on timeout instead of failing. Set to false to get a hard error on timeout.
selectorNoCSS selector of a specific element to capture instead of the full page. Useful for OG images, component extraction (e.g. '#hero', '.pricing-card')
hideSelectorsNoCSS selectors to hide (display:none) before capture. E.g. ['.modal', '#newsletter-popup'] to remove overlays. Max 50 selectors.
blockCookieBannersNoHide common cookie/consent walls (GDPR/CCPA banners) before capture. A curated selector list, lighter than custom hideSelectors.
resizeWidthNoDownscale the captured image to this width in pixels (16-3840). Aspect ratio is preserved if resizeHeight is omitted. Ignored for PDF.
resizeHeightNoDownscale the captured image to this height in pixels (16-2160). Aspect ratio is preserved if resizeWidth is omitted. Ignored for PDF.
cssNoCustom CSS to inject into the page before capture. Hide cookie banners, add watermarks, override styles. Max 50KB.
jsNoCustom JavaScript to execute in the page before capture. Runs in the browser sandbox. Max 50KB.
cookiesNoCookies to set before capture. Useful for authenticated pages. Max 50 cookies.
headersNoCustom HTTP headers to send with the page request. Cannot override Host, Connection, Content-Length, or Transfer-Encoding.
userAgentNoOverride the browser user agent string.
pdfFormatNoPDF page size. Only used when format='pdf'. Default: A4
pdfLandscapeNoPDF landscape orientation. Only used when format='pdf'.
pdfPrintBackgroundNoPrint background colors/images in PDF. Default: true
pdfScaleNoPDF scale factor (0.1-2). Default: 1
pdfMarginNoPDF page margins. Only used when format='pdf'. Accepts CSS values.
asyncNoProcess capture asynchronously. Returns a jobId immediately instead of waiting. Poll GET /v1/jobs/:jobId for status, or use webhookUrl for push notification.
webhookUrlNoURL to receive a POST callback when async capture completes. Payload is HMAC-SHA256 signed. Requires async=true.
cacheTtlNoSeconds to cache the result in R2 storage (3600-2592000). Returns a signed URL for retrieval. Requires async=true.
dataNoKey-value data object for Mustache templating. When provided, the 'html' or 'markdown' string is rendered as a logic-less Mustache template before capture — {{var}} inserts HTML-escaped, {{{var}}} inserts raw, {{#items}}...{{/items}} iterates arrays, {{a.b}} accesses nested fields. Not valid with 'url'. Max 256KB serialized.
geoNoISO 3166-1 alpha-2 country code for geo-targeted capture (e.g., 'US', 'DE', 'JP'). Renders the page as seen from that country. Pro/Enterprise only. Note: CSS/JS injection, cookies, element capture, dark mode, and some other features are not available with geo-targeting.
geoCityNoCity for more precise geo-targeting (e.g., 'Berlin', 'New York'). Requires 'geo'.
geoStateNoState or region for more precise geo-targeting (e.g., 'California'). Requires 'geo'.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully carries the burden of disclosing behavioral traits. It mentions key behaviors like full-page capture, dark mode, ad blocking, bestAttempt (partial renders on timeout), async processing, and geo limitations. While it could detail error handling or authentication, the disclosure is comprehensive for a screenshot tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense paragraph that lists features. It is not overly long but lacks a structured format (e.g., bullet points or clear sections). The first sentence captures the essence, but the rest reads as a feature dump. It is adequate but not optimally concise or front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high parameter count (40), no output schema, and no annotations, the description covers the tool's scope well. It explains key behaviors like bestAttempt, async, and geo restrictions. However, it omits the exact return format (e.g., image data or signed URL) and may leave some details about parameter interactions implied. Still, it is fairly complete for a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, providing a baseline of 3. The description adds value beyond the schema by summarizing high-level capabilities, noting mutual exclusivity among 'url', 'html', and 'markdown', and giving usage examples (e.g., 'Great for invoices, social cards'). This enriches the semantic understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool captures screenshots or PDFs of webpages, raw HTML, or Markdown, listing many features. It uses a specific verb ('Capture') and resource, making the purpose unambiguous. Although it doesn't explicitly contrast with the sibling 'rendex_extract', the capabilities are distinct enough to differentiate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the sibling 'rendex_extract'. It lacks explicit when-to-use or when-not-to-use advice, and no alternatives are mentioned. The context is clear for the tool itself, but the absence of comparative guidance reduces the score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/copperline-labs/rendex-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server