
DonSeTch MCP Server: Web Fetch, Search and Crawl for AI Agents
Lets your assistant read web pages, search the web, crawl a site and take screenshots, all from a program on your own computer.
DonSeTch is a single local program that turns web pages and PDFs into short Markdown for your assistant. Search needs no API key or account. It tries plain requests first and opens a headless browser only when a site blocks them. Because it runs from your own IP address, heavy search use can get rate-limited, and the README suggests a proxy for that.
Good for
- Developers who want Claude Code, Cursor or OpenCode to read docs and search the web without a paid search API
- Researchers who need long pages and PDFs cut down to the relevant sections
- Anyone who wants web access kept on their own machine
Works in
12 should work
Tap an app to see how to set it up and any known problems.
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.
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 donsetch MCP
Claude Code
- 1
Copy this prompt.
Add the donsetch MCP server to Claude Code. Run this command: claude mcp add donsetch -- npx -y donsetch 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 Node.js.
The README starts the server with donsetch mcp --supervised after a global install, or npx donsetch mcp without one. This config is the npx form with -y added, so it is generated. The first run downloads the program from GitHub Releases.
Built from the package data we hold. Not yet tested by us. Source.
Tools
Reads a web page or PDF and returns clean Markdown
Reads one URL, or up to 12 at once, and returns the page as Markdown. It can pull out only the part you ask about, check whether a page mentions something, or show what changed since last time. If a site blocks plain requests it switches to a headless browser, and it can click and type on a page when you pass steps. Scanned PDFs are read with OCR.
Try: “Fetch https://docs.python.org/3/library/asyncio.html and show me only the section on task groups.”
Network ·
web_fetchSearches the web with no API key and returns ranked links
Searches many engines at once and ranks the results on your machine. You get links, titles and short snippets, not full pages. It can aim at GitHub, Wikipedia, Hacker News, Scholar or news, and it uses a search provider you added a key for if you set one up.
Try: “Search for Rust async runtime benchmarks from this year and give me the top five links.”
Network ·
web_searchWalks a site from a starting page and collects its pages
Starts at one page and follows links on the same site, optionally ranking pages by a topic you give. It can return just a list of URLs or the page contents. Big crawls stop at limits you set and give you a token to resume. It respects robots.txt by default.
Try: “Crawl docs.python.org for pages about asyncio, up to 20 pages.”
Network ·
web_crawlTakes a picture of a page in a real browser
Opens the page in a headless browser and gives back a PNG image. The program also saves the same image in a screenshots folder in its cache on your machine. Local and private addresses are blocked like in fetch.
Try: “Take a full-page screenshot of https://example.com/pricing.”
Write ·
web_screenshot
Read from the source code
Permissions
medium risk · 6 things to watch · 3 advisories
Medium risk
It reads any web page you point it at, can click and type on pages through a headless browser, and saves screenshots to your computer. It does not change your files or accounts, but avoid logged-in pages you would not act on yourself.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can click and type on web pages
web_fetch can run page steps such as click, type and press before reading. Avoid pointing it at logged-in or account pages you would not act on yourself. github.com
Install downloads a program from GitHub
The npm package fetches a prebuilt binary from GitHub Releases when you install it. The README says the download is checked with SHA256. github.com
web_screenshot saves images on your computer
Each capture is also written to a screenshots folder in the program's cache. Full-page captures can be several MB. github.com
It works around bot walls and skips robots.txt on fetch
It tries to look like Chrome and escalates to a browser when blocked. Fetch does not check robots.txt (crawl does), so follow each site's terms yourself. github.com
It remembers pages it has read
The README says fetches are fingerprinted and cookies persist, so later reads can report changes. Clear its cache if you fetched pages you want forgotten. github.com
Optional unlocker sends URLs to Bright Data
If you add an unlocker key, blocked fetches go through Bright Data's paid Web Unlocker. Without a key nothing is sent there. github.com
Security advisories
3 known advisories, all fixed in a newer version.
- HTTP tier trusts certificates issued through the compromised eMudhra intermediate CAshigh · Fixed in 4.10.2 · GHSA-p888-m9cw-2x7p
- Opt-in HTTP/3 lane performs no TLS certificate or hostname verificationhigh · Fixed in 4.10.2 · GHSA-h25m-wq9j-hq58
- URL handles are accessible outside session/projectlow · Fixed in 3.2.0 · GHSA-g279-2v66-j8g2
Technical details
| Talks to | Any website you ask it to fetch, search or crawl. Search engines (keyless search runs from your IP). Search or unlocker providers you add a key for (Tavily, Exa, Serper, Bright Data and others). GitHub Releases, to download the program at install |
|---|---|
| Sign-in and keys | No sign-in. Optional provider keys are added with the donsetch keys command and stored by the program. |
Questions
Is DonSeTch official?
No. It is a community project by Bishesh Bhandari (dondai44423 on GitHub), not made by Anthropic, Cursor or any search provider. It is open source under the AGPL v3 license.
Does it need an API key?
No. Search and fetch work with no key or account. You can optionally add a key for a search provider such as Tavily, Exa or Serper, or a Bright Data unlocker key to get past captchas.
Which AI clients does it work with?
Any client that can start a local program over stdio. The README names Claude Code, Cursor, OpenCode, Pi and Hermes. Use the install box above for the exact steps.
Why does the install command end in mcp?
DonSeTch is also a command-line tool, so the mcp part tells it to run as a server for your assistant. The README adds a supervised option that restarts the server after a crash.
Can it get past captchas and bot walls?
Often for bot walls, no for interactive captchas. The README says hCaptcha, reCAPTCHA and Turnstile cannot be solved locally and need an optional Bright Data unlocker key.
Is it free?
Yes. The program is free and open source. Bright Data's unlocker and any search provider keys you add are paid services from those companies.
Why does search sometimes fail or slow down?
Keyless search sends requests to search engines from your IP address, so heavy use can be rate-limited. The README suggests setting a proxy list for heavy use.
How does it differ from other web-fetch servers?
It runs entirely on your machine with no account and has only four tools. The README compares itself to Firecrawl, Crawl4AI and Jina Reader. Those claims are the author's own.
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
donsetch- Registry
- npm
- Transport
- stdio, Streamable HTTP
- Auth
- None
- Version
- 4.10.3
- License
- AGPL-3.0
- Last commit
- Oct 31, 2026
- Open issues
- 2
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 3Hide
- github.com · github.com
- github.com · github.com
- github.com · github.com