
Scrapling MCP Server: Setup for Claude Code, Cursor and Other Apps
Lets Claude, Cursor and other assistants read web pages for you, from simple fetches to a stealth browser that clicks and fills in forms.
Scrapling's MCP server lets Claude, Cursor and other assistants read web pages for you, from simple fetches to a stealth browser that clicks, fills in forms and keeps you logged in. It is the Scrapling project's own server, and it runs on your computer with no account or API key. The project says the browser handles Cloudflare Turnstile, but an open report says the solver can claim success when nothing was solved. Tell the assistant whether to use plain requests or the browser, and close browser sessions when you finish, or they stay open.
Good for
- Anyone who wants Claude to read pages that block ordinary scrapers
- Developers who want to scrape from their own machine with no account or per-page fees
- Researchers who need a real browser session that stays logged in across several pages
- Privacy-minded teams who want pages fetched locally, not through a hosted service
- Cursor and Windsurf users who already run Python tools
Works in
4 supported · 8 should work
Tap an app to see how to set it up and any known problems.
Documented by Scrapling. Add it with claude mcp add and the full path, then restart Claude Code. scrapling.readthedocs.io
Documented by Scrapling. Add scrapling-mcp or the Docker command to your config file, then restart.
Known problems
- Fixed
Docker setup from the docs exited at once because the config used the wrong image name
Workaround: Use the full image name pyd4vinci/scrapling in the Docker command.
Reported May 2026 · GitHub
Documented by Scrapling. The Claude Desktop config works the same in Cursor.
Known problems
- Fixed
Server failed to start in Cursor on Python older than 3.12
Workaround: Upgrade Scrapling; the fix shipped in 0.4.2.
Reported Mar 2026 · GitHub
Documented by Scrapling. The Claude Desktop config works the same in Windsurf. scrapling.readthedocs.io
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install Scrapling MCP
Claude Code
- 1
Copy this prompt.
Add the Scrapling MCP server to Claude Code. Run this command: claude mcp add ScraplingServer "/Users/<MyUsername>/.venv/bin/scrapling-mcp" Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Python 3.10+, pip install "scrapling[ai]" then scrapling install.
Read-only mode: There is no read-only mode. Every tool can open any web address your computer can reach.
Pick Docker if you have it: the image already holds the browsers, so there is nothing else to install (about 650 MB to download). For the Python route, run pip install "scrapling[ai]" and then scrapling install to download the browsers, and point your app at the full path that which scrapling-mcp (macOS, Linux) or where scrapling-mcp (Windows) prints. The plain scrapling package without [ai] has no MCP server, and uvx scrapling only prints help. No account or API key is needed. Version 0.5 renamed several tools, so update saved prompts after upgrading. Replace the example path with the one which scrapling-mcp prints on your machine.
From the vendor's docs. Source.
Tools
Downloads a web page's text quickly, with no JavaScript, for simple sites
Downloads a page without opening a browser or running its JavaScript. Use it for plain sites that do not block scrapers. You can set the HTTP method, headers, cookies and a CSS selector to keep only part of the page.
Try: “Pull the plain text of the install page at docs.example.com/install.”
Network ·
make_requestOpens a page in a hidden browser, lets it load, and returns its content
Loads a page in a stealth browser, runs its JavaScript so the content appears, and returns what it finds. Built for sites that only show content after scripts run, and for some pages behind Cloudflare checks. This one-off call does not keep the browser open for later requests.
Try: “Read the job listings on this careers page, which only load with JavaScript.”
Runs code ·
browser_fetch_onceReads the page you have open in a browser as text, Markdown or HTML
Pulls the content of the page already open in a browser session, or one element on it, without reloading. Output can be text, Markdown, HTML or a snapshot listing the page's elements. A search pattern can find matching lines in the snapshot.
Try: “Copy the price table on the page I have open into Markdown.”
Read ·
browser_extractTakes a picture of the open page or one section of it that the assistant can view
Captures the open page as an image without reloading it. You can take the visible area, the full page, or a single element, as PNG or JPEG. Useful for checking filled form fields, open menus, charts or result cards.
Try: “Show me a screenshot of the checkout form with the filled fields visible.”
Read ·
browser_screenshotLoads one page in a browser you opened earlier, reusing that browser's settings
Loads a single URL in a browser session you already opened, running its JavaScript first. The options you set for this request apply only to this request. It can also return a snapshot of the page's controls and their positions.
Try: “Open the account page in my saved browser and tell me the plan name.”
Runs code ·
browser_fetchFetches one page without a browser, reusing the cookies of an open HTTP session
Sends a request through an HTTP session you opened earlier, so cookies, connections and the browser fingerprint carry over between requests. It runs no JavaScript. Options you set apply only to this one request.
Try: “Fetch the next results page with the same cookies I used on the first one.”
Network ·
session_make_requestRuns a list of steps in the open browser: clicks, typing, key presses and waits
Runs a list of steps in order inside the open browser, such as clicks, filling fields, pressing keys, waiting, and answering alerts or prompts. It stops at the first error and names the step that failed. Steps that ran before the error are not undone.
Try: “Search for 'invoice' on the site, press Enter, and open the first result.”
Runs code ·
browser_actionsRuns your own JavaScript on the open page and returns the result as JSON
Runs a JavaScript snippet on the page currently open in a browser, waits for any promises, and returns the result as JSON. Useful for counting elements, reading page state, or collecting values from many elements at once. Script effects are not undone if the script fails.
Try: “Count how many product cards are on this page and list their titles.”
Runs code ·
browser_evaluateLists the background requests a page made, to find the data calls behind it
Lists requests the browser completed since the session opened, across tabs and page loads. Use it to find the API calls behind a page's data or to spot HTTP errors. Static files such as images are hidden unless you ask for them, and long lists are paged.
Try: “Show the API calls this dashboard page makes when it loads.”
Read ·
browser_network_requestsShows the headers, body or details of one recorded request from that list
Reads one request from the recorded list and returns the part you choose: summary, headers, sent data or the text response body. It does not send the request again. Very large or non-text bodies come back with a note saying why they are missing.
Try: “Show the response body of the third API call on this page.”
Read ·
browser_network_requestOpens a browser window that stays open for several page loads
Starts a stealth browser that stays open across several page loads, so you do not launch a new browser each time. The browser-level settings are set here, and each page is requested separately.
Try: “Open a browser I can reuse for several pages on this site.”
Runs code ·
browser_openOpens a reusable HTTP connection that keeps cookies between page requests
Starts a plain HTTP session with no browser. It keeps cookies, connections and the chosen browser fingerprint across requests sent through it.
Try: “Start an HTTP session that keeps my cookies while I fetch several pages.”
open_request_sessionSaves the browser's logins and cookies to a file so you can reuse them later
Writes the open browser's cookies, local storage and IndexedDB to a JSON file, so a login can be restored later. Session storage is not included. If the file already exists, it is replaced.
Try: “Save my logged-in browser state to a file so I can reuse it tomorrow.”
Files ·
browser_save_stateLoads a saved login file into an open browser so it can use that login
Reads a saved state file into an open browser session, replacing its current cookies and storage. Open tabs stay as they are. Reload or fetch the page afterward to use the restored login.
Try: “Load my saved login file into the open browser before I fetch the dashboard.”
Files ·
browser_load_stateUsed by the assistant behind the scenes
Closes a browser or HTTP session you no longer need and frees its resources
Closes a browser or HTTP session that is still open and releases the resources it holds.
Try: “Close the browser session I opened for this scrape.”
close_sessionLists the sessions currently open and the settings each one uses
Shows every open browser or HTTP session with its status and effective settings. The assistant uses it to check which sessions exist before it fetches or closes one.
Try: “Which browser sessions are still open, and what settings do they use?”
list_sessions
From the official docs
Pros and cons
Good
- Made by the Scrapling project itself, open source under BSD-3-Clause.
- Runs on your machine with no account, API key or per-page fees.
- Fast plain requests that imitate a real browser, plus a stealth browser for harder sites.
- Browser sessions can click, fill forms, take screenshots and keep login state.
- Can attach to a remote browser, and blocks about 3,500 ad and tracker domains to save tokens.
- Works in Claude Desktop, Claude Code, Cursor and Windsurf.
Watch out
- No read-only mode.
- Needs Python 3.10 or newer and a browser download, or a large Docker image.
- Tool names changed twice in mid-2026, which broke saved prompts.
- Dependency updates crashed startup twice until patched.
- The Cloudflare solver is a vendor claim, and an open report says it can claim success falsely.
- Results can use a lot of context.
Permissions
medium risk · 7 things to watch
Medium risk
The assistant can fetch any address your machine can reach and drive a real browser that clicks, types and runs scripts. Run it only where that reach is fine, and keep sensitive local files and saved login files out of the browser's way.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
Reaches any URL your machine can reach
Fetch tools take any URL, including local network addresses. Redirects to private IPs are blocked by default, direct requests are not. github.com
The browser can click, fill forms and run JavaScript
Browser tools act on live pages, so a page you open can have effects. Only point it at sites you trust with your logins. github.com
Reported: file:// links can read local files
An open pull request says the fetchers return local files for file:// addresses. The maintainer has not responded yet, so keep sensitive files out of reach. github.com
Network mode lets anyone with the token use it
In network mode every client shares one token, and it travels unencrypted without TLS. Keep it on localhost or put TLS in front. scrapling.readthedocs.io
Reported: stealth browser accepts invalid certificates
An open discussion says the stealth browser ignores HTTPS certificate errors by default. The plain HTTP tools do check them. github.com
Writes login state files to disk
Saving browser state writes cookies and storage to a path on your machine and overwrites an existing file. Treat those files like passwords. github.com
Hidden page content is stripped by default
Hidden elements, comments and zero-width characters are removed from scraped text to reduce prompt injection. Turning off main-content mode keeps them. scrapling.readthedocs.io
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | No read-only mode is documented. Browser tools can click, fill and submit forms and run JavaScript on pages, and state tools write files on your machine. |
|---|---|
| Talks to | Any website you ask it to open |
| Sign-in and keys | No account or API key. Saved login state (cookies and storage) is written to a file path on your machine. |
Alternatives
Use Scrapling when you want a free stealth browser on your own machine. Pick Playwright for plain browser automation, Firecrawl for hosted page-to-text and crawling, Apify for ready-made scrapers for specific sites, and Bright Data for hard sites with managed proxies.
| Server | Official | Runs | Sign-in | GitHub stars | Weekly downloads |
|---|---|---|---|---|---|
| Scrapling MCP ServerThis page | Official | Local | No sign-in | 90.6K | – |
| Playwright MCP | Official | Local | No sign-in | 38.9K | – |
| Firecrawl MCP Server | Official | HostedLocal | Account or key | – | 190.7K/wk |
| Apify MCP Server | Official | Hosted | Account | 14K | 30.5K/wk |
| brightdata-mcp | Official | – | Account | 2.7K | – |
What people say
People like how reliably it renders real pages and dislike the renamed tools, startup crashes after updates and the unproven Cloudflare claims.
What people like
- Users say it covers almost every fetch need in a research setup.
- It gives the model a stealthed, controllable browser.
- It renders content reliably, so people pick it for slow research crawling.
- A Claude Code user on Windows got every tool working against a test site.
Common complaints
- Results can be heavy on context.
- Tool names changed in two releases and broke saved prompts.
- Dependency updates crashed the server at startup twice in mid-2026.
- The Cloudflare solver can report success on pages where nothing was solved.
In their words
“I also added scrapling for fetch which covers pretty much everything but sometimes is a bit context heavy.”nijaveHacker NewsAug 2026
“Stealthed, controllable browser gives you an API to arbitrary web things”nijaveHacker NewsMay 2026
“I've ultimately landed on Scrapling's API for seamless content rendering”nzeidBlogJul 2026
“MCP servers are read at session startup, so right after saving the config the `scrapling` tools simply weren't there, which looks exactly like a broken registration.”C. Wheatley
Questions
Is Scrapling free?
Yes. Scrapling and its MCP server are open source under BSD-3-Clause and run on your machine with no account or API key. Proxies or CAPTCHA services you add yourself cost extra.
Does Scrapling bypass Cloudflare?
The project says its stealth browser handles Cloudflare Turnstile and Interstitial challenges, and the docs suggest telling Claude when a site uses Turnstile. That is the vendor's claim. An open issue says the solver can report success on pages with a permanent Turnstile widget even when nothing was solved.
Scrapling vs Firecrawl: which should I use?
Scrapling runs on your machine for free and gives you a stealth browser you control. Firecrawl is a hosted service with search and site crawling that needs no browser install, but it bills credits and sends your pages through its cloud.
How do I use Scrapling with Claude?
Follow the Claude Desktop or Claude Code tab in the install box above, then restart the app so it loads the new tools. Tell Claude whether to use plain requests or the browser for more consistent results.
Is Scrapling safe to use?
Mostly, if you know what it can reach. It can fetch any address your machine can reach, click and type in a real browser, and write login files to disk, and it has no read-only mode. Two reports about local file reads and invalid HTTPS certificates are still open.
Is scraping with Scrapling legal?
The docs do not give legal advice. They tell you to check robots.txt, respect rate limits, follow each site's terms, copyright and privacy law, and get permission for commercial use.
Is there a Scrapling skill for Claude Code?
Yes. The project ships a skill, scrapling-official, that teaches coding agents the Scrapling library. Install it with npx skills add D4Vinci/Scrapling --skill scrapling-official. It is separate from the MCP server.
Why did my Scrapling tools stop working after an update?
Version 0.5 renamed and removed tools: fetch and stealthy_fetch became browser_fetch_once, open_session became browser_open, and the bulk tools are gone. Update your saved prompts and tool allowlists, then restart your client.
Can Scrapling run as a remote MCP server?
Yes, in network mode. It listens on 127.0.0.1:8000 by default and requires a bearer token unless you turn that check off. Use TLS in front, because the token is sent unencrypted otherwise.
Can I run it in Docker?
Yes. The project publishes images on Docker Hub and GitHub Container Registry that include all extras and browsers. The latest image is about 650 MB compressed.
Examples
Get a page as clean Markdown over plain HTTP
Use regular requests to scrape the main content from https://example.com and convert it to markdown format.
SourcePull specific elements with a CSS selector
Get all product titles from https://shop.example.com using the CSS selector '.product-title'. If the request fails, retry up to 5 times every 10 seconds.
SourceRead a price from a Cloudflare-protected shop
What's the price of this product? Be cautious, as it utilizes Cloudflare's Turnstile protection. Make the browser visible while you work.
SourceScrape several pages through one browser session
Open a stealthy browser session, then use it to scrape the main details from the first 5 product pages on https://shop.example.com. Close the session when you're done.
Source
Information
updated Nov 2, 2026
- Publisher
- Official
- Package
scrapling- Registry
- PyPI
- Transport
- stdio
- Auth
- None
- Version
- 0.5
- License
- BSD-3-Clause
- Last commit
- Oct 29, 2026
- Open issues
- 4
- Listed in
- Official MCP registry
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 22Hide
- scrapling.readthedocs.io · scrapling.readthedocs.io
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- scrapling.readthedocs.io · scrapling.readthedocs.io
- scrapling.readthedocs.io · scrapling.readthedocs.io
- hub.docker.com · hub.docker.com
- github.com · github.com
- github.com · github.com
- news.ycombinator.com · news.ycombinator.com
- news.ycombinator.com · news.ycombinator.com
- news.ycombinator.com · news.ycombinator.com
- dev.to · dev.to
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com