Render-fetch
Drop-in upgrade to Claude's WebFetch that auto-detects JS-rendered pages and fetches them with Playwright headless browser
render-fetch
Drop-in upgrade to Claude Code's WebFetch — handles JS-rendered pages automatically.
Claude's built-in WebFetch doesn't execute JavaScript. Modern SPAs return empty skeletons. render-fetch auto-detects whether a page needs a real browser and routes accordingly — no config needed.
Installation
Add to your Claude Code settings (~/.claude/settings.json):
{
"mcpServers": {
"render-fetch": {
"command": "npx",
"args": ["-y", "render-fetch"]
}
}
}
First run installs Chromium (~150MB, one-time). Subsequent runs are instant.
How it works
URL in
│
├─ GET page (fast, reuses response)
│
├─ Score for JS-rendering signals
│ <div id="root/app/__next"> +3
│ thin body (<500 chars) +2
│ data-reactroot / ng-version +2
│ window.__REDUX_STATE__ +2
│ bundled JS patterns +1
│ .md / docs domain -3
│
├─ Score < 3 → Static path
│ HTTP → cheerio → Readability → markdown
│
└─ Score ≥ 3 → Browser path
Playwright headless → networkidle → Readability → markdown
Tools
| Tool | What it does | Key params | Returns |
|---|---|---|---|
fetch | Fetch page as markdown (auto-detects mode) | url, mode (auto/static/browser), maxLength (default 50k), timeout (default 30s) | Clean markdown |
fetch_raw | Fetch page as raw HTML | url, mode, timeout | Raw HTML string |
screenshot | Take a viewport screenshot | url, fullPage (default false), timeout | Base64 PNG (max 2MB) |
Why not always use the browser? Static path averages ~200ms. Browser path averages 2–3s plus Chromium launch overhead on first request.
Known limitations
- DNS rebinding: hostname validation happens before the request; a malicious server could theoretically redirect to a private IP after validation. Mitigation planned for v1.1.
- Local use only: not designed for multi-tenant server deployments. For that, put a rate-limiting reverse proxy in front.
- Chromium install: ~150MB one-time download on first browser-mode request.
Contributing
See CONTRIBUTING.md.
License
MIT © 2026 sub-techie09
관련 서버
Bright Data
스폰서Discover, extract, and interact with the web - one interface powering automated access across the public internet.
RedNote MCP
Access and interact with content from Xiaohongshu (RedNote).
Playwright Server
Automate web browsers and perform web scraping tasks using the Playwright framework.
Playwright MCP Server
An MCP server using Playwright for browser automation and webscrapping
DidItChange
MCP-native website monitoring with AI-powered change summaries and natural conversation control.
Postman API V3
MCP server for Postman API v3
WebDriverIO
Automate web browsers using WebDriverIO. Supports actions like clicking, filling forms, and taking screenshots.
TradingView Chart Image Scraper
Fetches TradingView chart images for a given ticker and interval.
302AI BrowserUse
An AI-powered browser automation server for natural language control and web research.
MyBrowserAPI
A browser API for interacting with web services like X, Reddit, ChatGPT, and WhatsApp using Puppeteer.
Automatic MCP Discovery
AI powered automation toolkit which acts as an agent that discovers MCP servers for you. Point it at GitHub/npm/configure your own discovery, let GPT or Claude analyze the API or MCP or any tool, get ready-to-ship plugin configs. Zero manual work.