@@ -4,12 +4,13 @@ WebSkrap ships a [Model Context Protocol](https://modelcontextprotocol.io)
44server. MCP clients such as Claude Desktop, Claude Code, and Codex can call it to
55drive a real browser directly. It runs over stdio and exposes three tools.
66
7- ** Built for LLMs.** ` fetch ` and ` stealth_fetch ` return clean visible page text
8- by default — no HTML tags, scripts, or CSS noise — so the model spends tokens on
9- content, not markup (typically 5-10x fewer tokens than raw HTML). ` stealth_fetch `
10- gives agents the same CDP-leak-free Patchright path the CLI uses, so anti-bot
11- pages that block naive scrapers still load. Pass ` text_only=false ` when you
12- actually need the HTML.
7+ ** Built for LLMs.** Both ` fetch ` and ` stealth_fetch ` run the same CDP-leak-free
8+ Patchright stealth path the CLI uses (headless Chrome, ` networkidle ` wait), so
9+ JS-heavy and anti-bot pages that block naive scrapers still load. They return
10+ clean visible page text by default — no HTML tags, scripts, or CSS noise — so
11+ the model spends tokens on content, not markup (typically 5-10x fewer tokens
12+ than raw HTML). Use ` stealth_fetch ` for finer fingerprint/WebRTC/UA control.
13+ Pass ` text_only=false ` when you actually need the HTML.
1314
1415## Install
1516
@@ -34,8 +35,8 @@ python -m webskrap.mcp_server
3435
3536| Tool | Purpose |
3637| --- | --- |
37- | ` fetch ` | Fetch a URL with a standard Playwright browser . |
38- | ` stealth_fetch ` | Fetch a URL with the Patchright stealth driver . |
38+ | ` fetch ` | Fetch a URL with the Patchright stealth driver (waits for ` networkidle ` ) . |
39+ | ` stealth_fetch ` | Same stealth driver with finer fingerprint/WebRTC/UA controls . |
3940| ` doctor ` | Check that Playwright and Chromium can launch. |
4041
4142Both fetch tools return ` status ` , ` final_url ` , ` title ` , ` ok ` , ` headers ` , and the
@@ -51,9 +52,10 @@ text; set `text_only` to `false` to get raw HTML.
5152| --- | --- | --- |
5253| ` url ` | required | URL to load. |
5354| ` profile ` | ` desktop-chrome ` | Bundled profile name. |
54- | ` wait_until ` | ` domcontentloaded ` | ` commit ` , ` domcontentloaded ` , ` load ` , or ` networkidle ` . |
55+ | ` channel ` | ` chrome ` | Browser channel; use ` chromium ` on Linux ARM64. |
56+ | ` wait_until ` | ` networkidle ` | ` commit ` , ` domcontentloaded ` , ` load ` , or ` networkidle ` . |
5557| ` resource_policy ` | ` all ` | ` all ` , ` lite ` , or ` documents ` . |
56- | ` timeout_ms ` | ` 30000 ` | Navigation timeout. |
58+ | ` timeout_ms ` | ` 60000 ` | Navigation timeout. |
5759| ` max_chars ` | ` 20000 ` | Maximum returned text characters. |
5860| ` text_only ` | ` true ` | Return clean visible text; set ` false ` for raw HTML. |
5961
0 commit comments