Render URLs, raw HTML, or Markdown to images or PDFs with geo-targeting, async webhooks, and batch processing.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We ran the install command below but it didn't respond within our test window โ this can mean a slow first-time install rather than a real problem.
npx -y @copperline/rendex-mcpNo response to initialize.
This is an experimental automated check and can have false negatives โ missing environment variables, a slow cold install, etc. It doesnโt necessarily mean somethingโs wrong. Last checked 5d ago.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Rendex MCP.
watch_createCreate a watch (active โ captures its baseline now)
watch_testDry-run a config first (creates nothing)
watch_listList your watches
watch_getFetch one watch (+ baseline URL)
watch_runRun a check now (1 credit)
watch_runsRun history with signed before/after/overlay URLs
MCP server for Rendex โ render raw HTML, Markdown, or any URL to an image or PDF via AI agents using the Model Context Protocol.
Add to your MCP client config:
Where to add this:
| Client | Config location |
|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) |
| Cursor | .cursor/mcp.json in project root, or Settings > MCP |
| Windsurf | Settings > MCP Servers |
Add a .mcp.json to your project root with the same config above. Then restart Claude Code.
Important: Add
.mcp.jsonto your.gitignoreโ it contains your API key.
Connect to the hosted server at https://mcp.rendex.dev/mcp โ no install needed.
It's fronted by OAuth 2.1 (authorization-code + PKCE S256), so OAuth-capable
clients (ChatGPT, Claude, Cursor, the MCP Inspector) connect with no API key โ
you sign in with a one-time email code and each caller bills against their own
Rendex plan and credit pool.
Clients that prefer a static key can still pass one directly:
rendex_screenshotRender any webpage, raw HTML, or Markdown to an image or PDF.
Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | required* | Webpage URL to capture. Mutually exclusive with html and markdown. |
html | string | โ | Raw HTML to render. Mutually exclusive with url and markdown. |
markdown | string | โ | Markdown to render (server converts to HTML). Mutually exclusive with url and html. |
data | object | โ | Key-value data for Mustache templating. When set, the html or markdown string is rendered as a logic-less Mustache template before capture. Invalid with url. |
format | "png" | "jpeg" | "webp" | "pdf" | "png" | Output format |
fullPage | boolean | false | Capture full scrollable page |
darkMode | boolean | false | Emulate dark color scheme |
width | number | 1280 | Viewport width (320-3840) |
height | number | 800 | Viewport height (240-2160) |
resizeWidth | number | โ | Downscale output to this width in px (aspect ratio preserved if resizeHeight omitted). Ignored for PDF |
resizeHeight | number | โ | Downscale output to this height in px (aspect ratio preserved if resizeWidth omitted). Ignored for PDF |
quality | number | 80 | Image quality 1-100 (JPEG/WebP only, default 80) |
delay | number | 0 | Wait ms before capture |
blockAds | boolean | true | Block ads and trackers |
blockCookieBanners | boolean | โ | Hide common cookie/consent banners (GDPR/CCPA) before capture |
blockResourceTypes | string[] | โ | Block resource types: font, image, media, stylesheet, other |
device | string | โ | Device preset: desktop, iphone_15, iphone_se, pixel_8, ipad, ipad_pro โ sets viewport, scale, and user agent in one shot. Overrides width/height/deviceScaleFactor/userAgent |
deviceScaleFactor | number | 2 | Device pixel ratio (1-3). 2ร Retina by default |
timeout | number | 30 | Max seconds to wait for page load (5-60) |
waitUntil | string | "networkidle2" | Page readiness: load, domcontentloaded, networkidle0, networkidle2 |
waitForSelector | string | โ | CSS selector to wait for before capture |
bestAttempt | boolean | true | Return partial render on timeout instead of failing |
selector | string | โ | CSS selector of element to capture instead of full page |
hideSelectors | string[] | โ | CSS selectors to hide (display:none) before capture, e.g. ['.modal', '#newsletter-popup']. Max 50 |
css | string | โ | Custom CSS to inject before capture (max 50KB) |
js | string | โ | Custom JavaScript to execute before capture (max 50KB) |
cookies | array | โ | Cookies to set for authenticated captures (max 50) |
headers | object | โ | Custom HTTP headers for the page request |
userAgent | string | โ | Override browser user agent string |
pdfFormat | string | โ | PDF page size: A4, Letter, Legal, Tabloid, A3 |
pdfLandscape | boolean | โ | PDF landscape orientation |
pdfPrintBackground | boolean | true | Print background in PDF |
pdfScale | number | 1 | PDF scale factor (0.1-2) |
pdfMargin | object | โ | PDF margins: {top, right, bottom, left} as CSS values |
geo | string | โ | ISO country code for geo-targeted capture (Pro/Enterprise) |
geoCity | string | โ | City for geo-targeting (requires geo) |
geoState | string | โ | State for geo-targeting (requires geo) |
async | boolean | โ | Process asynchronously (returns job ID) |
webhookUrl | string | โ | URL to receive callback when async capture completes (Starter+; Free/Basic poll job status) |
cacheTtl | number | โ | Seconds to cache result (3600-2592000) |
rendex_extractExtract clean reader-mode content from any webpage as Markdown, JSON, or HTML. Runs the same Chromium render pass as a screenshot, so it captures content after JavaScript runs โ handling SPAs that fetch-only readers miss. Strips nav, ads, and boilerplate, returning the article body plus title, byline, and excerpt. Great for feeding page content to an LLM, summarization, or RAG ingestion.
Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | required | Webpage URL to extract readable content from |
extractFormat | "markdown" | "json" | "html" | "markdown" | Output shape โ markdown (LLM-friendly prose), json (structured: title/byline/excerpt/siteName/length), or html (cleaned reader-mode HTML) |
device | string | โ | Device preset (desktop, iphone_15, iphone_se, pixel_8, ipad, ipad_pro) โ extract the mobile/tablet version of a page |
blockAds | boolean | true | Block ads and trackers before extraction |
blockCookieBanners | boolean | โ | Hide common cookie/consent walls before extraction |
hideSelectors | string[] | โ | CSS selectors to hide before extraction, e.g. ['.modal', '#newsletter-popup']. Max 50 |
waitUntil | string | "networkidle2" | Page readiness: load, domcontentloaded, networkidle0, networkidle2 |
timeout | number | 30 | Max seconds to wait for page load (5-60) |
rendex_render_linkRender a URL, raw HTML, or Markdown and get back a signed, hosted, edge-cached image URL instead of the bytes โ ideal for dynamic OG images. Drop the URL into <meta property="og:image"> or an <img> tag and Rendex serves a cached copy on every share. Takes the same parameters as rendex_screenshot, plus an optional expiresIn. Returns { url, expiresAt, format, cacheTtl }.
| Parameter | Type | Default | Description |
|---|---|---|---|
(all rendex_screenshot params) | โ | โ | Same source (url/html/markdown), format, sizing, and templating options |
expiresIn | number | server TTL | Seconds until the signed URL expires (60โ2592000) |
render_artifactTurn Markdown or HTML into a branded, downloadable artifact โ a PDF, a PNG, and a hosted share page โ in one call. Ideal for agent outputs: reports, invoices, summaries, release notes, dashboards. Apply a logo, accent color, font, header, and footer; choose PDF page size/orientation/margins. Returns hosted URLs { pdfUrl, pngUrl, shareUrl, expiresAt } โ no storage needed on your side. Each requested format costs 1 render credit.
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/copperline-labs-rendex-mcp)<a href="https://allmcps.com/mcp/copperline-labs-rendex-mcp"><img src="https://allmcps.com/api/badge/copperline-labs-rendex-mcp?style=directory" alt="Rendex MCP on AllMCPs" /></a>